Установка Ubuntu Desktop на LVM

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

К счастью, решить большинство этих проблем в Linux может технология LVM. Она создаёт дополнительную абстракцию — логические тома, которые видны в системе, как обычные разделы, однако реально ими не являются. Эта технология очень полезна для серверов, однако и на домашних компьютерах она приходится очень к месту. Я больше не думаю, какого размера диск выделить под систему, чтобы какой-нибудь texlive не забил бы всё место, но и чтобы лишние 5 — 10 гигабайт не пропадали просто так.

LVM имеет ряд существенных преимуществ, значительно упрощающих жизнь:

  • Логические тома LVM больше не привязаны к физическому местоположению. В рамках LVM вообще не существует такого понятия, как порядок логических томов.
  • Размер логических томов можно увеличивать прямо на лету, а у отмонтированных томов можно кроме того легко уменьшать размер, не выходя из системы.
  • При необходимости можно размазать логические тома по нескольким физическим жёстким дискам, таким образом увеличив доступное место. При этом система всё так же будет видеть только один логический том, хотя размер его будет превышать доступные размеры жёстких дисков. Можно провести и обратную операцию, удалив жёсткий диск из LVM, таким образом освободив его для другого использования.
  • LVM поддерживает механизм снапшотов — мгновенных копий файловой системы тома. Это может очень пригодиться для создания бекапов.
  • Есть ещё масса плюсов, о которых можно почитать в специализированных статьях про LVM.


Ubuntu полностью поддерживает LVM, однако из Desktop версии установочного диска убраны необходимые для работы с LVM утилиты. Кроме того, установщик Desktop версии не умеет изменять LVM тома. Поэтому если вы хотите использовать LVM, то вам придётся либо поставить систему с Alternate диска, либо немного помухлевать с обычным LiveCD. Установка с Alternate неудобна и у многих вызывает дискомфорт, да и кроме того чаще всего Alternate диска нет под рукой, поэтому давайте рассмотрим вариант с LiveCD.

Учтите, что управление LVM осуществляется через терминал, поэтому, дабы ничего не поломать, вам необходимо сначала научиться более-менее комфортно с ним работать. Кроме того, ознакомьтесь с принципами работы и основными концепциями LVM, дабы понимать, что это такое. Статья рассчитана не на новичков, а на тех, кто уже разобрался в основах Ubuntu.

Предварительная подготовка

Вам необходимо запустить систему с LiveCD и подключить компьютер к интернету. Далее откройте терминал и установите прямо в LiveCD сессию необходимые утилиты командой:

sudo apt-get install lvm2



Всё, теперь можно начинать работу с LVM. Но сначала необходимо выделить место, на котором мы будем создавать LVM. Для этого вам потребуется редактор разделов Gparted, который находится в меню Система→Администрирование (System→Administration). Создайте с помощью него раздел, поверх которого вы будете разворачивать LVM. Если вы готовы выделить под LVM весь жёсткий диск, то создайте раздел на весь жёсткий диск. Не выбирайте никакую файловую систему для раздела — просто пустой раздел (unformatted). Не забудьте, для применения всех внесённых вами через Gparted изменений нужно нажать на зелёную галочку на верхней панели или выбрать в меню Edit пункт Apply.

После того, как изменения в разметку будут успешно внесены, необходимо будет поменять тип нужного вам раздела на Linux LVM. Для этого нажмите правой клавишей на разделе, и выберите пункт Управление флагами (Manage flags). В открывшемся окне поставьте галочку в поле с именем lvm, дождитесь окончания применения всех изменений и закройте Gparted. На этом подготовительный этап закончен.

Создание логических томов LVM

Теперь пора приступить к непосредственному созданию LVM. Для примера будем считать, что LVM мы создаём поверх раздела /dev/sda1. В этом случае сначала необходимо инициализировать физический раздел командой:

sudo pvcreate /dev/sda1



Далее создать группу томов (о том, что это такое, читайте в статьях про LVM), командой

sudo vgcreate local /dev/sda1



И, наконец, создать необходимые вам логические тома. Тут стоит заметить, что так как увеличивать размер LVM томов можно легко прямо в работающей системе, то лучше всего выделять для логических томов минимальный необходимый размер. Не бойтесь, что большой объём останется нераспределённым в рамках группы томов, он не пропадёт. Как только вам понадобится дополнительное место, вы сможете его легко добавить к любому логическому тому. А вот уменьшить размер логического тома значительно сложней.

Обычно для установки системы требуется раздел под корень, раздел под /home, раздел под swap и иногда — раздел под данные. Создать логические тома подо все эти четыре задачи можно командами:

sudo lvcreate -L 7G -n root local
sudo lvcreate -L 5G -n home local
sudo lvcreate -L 3G -n swap local
sudo lvcreate -L 10G -n data local



Параметр -n, если вы ещё не поняли, задаёт имя логического тома, -L — его размер.

Теперь необходимо создать файловые системы на созданных логических томах. Сделать это можно примерно следующими командами:

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


Обратите внимание, что имена логических томов LVM в системе выглядят как /dev/{имя_группы_томов}/{имя_тома}.

Кроме того, файловая система ext4 по умолчанию резервирует часть места для системных данных. Поскольку на /home, и уж тем более на разделе с пользовательскими файлами, никаких системных данных никогда не будет, то лучше отменить это резервирование, дабы освободить пропадающее зря место. Для это пригодятся команды

sudo tune2fs -r 0 /dev/local/home
sudo tune2fs -r 0 /dev/local/data



Ни в коем случае не отменяйте резервирование для корневого раздела, иначе система может вообще перестать работать!

Ну и наконец вы возможно захотите присвоить разделу с данными нормальную метку, дабы он красиво отображался в установленной системе. Сделать это можно примерно такой командой:

sudo tune2fs -L Data /dev/local/data



Теперь можно приступать непосредственно к установке на созданные нами логические тома.

Установка системы

Собственно сама установка стандартна, однако когда вам предложат выбрать способ разбиения диска, выберите ручной режим. В открывшемся окне вы увидите все созданные вами тома LVM. Укажите для каждого соответствующую точку монтирования, однако не ставьте галочку форматирования. Для раздела под данные можете указать точку монтирования /media/data.

Дождитесь завершения установки, но компьютер не перезагружайте!

Если вы перезагрузите компьютер, то ваша новая система не запустится. В этом случае необходимо будет снова зайти в LiveCD, установить утилиты работы с LVM, а далее выполнить команду

sudo vgchange -a y



После чего выполнить инструкции, приведённые ниже.

Активирование LVM в установленной системе

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

Для начала, не выходя с LiveCD, смонтируйте логический том, который вы выделили под корень, в папку /mnt. Сделать это можно командой

sudo mount /dev/local/root /mnt



Теперь необходимо будет войти в установленную систему с помощью chroot, однако предварительно надо временно подключить в неё некоторые важные системные ресурсы. Для этого выполните команды

sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys  /mnt/sys



Теперь перейдите в установленную систему командой

sudo chroot /mnt /bin/bash



И установите необходимые утилиты командой

apt-get install lvm2



Всё, установка завершена. Закройте терминал, нажмите Ctrl-Alt-Del и перезаргузите компьютер. Не забудьте достать LiveCD из привода. Компьютер должен загрузиться в только что установленную систему.

Дальнейшая работа

Допустим, в какой-то момент вам перестало хватать 5 гигабайт, которые вы выделили под раздел /home. Не беда. Посмотрите, сколько неиспользованного места осталось в группе томов командой

sudo vgdisplay local



Теперь увеличьте размер логического тома /dev/local/home до нужного командой

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



Учтите, что в параметре -L указывается полный желаемый размер, а не его приращение. После увеличения размера логического тома останется лишь растянуть файловую систему на весь новый объём. Сделать это можно командой

sudo resize2fs /dev/local/home



Всё, размер логического тома увеличен.

Кроме увеличения размера логических томов на лету, LVM умееет ещё много чего полезного. Например, создавать мгновенные снапшоты. Однако обо всех тонкостях работы с этой технологией читайте в специализированных статьях.

Ссылки






Вас также может заинтересовать:

Предупреждение о скором прекращении поддержки Ubuntu 8.04 Desktop
Установка s3cmd 0.9.9 на Ubuntu 8.04+
Установка XBMC на [Ubuntu|Mandriva|OpenSUSE|Arch] Linux
Установка VmWare-Player или VmWare Workstation на Ubuntu 10.10 Maverick
Вышел Calculate Linux Desktop 10.9
Релиз Trinity Desktop Environment 3.5.13