Найти тему
ProITLive

Linux LVM или «резиновые диски»

Оглавление

Всех категорически приветствую!

Ну, что же, теперь перейдем ближе к делу.

Согласно накиданному ранее плану, сейчас установка Ubuntu Server.

НО!

Прежде чем начать обзор процесса установки, хотелось бы отдельно остановиться на дисках и разделах. Правильное планирование дискового пространства – это не только правило хорошего тона, но и решение множества проблем, особенно связанных с нехваткой заветных "метров" «на самом или в самом интересном месте».

Картинка с macx.ws
Картинка с macx.ws

Планировать использование дискового пространства надо уметь, и уметь делать это с умом. И, как часто наблюдаю, с последними двумя пунктами справляются далеко не все (когда тороплюсь сам тоже делаю что попало). Например, ситуация:

  • выделить под раздел «/boot» метров 100 и потом заиметь неприятности с обновлением системы, когда эта сотня забьётся старыми ядрами. Конечно, autoremove частично решает проблему, но сразу же захочется добавить к разделу еще гиг, чтобы про проблему забыть. И тут начинаются танцы с бубном. А поскольку «/boot» нельзя поместить в LVM (да, запомните это!) из-за того, что последний не дружит с GRUBом, то задача для многих становится нерешаемой, и некоторые админы, выкурив пару пачек сигарет, ставят систему заново.

В остальном же, проблемы с динамическим изменением объема разделов (и количества разделов) в полной мере и с наименьшими затратами нервов и времени решает LVM – logic volume manager (менеджер логических томов).

LVM – это некая абстракция жесткого диска (виртуальный диск). Что подразумевается под абстракцией? Ну, например, в железяке стоит 4 диска: 1ТБ, 2ТБ, 3ТБ и 4ТБ, а в системе это дело отображается как один диск на 10 ТБ. Вот этот условный один диск на 10Тб и называется абстракцией.

В пределах суммарного объема этих четырех физических дисков можно создать любое количество логических разделов с нужным объемом и примонтировать, их, например, к папке с кинчиками, тем самым добавив еще места для коллекции в 4K. При необходимости, можно у кого-нибудь «забрать» место и «отдать другому». Причем все это LVM позволяет делать «на лету», (т.е. без перезагрузок и прочих тормозящих факторов).

Вот и получаются этакие «резиновые диски» - захотел – растянул, захотел – скукожил.

Ниже картинка, отражающая в целом суть LVM.

Принцип LVM. Картинка с сайта www.helios.de
Принцип LVM. Картинка с сайта www.helios.de

Конечно, LVM умеет делать еще множество всяких плюшек, которые могут пригодится в каком-либо конкретном случае (снапшоты разделов, например). Нафиг нужны эти снапшоты?

Ситуация (утрированно):

  • начали вы писать прогу какую-нибудь. Написали начальный обработчик для кнопки, отладили его, и… УРА – заработало! Нажатие на кнопку чего-то там показывает. Теперь надо пилить дальше и сделать так, чтобы это «чего-то там» показывалось уже в каком-то поле. Что надо сначала сделать? Правильно – лепить дальше сделать копию папочки с рабочим проектом чтобы было куда откатываться, если вдруг случится «ой…». Так вот, функция снапшота тоже делает своебразную копию, но только не папочки, а указанного раздела диска.

Для дальнейшего понимания вопроса настоятельно советую ознакомиться со следующим материалом:

«Разделы и файловые системы» на страничке хелп убунту;

«Сравнение и ограничения структур разделов (MBR и GPT)» на Хабре;

Познавательная статья про LVM на Хабре;

Материалы по работе с LVM - Раз Два Три

Дополнительная статья о LVM по заметке комментатора starper - на losst.ru

Коротко о настройке разделов под установку Ubuntu (не только Server).

Я использую GPT и LVM. Почему? Потому что ограничительные рамки по использованию количества разделов и их объемов значительно расширяются. Ну, хотя бы, взять MBR – максимум 4 раздела и по 2Тб места на них; GPT – 64, 128 и, если не ограничено системой, то и больше разделов практически любого объема. Ну, а LVM, в свою очередь, позволяет всем этим делом великолепно управлять.

Имея вышеописанные инструменты и умея ими пользоваться, появляются очень широкие возможности по планированию и управлению дисковым пространством. Но только лишь возможности. Теперь нужно понять, как такое обилие вариантов по «раздаче места» формализовать.

(надеюсь, что с указанным выше ссылочным материалом про разделы и файловые системы вы ознакомились)

Прошу учитывать, что ниже я приведу лишь пример настройки разделов для экспериментального сервера на виртуалке, а не для «боевого» железа. Вы, потренировавшись «на кошках» и поняв, «что это и с чем его едят», уже планируйте место и разметку под свои конкретные задачи.

Итак, в процессе установки Ubuntu мы дойдем до такого пункта, как разметка диска. Вот он, собственно:

Утилита разметки диска (установщик Ubuntu)
Утилита разметки диска (установщик Ubuntu)

В новой версии установщика окошко несколько другое. В нем для ручной разметки надо выбрать пункт «Custom storage layout», а в следующем окне сбросить все параметры, выбрав пункт «Сброс». Дальше различий в настройке нет.

У неопытных, а как следствие, не осознающих, что с этим пунктом делать, установщиков возникает желание согласиться с вариантом, который предложила система, и накатывать ось дальше. Да, у кого-то прокатывает и проблем в процессе использования оси нет. Но иногда и НЕ прокатывает (а это бывает, как обычно, очень не вовремя и очень больно). Поэтому с разметкой лучше раз разобраться, чем потом дергать волосы на пятой точке.

Итак, дано:

  • Неразмеченный физический диск объемом 20 Гб.

Что хотим получить:

  • Раздел «/boot» на 2Гб (основной раздел);
  • Корневой раздел «/» на 10 ГБ (LVM);
  • Раздел «/home» на 7 ГБ (LVM);
  • Раздел SWAP на 1 ГБ (LVM).

С дрожью в коленках выбираем пункт «Вручную» и видим один-единственный доступный девайс на 20G. Давим на нем Enter-ом и выбираем пункт «Add Partition» ( добавить раздел, либо добавить GPT раздел):

Добавление основного раздела
Добавление основного раздела

В окошке параметров создаваемого раздела нам предложат задать его объем, тип файловой системы и точку монтирования. Задаем параметры и давим Create:

Параметры логического раздела и точка монтирования
Параметры логического раздела и точка монтирования

Все созданные нами разделы с заданными точками монтирования будут отображаться сверху, под надписью «FILE SYSTEM SUMMARY»:

Итоговая информация о разметке
Итоговая информация о разметке

Почему 2 гига для boot? Потому что многолетняя практика показала, что такой объем бутовского раздела не создает ненужных проблем.

Итак, мы создали классический boot-раздел вне LVM (помним, ага?).

Теперь к LVM.

Если вы читали ссылочный материал выше, то уже в курсе, что сначала в LVM нужно создать группу физических томов, затем в этих группах создать логические тома, ну, и в конце куда-то их таки примонтировать.

После создания основного раздела для «/boot», на этом физическом диске требуется в оставшемся пространстве создать неразмеченный раздел, чтобы дальше определить его в LVM. Операция разметки аналогична предыдущей, только раздел оставляем без файловой системы:

Создание пустого раздела
Создание пустого раздела

И вот теперь этот раздел мы сможем запихать в LVM.

Создаем группу томов (с понятным для себя названием и, желательно, уникальным. Почему? – читайте ссылочный материал выше):

-8
Создание группы физических томов
Создание группы физических томов

Ура! Наша первая группа физических томов создана!

Теперь, работаем только с этой группой и создаем логические тома.

Операции разметки аналогичны предыдущим за исключением того, что будут производиться над созданной группой, а не над физическим томом.

Последовательно создаем тома для корневого раздела «/», «/home» и SWAP:

Выбираем пункт «Создать логический раздел»
Выбираем пункт «Создать логический раздел»
Создаем логический том объемом 10ГБ с корневой точкой монтирования «/»
Создаем логический том объемом 10ГБ с корневой точкой монтирования «/»
Создаем логический том 7Гб с точкой монтирования «/home»
Создаем логический том 7Гб с точкой монтирования «/home»
Создаем логический том подкачки SWAP (1Гб)
Создаем логический том подкачки SWAP (1Гб)

Смотрим, что натворили:

Итоги разметки
Итоги разметки

Соответствует тому, что хотели получить? Вроде да.

За сим разметка закончена.

Нажимаем внизу окна «Готово» и ставим ось дальше.

Что в итоге?

В итоге мы имеем «гибкую» систему разделов, размер и количество которых мы потом сможем изменять прям «на коленке» и как нам заблагорассудится.

Я создал LVM-разделы для трех точек монтирования: «/», «/home» и «SWAP». Вы можете создать разделы и для любых других точек монтирования при необходимости.

На этом сегодня все! Встретимся на кратком обзоре установки Ubuntu Server.

Ставьте лайк и подписывайтесь на канал!

До связи!

Сайт ProITLive

Мой Дзен

Мой канал в ВК

Мой канал в OK

Мой Facebook

Картинка с zen.yandex.lv
Картинка с zen.yandex.lv