Материал просмотрен 585 раз(а)

Интересную тему тут прочитал, про LVM в Linux. LVM – Logical Volume Manager.

Что такое LVM

Суть его состоит в том, что физические диски ‘Physical Volume’ (возможно различного размера, на разных устройствах) объединяются в ‘Volume Groups’ – группы томов. Группы томов могут уже разделяться на логические тома ‘Logical Volumes’, которые в свою очередь содержат конечные файловые системы. Звучит немного запутанно, но на самом деле всё просто и очень круто. Сейчас объясню на картинке:

Что такое LVM

Допустим, имеем два жестких диска. Старенький Seagate Barracuda на 80 Гб. И более новый WD на 640 Гб. Мы можем объединить их в единую группу Volume Group 1, суммарный объем которой составит 720 Гб. Затем, эту группу мы “пилим” по своему усмотрению на логические тома. Допустим, два тома по 360 Гб каждый. А затем монтируем первый как /home, второй как /var.

Причем, в некоторых случаях мы можем изменять размер логического диска прямо “на лету”.

Как использовать LVM

Итак, вот что мы имеем:

# fdisk -l

fdisk-l

Устройство /dev/sda не трогаем, системное. Для других нужд. А вот sdb и sdc объемом 2 и 3 Гб соответственно будем объединять в одну логическую группу.

Шаг 1. Создадим разделы на устройствах

# fdisk /dev/sdb
# fdisk /dev/sdc

fdisk

Оба раздела настраиваются аналогично. Важно, чтобы тип раздела был Linux LVM (посмотреть типы можно нажав l после t в консоли fdisk).

Шаг 2. Создаем “Физические диски” Physical Volume

Для этого служит команда pvcreate и указание девайса.

# pvcreate /dev/sdb1
# pvcreate /dev/sdc1

pvcreate

Убедимся, что всё получилось. Просмотреть физические тома можно командой:

# pvs

pvs

Более подробная информация будет показана при команде

# pvdisplay

pvdisplay

Шаг 3. Создаем группу томов (Volume Group)

Создать группу томов из физических томов можно посредством команды vgcreate и указании имени группы, а так же входящих в эту группу устройств (это, кстати, даёт возможность заводить несколько различных групп):

# vgcreate litl_admin /dev/sdb1 /dev/sdc1

vgcreate

Просмотреть созданные группы можно командой:

# vgs

vgs

Как видим, здесь фиксируется имя группы, количество физических томов, логических томов, атрибуты, виртуальный размер и объем свободного виртуального места. Почему виртуального? Я уже упоминал о том, что размер можно менять динамически “на лету”?

Как и с физическими томами, у группы томов тоже есть команда display:

# vgdisplay

vgdisplay

Шаг 4. Создаем логический раздел (Logical Volume)

Пришло время “резать пирог”, то есть разделять группу томов на разделы по своему усмотрению. Оттяпаем 300 Мегабайт на первый логический том, а 4 с небольшим гигабайта – на второй логический том. Используем команду lvcreate с указанием размера, имени логического тома и имени группы, от которой “откусываем” кусок:

# lvcreate -L 300M -n disk_1 litl_admin

Этой командой мы выделим 300 мегабайт из группы litl_admin, и назовём этот логический том “disk_1”.

lvs

Аналогично создадим disk_2 из оставшегося места.

P.S. Для удаления ошибочно созданного объекта используем lvremove с указанием имени группы. Далее в диалоговом режиме удаляем неугодные нам разделы.

Шаг 5. Размечаем файловые системы

Пришла пора разметить файловые системы, чтобы мы могли использовать эти логические тома.

# mkfs.ext3 /dev/litl_admin/disk_1
# mkfs.ext3 /dev/litl_admin/disk_2

mkfs

Шаг 6. Подготовим каталоги для монтирования и пропишем их в файле /etc/fstab

# mkdir /vol1
# mkdir /vol2

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

Осталось внести изменения в файл /etc/fstab, чтобы эти точки монтировались автоматически.

# vi /etc/fstab

fstab

Допишем наши строки:

устройство, точка монтирования, файловая система, опции монтирования, порядок проверки fsck

У меня это две нижние строки.

Шаг 7. Подмонтируем наши файловые системы

Теперь подмонтируем точки автоматически:

# mount -a
# mount

mount

Готово! Можно пользоваться!