adblock check

Как установить и настроить Ubuntu на нескольких LVM-разделах

Более продвинутый способ установки лишь немного дольше и сложнее обычного, но упрощает управление системой в будущем

Не так давно я решил попробовать Ubuntu в качестве основной ОС для работы и повседневных задач — до этого я использовал её лишь для каких-то конкретных целей. Поэтому был куплен отдельный SSD и принято решение сделать всё грамотно. По крайней мере, с использованием отдельных разделов под саму систему и данные.

Подавляющая часть той информации, что я нашёл, была устаревшей и неполной — где-то были лишние действия, где-то, наоборот, упущены важные детали. Отсутствие нормальных статей на эту тему подтолкнуло меня на написание собственного актуального материала.

Установка Ubuntu на отдельные LVM-разделы

Процесс установки актуален для Ubuntu 20.04 LTS и более свежей Ubuntu 20.10. Я использовал отдельный чистый накопитель, поэтому в инструкции подразумеваю, что ОС не будет ставиться на диск рядом с Windows — в этом случае свои нюансы. Все хранилища с другими системами и данными отключил заранее. Сделать это можно через BIOS или физически, отключив SATA-кабели.

Первым делом необходимо создать загрузочную USB-флешку с системой. Под рукой должен быть флеш-накопитель объёмом не менее 4 ГБ. Скачиваем с официального сайта Ubuntu и отдельно загружаем утилиту balenaEtcher, умеющую ставить образы на флешки. В balenaEtcher выбираем ISO-файл с системой, указываем подключенный USB-накопитель и нажимаем Flash.

Как установить и настроить Ubuntu на нескольких LVM-разделах

Перезагружаем компьютер, на который будем устанавливать Ubuntu, предварительно отключив все неиспользуемые диски. Заходим в BIOS, обычно при загрузке отображается клавиша, которая открывает его — у меня это Del. В разделе Boot находим выбор режимов загрузки и ставим только UEFI. Снова перезагружаемся и уже другой клавишей открываем меню, где выбираем девайс, с которого будем загружаться. Для Ubuntu 20.04 LTS он называется UEFI: 8.07. При экспериментах с Ubuntu 20.10 был доступен только вариант UEFI: 8.07. Partition 2, при его выборе сначала появлялось предупреждение «Error: file /boot/ not found!», но через несколько секунд исчезало и открывался загрузчик Grub.

Как установить и настроить Ubuntu на нескольких LVM-разделах

Как только система загрузится, нажимаем Try Ubuntu. Перед установкой надо создать разметку диска и LVM-разделы.

Открываем меню приложений (иконка в левом нижнем углу) и запускаем программу GParted. Справа вверху отображается выбранный накопитель и его объём. Убедитесь, что операции проводятся над нужным диском. Во вкладке Device нажимаем Create new partition table, в появившемся окне выбираем тип разметки gpt и нажимаем OK. Имейте ввиду, на этом этапе стираются все данные с диска.

Как только диск размечен, появляется единая область с надписью unallocated. Теперь надо создать отдельный раздел под загрузчик и ядро системы. Во вкладке Partition нажимаем New, указываем в поле New size желаемый размер раздела. Минимальное требование — 250 МБ, я рекомендую ставить 512 МБ, чего достаточно для хранения тем для Grub, а также нескольких ядер. В поле File system указываем fat32, в Partition name пишем boot, нажимаем Add. Применим изменения, нажав зелёную галочку. Создадим ещё один раздел для всего остального по такому же принципу, только отведём ему всё оставшееся место на диске и в поле File system выберем unformatted. Так же примем изменения.

Как установить и настроить Ubuntu на нескольких LVM-разделах

Создаём LVM-разделы. Откроем терминал сочетанием клавиш Ctrl+Alt+T. Введём команду для создания одного физического раздела, где /dev/sda2 — созданный раздел без файловой системы:

sudo pvcreate /dev/sda2

Создаём виртуальную группу томов:

sudo vgcreate local /dev/sda2

Создадим виртуальные разделы, в которые будем монтировать отдельные каталоги. Вы можете создать столько томов, сколько понадобится, даже под каждый каталог, я же приведу пример с разделением корневой директории, подкаталога /home с пользовательскими данными и /swap для подкачки ОЗУ. Это базовый вариант для большинства юзеров.

В командах ниже после -L подставьте желаемый размер раздела в гигабайтах, после -n — имя. Так как используем LVM, не составит труда расширить раздел в будущем, поэтому необязательно выделять максимум на этапе настройки. Для root-каталога рекомендую выделить не менее 10 ГБ, оптимальным будет объём в 20 ГБ. Размер swap зависит от количества установленной ОЗУ, советую ориентироваться на таблицу 9.2 в документации к Red Hat. Под /home отводим столько места, сколько считаем нужным. Если не планируется добавлять другие разделы, можно отвести домашнему каталогу всё оставшееся на диске место.

sudo lvcreate -L 20G -n root local
sudo lvcreate -L 8G -n swap local
sudo lvcreate -L 190G -n home local

На новых разделах создадим файловые системы:

sudo mkfs.ext4 /dev/local/root
sudo mkfs.ext4 /dev/local/home
sudo mkswap -f /dev/local/swap

Отключим резервирование места для системных файлов в домашнем разделе:

sudo tune2fs -r 0 /dev/local/home

Все необходимые разделы созданы, теперь переходим к установке самой системы. Закроем терминал и кликнем по ярлыку «Install Ubuntu» на рабочем столе. Откроется установщик — выбираем язык и раскладку. Поставьте все необходимые флаги установки: отметьте «Обычная установка» и два параметра ниже, если сразу хотите получить полноценный набор базового ПО и драйверов без «допиливания» вручную. На следующем этапе очень важно выбрать пункт «Другой вариант», так как мы уже провели разметку самостоятельно. Дважды кликаем на каждый раздел с указанными объёмом и файловой системой, чтобы выбрать точки монтирования. Для local-home ставим следующие параметры: Ext4 и /home, для local-rootExt4 и /home, swap не трогаем. Раздел с файловой системой fat32 — это boot-раздел. Кликнув по нему дважды, выбираем пункт «системный раздел EFI». Нажимаем OK и переходим на следующий шаг. Выбираем часовой пояс, имя компьютера и пользователя, пароль. Начинается установка, по её окончании будет предложено перезагрузить компьютер — подтвердите.

Далее можно извлечь загрузочную флешку и продолжить настройку Ubuntu. Когда система будет готова к работе, можно подключить все остальные диски. Если на одном из таких накопителей установлена сторонняя система, пропишите из-под Ubuntu в терминале команду:

sudo update-grub

Это позволит загрузчику отображать все системы на машине, облегчив выбор нужной.

Изменение размера LVM-разделов

Если в будущем потребуется изменить размер LVM-раздела, это займёт совсем не много времени.

Увеличение раздела

Чтобы увеличить размер раздела, посмотрим, сколько свободного места доступно в группе томов:

sudo vgdisplay local

Если есть незарезервированное место, достаточно ввести следующую команду, где +5G заменим на желаемый объём, который нужно добавить:

sudo lvresize -L +5G /dev/local/home

Командой выше мы увеличили раздел /home на 5 ГБ. Теперь расширим файловую систему на этом разделе:

sudo resize2fs /dev/local/home

Уменьшение раздела

В случае, если требуется наоборот, уменьшить размер раздела, потребуется больше действий. Сперва надо запустить Ubuntu с загрузочной флешки. Разделы нельзя уменьшить без размонтирования, а на реальной системе некоторые из них могут быть заняты, и размонтировать их не получится. Поэтому куда проще уменьшать разделы именно со второй системы.

Загрузившись с флеш-накопителя, выбираем Try Ubuntu и сразу открываем терминал. Сначала нужно проверить файловую систему нужного тома на ошибки:

sudo e2fsck -fy /dev/local/home

Если всё прошло успешно, уменьшаем файловую систему. Важное замечание: она не должна быть больше раздела, на котором она находится. Я рекомендую уменьшить её до минимального возможного размера. Например, если раздел с ней занят на 34,77 ГБ, укажите её новый размер равным 35 ГБ.

sudo resize2fs /dev/local/home 35G

И лишь потом уменьшаем сам раздел (он должен быть больше размера файловой системы):

sudo lvresize -L 50G /dev/local/home

Теперь «растянем» файловую систему на весь объём обновлённого раздела:

sudo resize2fs /dev/local/home

Можно перезагружаться и вытаскивать флешку. Новые разделы можно создать уже на рабочей системе.

Зачем нужны отдельные разделы

Установщик Ubuntu позволяет пользователю вообще ни о чём не задумываться и установить систему, прокликав по кнопке «Далее». В этом случае ОС установится на один раздел жёсткого диска, что не столь критично поначалу, но может вызвать затруднения в будущем.

Пользовательские данные хранятся в директории /home, и при переустановке системы или установке нового дистрибутива они удалятся, как и все остальные папки. Но с использованием отдельных разделов новая ОС перезапишет лишь файлы в директориях для системы, оставив все настройки и личные файлы нетронутыми. Так, пользователь без проблем сможет экспериментировать с дистрибутивами без опасений стереть важные данные.

Использование разделов обеспечивает повышенную безопасность — некоторые подкаталоги можно смонтировать в режиме read-only. Иногда практикуется вынос директорий /var и /tmp ради того, чтобы они не смогли случайно заполнить всё пространство на диске. На одном накопителе можно хранить данные в разных файловых системах — опять же, благодаря разделам.

Зачем нужен LVM

LVM (Logical Volume Manager) — технология, которая облегчает управление дисковым пространством. В чём же её преимущества? Во-первых, с LVM куда легче изменять размеры разделов на лету. Например, вы выделили для системы слишком мало места на диске и решили исправить эту проблему. Благодаря тому, что она установлена на LVM-раздел, достаточно прописать всего пару команд.

Либо другой случай: раздел /home наполовину пуст, но при этом занимает бо́льшую часть диска. Внезапно появилась потребность в отдельном разделе для снапшотов системного раздела. Две команды в терминале, и всё разрешилось.

Вторая фича менеджера логических томов — возможность использовать несколько жёстких дисков как один логический том. Купили новый диск и сразу же добавили его в группу томов — просто и быстро. Столь же быстро осуществляется перенос разделов со старого накопителя на новый.

Не менее важное свойство LVM — понятные названия. Вместо условного /dev/sda1 разделу можно присвоить более интуитивное /dev/local/home.

Снапшоты, которые я упомянул выше, — тоже одна из особенностей LVM. Это резервные копии отдельных томов, которые на лету записывают изменения в файловой системе на момент создания снапшота. Помогают быстро откатить состояние системы в случае неправильной конфигурации, которая привела к поломке.

Возможность создания разделов поверх зашифрованного диска — ещё одна заслуга LVM.

Krokodil707 Krokodil707
>_<。
Linux Linux
Сообщество
Вступить
Комментариев пока нет
Оставьте комментарий...
Оставьте комментарий...