Сегодня поговорим про то, как управлять и создавать LVM (логические тома) с помощью команд vgcreate, lvcreate и lvextend. Из-за изменений в требованиях к экзамену LFCS, мы добавляем необходимые темы в серию LFCS, опубликованную здесь. Чтобы подготовиться к этому экзамену, мы вам настоятельно рекомендуем изучить все статьи из серии LFCE.
При установке системы Linux очень важен объем пространства, который будет выделяться для хранения системных файлов, домашних каталогов и т. д.
Управление Логическими Томами (или LVM) стало стандартом при установке большинства (если не всех) дистрибутивов Linux. LVM также имеет множество преимуществ по сравнению с традиционным управлением разделением. Отличительной особенностью LVM является то, что менеджер логических томов позволяет без проблем изменять размеры (уменьшать или увеличивать) логические тома.
Структура LVM:
- Возможность конфигурировать жесткие диски или разделы как физические тома (PV).
- Группа томов (VG) создается с использованием одного или нескольких физических томов. Вы можете представить группу томов как единое хранилище.
- Возможность создать в группе томов несколько логических томов. Каждый логический том эквивалентен традиционному разделу — с тем преимуществом, что его можно изменить по желанию, о чем говорилось ранее.
В этой статье приведен пример, в котором мы используем три диска — по 8 Гб каждый (/dev/sdb, /dev/sdc и /dev/sdd) для создания трех физических томов.
Хотя мы прибегли к другому методу, но вы можете воспользоваться методом, который мы описывали ранее (см. Часть 4 — Разделение устройств хранения данных, форматирование файловых систем и настройка раздела подкачки), обязательно настройте каждый раздел как тип 8e.
Создание физических томов, групп томов и логических томов
Чтобы создать физические тома поверх /dev/sdb, /dev/sdc и /dev/sdd, выполните следующие действия:
# pvcreate /dev/sdb /dev/sdc /dev/sdd
Вы можете вывести список созданных PV с помощью:
# pvs
И получить подробную информацию о каждом PV:
# pvdisplay /dev/sdX
Если вы упустите /dev/sdX как параметр, вы получите информацию обо всех PV.
Чтобы создать группу томов с именем vg00 с помощью /dev/sdb и /dev/sdc (мы сохраним /dev/sdd, чтобы проиллюстрировать возможность добавления других устройств для расширения емкости хранилища, если это потребуется), используйте команду:
# vgcreate vg00 /dev/sdb /dev/sdc
Как и в случае с физическими томами, вы также можете ознакомиться с информацией об этой группе томов, используя команду:
# vgdisplay vg00
Поскольку vg00 формируется с двумя дисками объемом 8 Гб, он будет отображаться как один 16-гигабайтный диск:
Когда дело доходит до создания логических томов, распределение пространства должно учитывать как текущие, так и будущие потребности. Лучше назвать каждый логический том в соответствии с его предполагаемым назначением.
Например, давайте создадим два LV с именем vol_projects (10 ГБ) и vol_backups (оставшееся пространство), которые мы можем использовать позже для хранения проектной документации и системных резервных копий, соответственно.
Опция -n используется для указания имени для LV, тогда как -L устанавливает фиксированный размер, -l (нижний регистр L) используется для указания процента оставшегося пространства в VG.
# lvcreate -n vol_projects -L 10G vg00
# lvcreate -n vol_backups -l 100%FREE vg00
Как и прежде, вы можете просмотреть список LV и основную информацию с помощью:
# lvs
И подробную информацию с помощью:
# lvdisplay
Чтобы просмотреть информацию об одном LV, используйте lvdisplay с параметрами VG и названием LV в качестве параметров:
# lvdisplay vg00/vol_projects
На изображении выше мы видим, что LV были созданы как устройства хранения (см. Строку LV Path). Прежде чем использовать какой-либо логический том, нам нужно создать файловую систему для него.
В качестве примера мы будем использовать ext4, поскольку он позволяет нам увеличивать и уменьшать размер каждого LV (в отличие от xfs, который позволяет только увеличить размер):
# mkfs.ext4 /dev/vg00/vol_projects
# mkfs.ext4 /dev/vg00/vol_backups
В следующем разделе мы объясним, как изменить размер логических томов и добавить дополнительное физическое пространство для хранения, когда это потребуется.
Изменение размера логических томов и расширение групп томов
Теперь рассмотрим следующий сценарий. Вы начинаете заполнять большую часть пространства в vol_backups, в то время как у вас много свободного места в vol_projects. Из-за характера LVM мы можем легко уменьшить размер последнего тома (оставим 2,5 Гб) и выделить его для первого тома, одновременно изменяя размер каждой файловой системы.
К счастью, это легко сделать:
# lvreduce -L -2.5G -r /dev/vg00/vol_projects
# lvextend -l +100%FREE -r /dev/vg00/vol_backups
При изменении размера логического тома важно включать знаки минус «—» или плюс «+«. В противном случае вы устанавливаете фиксированный размер для LV и не сможете его изменить.
Возможно, наступит момент, когда изменение размера логических томов больше не будет отвечать вашим потребностям, и вам придется купить дополнительное устройство хранения. Попробуем сымитировать эту ситуацию, добавив оставшуюся PV из нашей начальной настройки (/dev/sdd).
Чтобы добавить /dev/sdd в vg00, пропишите:
# vgextend vg00 /dev/sdd
Если вы запустите vgdisplay vg00 до и после предыдущей команды, вы увидите увеличение размера VG:
# vgdisplay vg00
Теперь вы можете использовать вновь добавленное пространство для изменения размера существующих LV в соответствии с вашими потребностями.
Установка логических томов при загрузке и по требованию
Разумеется, нет смысла создавать логические тома, если мы не собираемся их использовать! Чтобы лучше идентифицировать логический том, нам нужно выяснить его UUID (неотменяемый атрибут, который однозначно идентифицирует отформатированное запоминающее устройство).
Для этого пропишите blkid, а затем путь к каждому устройству:
# blkid /dev/vg00/vol_projects
# blkid /dev/vg00/vol_backups
Создайте точки монтирования для каждого LV:
# mkdir /home/projects
# mkdir /home/backups
И вставьте соответствующие записи в /etc/fstab (обязательно используйте полученные ранее UUID):
UUID=b85df913-580f-461c-844f-546d8cde4646 /home/projects ext4 defaults 0 0
UUID=e1929239-5087-44b1-9396-53e09db6eb9e /home/backups ext4 defaults 0 0
Затем сохраните изменения и установите LV:
# mount -a
# mount | grep home
Когда дело дойдет до реального использования LV, вам необходимо будет назначить разрешения ugo + rwx, как описано в Части 8 — Управление пользователями и группами, разрешениями и атрибутами файлов и включение доступа sudo к учетным записям.
Итоги
В этой статье мы рассказали об управлении логическими томами (Logical Volume Management) — универсальном инструменте управления устройствами хранения, которые обеспечивают масштабируемость хранилища. LVM в сочетании с RAID (о нем мы рассказали в Части 6 этой серии — Сборка разделов как RAID-устройств — создание и управление резервными копиями системы ) даст вам ряд преимуществ: не только масштабируемость (благодаря LVM), но и избыточность (благодаря RAID).
В этом типе настройки использован LVM поверх RAID, то есть сначала необходимо настроить RAID, а затем поверх него надо настроить LVM .
Спасибо за уделенное время на прочтение статьи!
Если возникли вопросы, задавайте их в комментариях.
Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!
Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco, курсы по кибербезопасности, полный курс по кибербезопасности от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).
Курсы Cisco и Linux с трудоустройством!
- Поможем стать экспертом в сетевом администрировании и получить международные сертификаты Cisco CCNA Routing & Switching или Linux LPI.
- Предлагаем проверенную программу и учебник экспертов из Cisco Networking Academy и Linux Professional Institute, сертифицированных инструкторов и личного куратора.
- Поможем с трудоустройством и сделать карьеру. 100% наших выпускников трудоустраиваются.
- Проводим вечерние онлайн-лекции на нашей платформе или обучайтесь очно на базе Киевского офиса.
- Спросим у вас об удобном времени для практик и подстроимся: понимаем, что времени учиться мало.
- Если хотите индивидуальный график — обсудим и осуществим.
- Выставим четкие дедлайны для самоорганизации. Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
- отредактировать резюме;
- подготовиться к техническим интервью;
- подготовиться к конкурсу на понравившуюся вакансию;
- устроим на работу в Cisco по программе Cisco Incubator, New Graduate и Experienced. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.