LVM(Logical Volume Manager)

 

LVM добавляет дополнительный уровень абстракции над физическими дисками, позволяя

создавать на их основе логические тома, что обеспечивает бóльшую гибкость по сравнению с

управлением физических дисков напрямую. Аппаратная конфигурация накопителей спрятана от

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

приложений и отключения файловых систем.

 

! легкое изменение размера диска / резервное копирование / перемещение данных в активной системе

! физический том (pv) / группа физических томов (vg) / логический том (lv)

! линейные разделы / полосные разделы / зеркальные разделы

 

(CLVM, Clustered Logical Volume Manager)

HA-LVM (High Availability Logical Volume Management)

 

CLVM — это расширение для LVM2 которое позволяет безопасно использовать один или несколько шареных LUN’ов на множестве хостов. CLVM использует файловую систему GFS2

 

lvm удобен когда тебе надо часто тасовать разделы, диски. Под виртуалки, том в качестве диска с прямым пробросом устройства - отличная вещь, Базы на них можно класть в raw-режиме

https://losst.ru/sozdanie-i-nastrojka-lvm-linux

 

/etc/lvm/lvm.conf  -конфиг

 

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

Производительность толстых томов без снапшотов равна обычным дисковым разделам (разница очень мала), а как обстоят дела со снапшотами? Тесты показали ад и ужас. Из-за CoW, операции записи в оригинальным том замедляются катастрофически! И чем больше снапшотов, тем хуже. Несколько исправить положение дел может задание большего размера фрагмента (по умолчанию, это 4 килобайта, что дает большой объем маленьких iops). Ситуация несравнимо лучше, если писать не в оригинальный том, а в снапшот.

 

Самая быстрая ФС (в режиме записи): ext4, затем xfs, в конце ext3

 

pvmove   -для переноса информации с диска на диск

mylvmbackup

fsck  -для проверки файловой системы диска

lvconvert --merge    -для слияния снимка с исходным томом.

lvcreate -vvvv  -подробность вывода

dd if=/dev/zero of=физический_том bs=512 count=1    -затереть разметку диска

pvcreate /dev/sdd1 /dev/sde1 /dev/sdf1      -создать физический том

lvmdiskscan    -поиск блочных устройств

pvs / pvdisplay / pvscan

pvchange -x n /dev/sdk1  -запрещает выделение экстентов на /dev/sdk1 (Аргументы -xy разрешат выделение экстентов там, где раньше это было запрещено.

pvresize    -изменяет размер физического тома, если изменился размер блочного устройства в

его основе.

pvremove    -удаляет устройство

vgreduce    -исключает том из группы

vgcreate vg1 /dev/sdd1 /dev/sde1   -создать группу томов (экстенты по умолчанию 4 Мб) размер экстента задается ключом -s, ограничение числа томов ключем -p или -l (логические)

vgextend   -добавляет физические тома в группу (vgextend vg1 /dev/sdf1)

vgreduce   -удаляет физический том из группы и уменьшает размер группы(переду удалением физического тома из группы проверяем, что он не используется логическими томами: pvdisplay /dev/hda1)

pvmove  -Если физический том все еще используется, надо перенести данные в другой том

vgreduce   -уменьшить размер логического тома (vgreduce my_volume_group /dev/hda1)

blkid   -посмотреть список всех блочных устройств

lvreduce  -уменьшить размер лог тома (lvreduce -r -L -15G /dev/Volgroup/lv_root) ключ -r уменьшает размер файловой системы, без него файлы будут утеряны

vgchange  -изменение параметров группы

vgremove   -удаление группы томов

vgsplit   -разделить физические тома в группе с целью создания новой группы

vgmerge  -для объединения групп в одну (vgmerge -v my_vg1 my_vg2 -добавит my_vg2 в my_vg1)

vgcfrestore  -восстанавливает метаданные группы томов

С помощью vgexport и vgimport можно осуществлять перемещение целых групп томов между

системами

vgmknodes    -восстановление каталога группы

lvcreate    -создание логического тома (lvcreate -L1500 -n testlv testvg) (lvcreate -L 1500 -ntestlv testvg /dev/sdg1)

lvcreate -T -L 100G /dev/vg1/thin   -ключ  -T(thin provision) создание тонкого тома

lvcreate -T -V 200G /dev/vg1/thin -n test    -создание разреженного тома вида /dev/vg1/thin/test, разреженный том может быть больше фактического

lvcreate -m1   - ключ m1 говорит о создании 1го зеркала тома

 

Число экстентов не оказывает влияния на эффективность ввода-вывода для логического тома.

 

Различия обычного LVM от тонких томов (Thin provision):

- можно создавать снапшот от снапшота

- можно задать размер тома больше физически доступного, при исчерпании размера произойдет остановка записи.

- в тонком томе намного лучше производительность записи, при созданном снапшоте

- в тонком томе хуже надужность

Если место в пуле будет полностью израсходовано и кто-то в этот момент попробует записать данные на диск — операция ввода/вывода будет приостановлена пока в пуле не появится место (можно что-то удалить или расширить пул через lvextend), после появления места операция записи будет завершена.

 

Red_Hat_Enterprise_Linux-6-Logical_Volume_Manager_Administration-ru-RU

https://habrahabr.ru/post/277663/

https://habrahabr.ru/company/netapp/blog/108534/   - Thin provision

https://habrahabr.ru/post/339676/