Content
Работа с LVM
LVM, это система управление дисковым пространством с дополнительной степенью абстракции от физического уровня. Она позволяет гибко и эффективно управлять дисковым пространством, отказоустойчивостью данных а так же помогает в решении различных задач по резервному копированию данных, развертыванию систем хранения для сред виртуализации и прочее.
В этой статье мы рассмотрим, как установить и использовать LVM в Linux.
Установка
LVM обычно устанавливается вместе с операционной системой Linux, но если его нет, вы можете установить его с помощью менеджера пакетов вашего дистрибутива Linux. Для большинства дистрибутивов команда для установки LVM будет выглядеть следующим образом:
Для Debian или Ubuntu:
Для CentOS, Fedora и RHEL:
Создание физических томов
Перед созданием логических томов, необходимо создать физические тома (pv). Физический том - это виртуальное устройство, такое как жесткий диск или раздел диска, который используется LVM для создания логических томов.
использования разметки на разделы, т.к в противном случае в перспективе
усложняется процесс динамического изменения размера lvm.
Чтобы создать физический том, выполните следующие шаги:
- Используйте команду pvcreate для создания физического тома:
Где /dev/sdb - это путь к физическому устройству.
2. Проверьте созданный физический том, используя команду pvdisplay:
В выводе вы увидите информацию о созданном физическом томе.
Создание группы физических томов
Группа физических томов (physical volume group, vg) - это логический контейнер, который может объединть несколько физических томов в одну общую группу. Однако ничто не мешает использовать его в рамках одного физческого тома. Чтобы создать группу физических томов, выполните следующие шаги:
1. Используйте команду vgcreate для создания группы физических томов:
# либо для нескольких pv
sudo vgcreate vg0 /dev/sdb /dev/sdc
Создание логического тома
Теперь можно создавать логические тома которые можно условно представить как разделы на жестком диске.
1. Создайте логический том в группе физических томов с помощью команды lvcreate:
Где -n - имя логического тома, -L - размер логического тома.
2. Проверьте созданный логический том, используя команду lvdisplay:
Вы увидите информацию о созданном логическом томе.
3. Создайте файловую систему на логическом томе, используя команду mkfs:
4. Создайте точку монтирования для новой файловой системы, используя команду mkdir:
5. Смонтируйте новую файловую систему в точке монтирования, используя команду mount:
Теперь вы можете использовать новую файловую систему, находящуюся на логическом томе.
Использование LVM
LVM предоставляет множество команд для управления физическими томами, группами физических томов и логическими томами. Некоторые из наиболее часто используемых команд перечислены ниже:
- pvcreate: Создает новый физический том.
- pvdisplay: Отображает информацию о физических томах.
- vgcreate: Создает новую группу физических томов.
- vgextend: Добавляет физический том в группу физических томов.
- vgdisplay: Отображает информацию о группах физических томов.
- lvcreate: Создает новый логический том.
- lvextend: Увеличивает размер логического тома.
- lvdisplay: Отображает информацию о логических томах.
LVM также позволяет использоволяет увеличивать размеры физических томов, групп физических томов и логических томов во время работы системы. Для этого существуют соответствующие команды:
- pvresize: Изменяет размер физического тома.
- vgresize: Изменяет размер группы физических томов.
- lvresize: Изменяет размер логического тома.
Управление размером логического тома:
Например, чтобы увеличить размер логического тома lv0 в группе физических томов vg0 на 5 ГБ, используйте команду:
либо на все оставшееся свободное место на физическом томе:
После этого можно изменить размер файловой системы "на лету", используя команду resize2fs:
LVM Snaphots
LVM в Linux поддерживает механизм снимков (snapshot), который позволяет создавать точные копии логических томов в определенный момент времени. Это полезная функция, которая позволяет сохранять состояние данных в определенный момент времени и восстанавливаться к этому состоянию, если это необходимо.
Технология снимков LVM работает следующим образом: снимок создается путем сохранения состояния логического тома в момент времени, когда снимок создается. После создания снимка все изменения, которые происходят в исходном логическом томе, сохраняются в дополнительном дифференциальном дисковом пространстве. Это может помочь в создании резервных копий и восстановлению данных на момент создания снимка.
Давайте рассмотрим, как создавать и использовать механизм снимков LVM.
Создание снимка LVM
Создание снимка LVM происходит с помощью команды lvcreate. Например, чтобы создать снимок логического тома myvolume в группе томов myvg, используйте следующую команду:
Эта команда создаст снимок логического тома myvolume с именем myvolume_snap размером 1 ГБ.
Использование снимка LVM
После создания снимка можно использовать его для выполнения различных задач. Например, можно использовать снимок для восстановления данных или для создания бэкапа. Для монтирования снимка в файловой системе используйте следующую команду:
Здесь /mnt/snapshot - это точка монтирования, куда будет смонтирован снимок. После монтирования снимка можно скопировать данные с него или использовать их для восстановления данных.
Удаление снимка LVM
После использования снимка его можно удалить. Для удаления снимка используйте команду lvremove. Например, чтобы удалить снимок myvolume_snap в группе томов myvg, используйте следующую команду:
Thin pools
Thin pool - это механизм LVM, который позволяет создавать логический том, использующий только ту часть физических дисковых устройств, которая фактически содержит данные. Это позволяет снизить потребление дискового пространства и более эффективно управлять им. Наибольшее распространение это свойство LVM приобрело в системах виртуализации, как удобное и экономной решение для выделения дискового пространства для виртуальых машин и контейнеров. Давайте рассмотрим, как создавать thin pool в LVM.
Создание thin pool LVM
Thin pool создается с помощью уже знакомой нам команды lvcreate. Например, чтобы создать thin pool mythinpool в группе томов myvg на физических томах /dev/sdb и /dev/sdc, используйте следующую команду:
Здесь -L определяет размер thin pool в гигабайтах, а -T указывает, что мы создаем thin pool. После выполнения этой команды будет создан thin pool mythinpool размером 50 ГБ.
Создание thin volume LVM
Thin volume - это логический том, который создается внутри thin pool. Thin volume может быть создан с помощью команды lvcreate. Например, чтобы создать thin volume mythinvolume размером 10 ГБ в thin pool mythinpool в группе томов myvg, используйте следующую команду:
Здесь -V определяет размер thin volume в гигабайтах, а -n указывает имя thin volume. После выполнения этой команды будет создан thin volume mythinvolume размером 10 ГБ внутри thin pool mythinpool.
Использование thin volume LVM
Thin volume может быть использован как обычный логический том. Например, чтобы создать файловую систему ext4 на thin volume mythinvolume, используйте следующую команду:
После создания файловой системы thin volume можно монтировать и использовать как обычный логический том.
Thin pool позволяет создавать более гибкие и эффективные конфигурации хранения данных в Linux. Thin pool используется в сочетании с thin volume для оптимального использования дискового пространства.