Logical Volume Manager (LVM)

VM (Logical Volume Manager), менеджер логических томов — это система управления дисковым пространством, абстрагирующаяся от физических устройств. Она позволяет эффективно использовать и легко управлять дисковым пространством. LVM обладает хорошей масштабируемостью, уменьшает общую сложность системы. У логических томов, созданных с помощью LVM, можно легко изменить размер, а их названия могут нести большую смысловую нагрузку, в отличие от традиционных /dev/sda, /dev/hda
Перевернутая схема Эрика Бегфорса (Erik Bеgfors):

ext3 reiserfs reiserfs    xfs       <-- Файловые системы
 |       |       |         | 
root    usr     home      var       <-- LV
 |       |       |         |
 +-------+-------+---------+
              |
 +--------+- VG00 -+-------+        <-- VG
 |        |        |       |
 |        |        |       |
sda1     sda2     sdb     sdc       <-- PV

Где:
PV, Physical volume, физический том — обычно, диск, или радел на диске.
VG, Volume group, группа томов.
LV, Logical volume, логический том.
PE, Physical extent, физический экстент — минимальная порция данных на физическом томе.
LE, Logical extent, логический экстент — порция данных, из которых состоит логический том. LE=PE

Определяется отображение между логическими и физическими экстентами. Администратор может выбрать алгоритм отображения логических экстентов в физические. На данный момент доступны два алгоритма:
1. Линейное отображение последовательно назначает набор физических экстентов области логического тома, т.е. LE 1 — 99 отображаются на PV1, а LE 100 — 347 — на PV2.
2. «Расслоенное» (striped) отображение разделяет порции данных логических экстентов на определенное количество физических томов. Это похоже на RAID0 и может дать прирост скорости.

Работа с LVM
Для навала работы с LVM, нужно ее инициализировать командами:
vgscan
— сканирует диски на наличие групп томов.
vgchange -ay
— ктивирует найденные группы томов.
После завершения работы:
vgchange -an
— деактиыирует группы томов. Эти команды, обычно, выпоняются стар-стоп скриптами ОС.

Инициализация дисков и разделов
Перед использованием диска или раздела в качестве физического тома необходимо его инициализировать:
pvcreate /dev/hdb
— команда создает в начале диска дескриптор группы томов.
Если при этом Вы получили ошибку, можно попробовать затереть таблицу разделов диска командами:
dd if=/dev/zero of=/dev/diskname bs=1k count=1
или
blockdev —rereadpt /dev/diskname
Для подключения в LVM разделов, нужно устоновить fdisk-ом тип раздела 8e — «Linux LVM».

Создание группы томов
Выполняется командой
vgcreate vg00 /dev/hda1 /dev/hdb1
-c, —clustered {y|n}
If clustered locking is enabled, this indicates whether this Volume Group is shared with other nodes in the cluster or whether it contains only local disks that are not visible on the other nodes. If the cluster infrastructure is unavailable on a particular node at a particular time, you may still be able to use Volume Groups that are not marked as clustered.
-l, —maxlogicalvolumes MaxLogicalVolumes
Sets the maximum number of logical volumes allowed in this volume group. The setting can be changed with vgchange. For volume groups with metadata in lvm1 format, the limit and default value is 255. If the metadata uses lvm2 format, the default value is 0 which removes this restriction: there is then no limit.
-p, —maxphysicalvolumes MaxPhysicalVolumes
Sets the maximum number of physical volumes that can belong to this volume group. The setting can be changed with vgchange. For volume groups with metadata in lvm1 format, the limit and default value is 255. If the metadata uses lvm2 format, the default value is 0 which removes this restriction: there is then no limit. If you have a large number of physical volumes in a volume group with metadata in lvm2 format, for tool performance reasons, you should consider some use of —metadatacopies 0 as described in pvcreate(8).
-s, —physicalextentsize PhysicalExtentSize[kKmMgGtT]
Sets the physical extent size on physical volumes of this volume group. A size suffix (k for kilobytes up to t for terabytes) is optional, megabytes is the default if no suffix is present. The default is 4 MB and it must be at least 1 KB and a power of 2.

Удаление группы томов
Деактивируем группу томов:
vgchange -a n vg00
Удаляем:
vgremove vg00

Добавление физических томов в группу томов
Добавляем предварительно инициализированный физического тома в существующую группу томов:
gextend vg00 /dev/hdc1

Удаление физических томов из группы томов
Убеждаемся, что физический том не используется:
pvdisplay /dev/hda1
Удаляем:
vgreduce vg00 /dev/hda1
Если диск используется и на других физических дисках есть достаточно свободных экстентов, освождаем диск:
pvmove /dev/hda1
И только после этого, диск можно удалить диск.

Создание логического тома
lvcreate -L1500 -n lv00 vg00
-L — размер, без суфиска как «M», суффиксы в верхнем регистре (KMGTPE) соответствуют единицам в системе СИ (с основанием 10), например, G — гигабайт равен 109 байт, а суффиксы в нижнем регистре (kmgtpe) соответствуют единицам в системе IEC (с основанием 2), например g — гибибайт равен 230 байт.
-l — размер в экстентах.
-n — имя.
lvcreate -l100%FREE vg00 -n lv02
— создает логический том lv02, полностью использующий свободное место в группе томов vg00

Удаление логического тома
umount /dev/vg00/lv02
lvremove /dev/vg00/lv02

Изменение размера логичестого тома
lvextend -L12G /dev/vg00/lv02
— увеличить размер до 12Г
lvextend -L+2G /dev/vg00/lv02
— увеличить на 2Г
lvextend -l +100%FREE /dev/vg00/lv02
— увеличить размер до максимально допустимого
Точно так же можно уменьшить размер, но необходимо помнить, что сначала нужно уменьшить размер файловой системы.

LVM снапшоты

Запись опубликована в рубрике Записки админа. Добавьте в закладки постоянную ссылку.

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

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