Перейти к содержимому

Настройка и управление LVM разделами в Linux

LVM (Logical Volume Manager) – подсистема операционных систем Linux, позволяющая использовать разные области физического жесткого диска или разных жестких дисков как один логический том. LVM встроена в ядро Linux и реализуется на базе device mapper.

Главные преимущества LVM – высокий уровень абстракции от физических дисков, гибкость и масштабируемость. Вы можете на лету изменять размер логического тома, добавлять (и удалять) новые диски. Для LVM томов поддерживается зекалирование, снапшоты (persistent snapshot) и striping (расслоение данных между несколькими дисками с целью увеличения производительности).

В данной статье мы рассмотрим использование LVM разделов на примере Linux CentOS 8, покажем процесс объединения двух дисков в одну группу LVM, посмотрим как создавать группы, тома, монтировать, расширять и уменьшать размер LVM разделов.

Прежде всего нужно разобраться с уровнями дисковых абстракций LVM.

  • Physical Volume (PV) – физический уровень. Физические диски инициализируются для использования в LVM.
  • Volume Group (VG) – уровень группы томов. Инициализированные диски объединяются в логические группы с именем.
  • Logical Volume (LV) — создается логический том на группе томов, на котором размещается файловая система и данные.

Установка утилиты lvm2

Чтобы начать работу с LVM, нужно установить утилиту lvm2. Выполним следующие команды:

В разных версиях Linux отличается только способ установки утилиты lvm2 (установка через yum/dnf или apt-get), дальнейшие команды для работы с LVM, одинаковы.

Создание LVM разделов

Итак, у нас имеется виртуальная машина KVM, к которой подключены два дополнительных диска. Проверим, что они доступны в системе, используя команду:

Как вы видите, у меня доступны два диска 

При настройке LVM на своем виртуальном или физическом сервере, используйте свою маркировку дисков.

Чтобы диски были доступны для LVM, их нужно пометить (инициализировать) утилитой pvcreate:

Теперь, чтобы убедиться, что данные диски можно использовать для LVM, введите команду pvdisplay:

Как видим, оба диска отображаются. Разберем информацию из вывода команды:

  • PV Name – имя диска или раздела
  • VG Name – группа томов, в которую данный диск входит (мы пока группу не создали)
  • PV Size – размер диска или размера
  • Allocatable – распределение по группам. В нашем случае распределения не было, поэтому указано NO
  • PE Size – размер физического фрагмента. Если диск не добавлен ни в одну группу, значение всегда будет 0
  • Total PE – количество физических фрагментов
  • Free PE — количество свободных физических фрагментов
  • Allocated PE – распределенные фрагменты
  • PV UUID – идентификатор раздела

С помощью команды pvscan вы можете просканировать диски на предмет PV.

Следующий этап – создание группы томов. Для создания групп томов используется команда vgcreate. Чтобы объединить ранее помеченные диски, воспользуемся командой:

Чтобы проверить результат введите vgdisplay:

Как видим, диски объединены в группу test и VG Size показывает общий размер дисков.

Разберем информацию из листинга команды vgdisplay:

  • VG Name – группа томов, в которую данный диск входит.
  • Format – версия подсистемы lvm, которая используется для создание группы (в нашем случае версия 2)
  • Metadata Areas – область метаданных
  • VG Access – уровень доступа к группе логических томов
  • VG Size – общий объем дисков, которые входят в группу
  • PE Size — размер физического фрагмента
  • Alloc PE / Size – распределенное пространство(количество и объем фрагментов)
  • VG UUID – идентификатор группы

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

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

Как видим из листинга, в группе test был создан логический том с именем lvol0 и размером 5G.

Если вы хотите сами задать имя, используйте флаг -n:

Несколько примеров для создания логических томов с разными размерами:

 – 40% от дискового пространства группы test

 – использовать все свободное пространство группы test

Чтобы вывести информацию о логическом томе, используйте lvdisplay:

Так же разберем листинг данной команды:

  • LV Path – путь к устройству логического тома (к диску или разделу)
  • LV Name – имя логического тома
  • VG Name – имя группы томов
  • LV UUID – идентификатор логического тома
  • LV Write Access – уровень доступа к логическому тому
  • LV Creation host, time — информация о хосте, дата когда был создан логический том
  • LV Size – размер диска, доступный для использования логическому тому
  • Current LE – количество логических фрагментов

LVM: создание файловой системы, монтирование логического тома

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

Создадим файловую систему ext4 на LVM томе:

Файловая система была создана без ошибок.

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

Как видите, все прошло без ошибок и теперь директория /var/www/home существует как отдельный раздел.

Чтобы логический том монтировался при загрузке системы, нужно добавить его в fstab и назначить директорию для монтирования.

Откроем файл:

И добавим в него следующую информацию:

После чего примонтировать том можно будет через mount -a:

Чтобы проверить общую информацию по дискам, разделам и томам, введите команду lsblk:

Как видим, наш созданный том отображается, и указана директория к которой он примонтирован.

Команда 

 позволяет просканировать доступные диски, показывает их размер и принадлежность к LVM.

Увеличение логического тома LVM

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

Чтобы расширить логический том, воспользуйтесь следующей схемой:

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

 — инициализация диска для lvm

— добавление диска в группу томов

Чтобы расширить логический том, воспользуйтесь следующей схемой:

Данным способом вы расширите раздел на 10 Гб.

Еще несколько примеров расширения LVM раздела:

 — добавите 10 Гб к вашему тому

 — выделите все нераспределенное пространство в группе test

Осталось увеличить раздел файловой системы:

 – для ext4

 – для xfs

Уменьшение LVM томов

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

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

Отмонтируем том от директории:

Выполним проверку диска:

Уменьшим раздел файловой системы на 4 Гб:

Теперь уменьшим размер самого LVM тома:

После чего, нужно примонтировать том обратно и проверить текущий размер:

Как видим, размер уменьшился до 4 Гб.

Удаление LVM групп и томов

Для удаления LVM томов, используется команда lvremove:

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

Убрать метки с LVM дисков:

Создание зеркальных томов LVM

LVM позволяет создать зеркальные тома для повышения отказоустойчивости хранения данных. В LVM зеркале данные одновременно хранятся на двух (или более) физических дисках (подобие RAID-1). Процедура создания зеркального тома в LVM.

  1. Инициализация дисков:  «pvcreate /dev/sd{b,c}»
  2. Создаем LVM группу:  «vgcreate mirror1 /dev/sd{b,c}»
  3. Создадим зеркальный LVM том:  «lvcreate -L 5g -m1 -n lvMirr1 VGmirror1»

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

Опубликовано вLinux

Ваш комментарий будет первым

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *