====== LVM (Logical Volume Manager) ====== FIXME Менеджер логических томов (Logical Volume Manager) |||LV|-@2|VG|-@8|PV|LV=**[[#LV|LV]]**|VG=**[[#VG|VG]]**|PV=**[[#PV|PV]]** ||||:||||||||:| |root|C||||||||D|sda1| ||||:||||||||:| |usr|C||||||||D|sda2| ||||:||||||||:| |home|C||||||||D|sdb| ||||:||||||||:| |var|J||||||||L|sdc| ====== Установка ====== apt install lvm2 ====== Иерархический список блочных устройств ====== Команда: ''lsblk'' Пример: # lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 298,1G 0 disk ├─sda1 8:1 0 487M 0 part /boot/efi ├─sda2 8:2 0 244M 0 part /boot └─sda3 8:3 0 297,4G 0 part ├─vg01-root 254:0 0 20G 0 lvm / ├─vg01-swap 254:1 0 7,8G 0 lvm [SWAP] └─vg01-home 254:2 0 269,6G 0 lvm /home sr0 11:0 1 1024M 0 rom ====== Настройка ====== Папка: ''/etc/lvm'' ===== Команды ===== |''lvm''|Командная оболочка для работы с LVM2| |''lvmconf''|LVM configuration modifier| |''lvmdiskscan''|scan for all devices visible to LVM2| |''lvmdump''|create lvm2 information dumps for diagnostic purposes| **Установка графического интерфейса для управления LVM** apt-get install system-config-lvm ====== PV ====== Физический том (Physical volume) Обычно это раздел на диске или весь диск. В том числе, устройства программного и аппаратного RAID (которые уже могут включать в себя несколько физических дисков). Физические тома входят в состав группы томов. ===== Команды ===== |''pvchange''|Изменить атрибуты физического тома| |''pvck''|Проверка физического тома| |''pvcreate''|Инициализировать физический том для использования в LVM| |''pvremove''|Удалить метку LVM с физического тома| |''pvresize''|Изменить размер физического тома, использующегося в группе томов| |''pvscan''|Показать список всех физических томов| ===== pvdisplay ===== Отображает карту распределения физических томов: * кратко:pvdisplay -C * подробно:pvdisplay -m ===== pvmove ===== Перенос эстенты с одного физического тома на другой. Перенос логического тома [[#LV|LV]] из одного физического тома ([[#PV|PV]]) в другой, внутри одной группы томов([[#VG|VG]]) FIXME ==== Пример ==== Создание нового раздела с использованием [[parted:parted|GNU parted]] # parted (parted) select /dev/sdb (parted) mklabel msdos (parted) mkpart primary 0 100% Добавление физического тома ([[#PV|PV]]) в группу томов([[#VG|VG]]) pvcreate /dev/sdb1 vgextend vg01 /dev/sdb1 pvdisplay Перенос логического тома ''lv001'' с ''/dev/sda5'' на ''/dev/sdb1'' pvmove -n lv001 /dev/sda5 /dev/sdb1 ===== pvs ===== Показать информацию о физическом томе. Пример вывода: PV VG Fmt Attr PSize PFree /dev/md0 vg-0 lvm2 a-- 223,44g 96,27g /dev/md1 vg-0 lvm2 a-- 931,38g 681,38g ====== LV ====== Логический том (Logical volume) Раздел группы томов, эквивалентен разделу диска в не-LVM системе. Представляет собой блочное устройство и, как следствие, может содержать файловую систему. ===== Команды ===== |''lvchange''|Изменить атрибуты логического тома| |''lvconvert''|convert a logical volume from linear to mirror or snapshot| |''lvdisplay''|Показать информацию о логическом томе| |''lvextend''|Увеличить размер логического тома| |''lvmchange''|(команда устарела, её лучше не использовать)| |''lvmdiskscan''|Показать список устройств, которые могут быть использованы как физический том| |''lvmsadc''|Собрать данные об активности использования LVM| |''lvmsar''|Создать отчёт об активности использования LVM| |''lvreduce''|Уменьшить размер логического тома| |''lvresize''|Изменить размер логического тома| |''lvs''|Показать информацию о логическом томе| |''lvscan''|Показать список логических томов во всех группах томов| ==== lvcreate ==== Создать логический том Пример: 1. Создание тома ''home'' в группе томов ''vg'' на устройстве ''/dev/md1'' lvcreate -L 30G -n home vg /dev/md1 2. Создание файловой системы на томе ''home'' mkfs.ext4 /dev/vg/users-home 3. Монтирование тома mount /dev/vg/home /srv/home ===== lvremove ===== Удалить логический том из системы. lvremove ИМЯ_ГРУППЫ_ТОМОВ/ИМЯ_ТОМА Пример: lvremove vg01/lv001 ===== lvrename ===== Переименование логического тома. Пример: lvrename /dev/vg01/lv001 /dev/vg01/lv001_test ===== Изменение размеров томов ===== Карту распределения физических томов можно узнать по команде [[#pvdisplay]]. ==== Увеличение ==== - Добавляем 95 Гбайт: lvextend -L+95G /dev/mapper/vg--volume_name можно расширить до максимума (занять всё свободное место): lvextend /dev/mapper/vg--volume_name -l +100%FREE - Изменяем размер ФС: resize2fs /dev/mapper/vg--volume_name ---- [[https://www.altlinux.org/LVM#Увеличение_логических_томов|LVM — ALT Linux Wiki : Увеличение логических томов]] ==== Уменьшение ==== Для **уменьшения** размера корневой файловой системы нужно чтобы она не была смонтирована, для этого можно загрузить систему с внешнего носителя, например можно использовать [[systemrescuecd:systemrescuecd|]] или [[finnix:finnix|Finnix]]. Например, чтобы уменьшить ''/home'' до 100 Гбайт и за счёт этого увеличить размер ''/root'' нужно выполнить следующие действия: 1. Размонтируем ''/home'' umount /home 2. Выполняем проверку файловой системы e2fsck -f /dev/mapper/vg01-home 3. Уменьшаем размер файловой системы раздела ''/home'' до 100 Гбайт: resize2fs /dev/mapper/vg01-home 100G 4. Уменьшаем размер логического тома ''/dev/mapper/vg01-home'' до 100 Гбайт: lvreduce -L 100G /dev/mapper/vg01-home 5. Расширяем логический том ''/dev/mapper/vg01-root'' до максимально возможного размера: lvextend -l +100%FREE /dev/mapper/vg01-root 6. Увеличиваем размер файловой системы раздела ''/root'' используя все свободное место. resize2fs /dev/mapper/vg01-root 7. Монтируем /home mount /home 8. Смотрим на результат lsblk ====== VG ====== Группа томов (Volume group) Группа томов может содержать физические и логические тома. ===== Команды ===== |''vgcfgbackup''|Сделать резервную копию конфигурации группы томов| |''vgcfgrestore''|Восстановить из резервной копии конфигурацию группы томов| |''vgchange''|Изменить атрибуты группы томов| |''vgck''|Проверить целостность группы томов| |''vgconvert''|Изменить формат метаданных группы томов| |''vgcreate''|Создать группу томов| |''vgdisplay''|Показать информацию о группе томов| |''vgexport''|Разрегистрировать группу томов в системе| |''vgimport''|Зарегистрировать эскпортированную группу томов в системе| |''vgimportclone''|import and rename duplicated volume group (e.g. a hardware snapshot)| |''vgmerge''|Объединить группы томов| |''vgmknodes''|Создать файлы устройств для групп томов в папке ''/dev/''| |''vgreduce''|Удалить физический том из группы томов| |''vgremove''|Удалить группу томов| |''vgs''|Показать информацию о группах томов| |''vgscan''|Выполнить поиск групп томов| |''vgsplit''|Переместить физический том в новую группу томов| ===== vgextend ===== Добавить физический том в группу томов. Пример добавления тома ''/dev/md1'' в группу ''vg01'': vgextend vg01 /dev/md1 ===== vgreduce ===== Удалить неисправные записи vgreduce vg01 --removemissing ===== vgrename ===== Переименовать группу томов vgrename vg01 vg01-new После изменения имени группы томов при необходимости нужно внести изменения в: * файлы загрузчика [[grub:grub|GRUB]] командой update-grub * файл ''/etc/fstab'' ====== Extents ====== ''Extent'' — это минимальная единица размера (блок) которой можно оперировать при работе с физическим или логическим томом. |''PE''|Физическая мера (Physical extent)| |''LE''|Логическая мера (Logical extent)| Значение по умолчанию: ''4 Мбайт'' :!: Физические тома и группы томов должны состоять из базовых блоков одинакового размера ====== Создание резервной копии логического тома ====== #удаление root-backup lvremove vg/root-backup # создание снимка root-backup для резервной копии root в группе томов vg на устройстве /dev/md2 # размер не менее реально размера исходного тома lvcreate -L 50G -s -n root-backup /dev/mapper/vg-root /dev/md2 # монтирование снимка mount /dev/vg/root-backup /mnt/root-backup ====== Ссылки ====== [[wpru>LVM]] [[http://xgu.ru/wiki/LVM|Повесть о Linux и LVM (Logical Volume Manager)]] [[http://www.ibm.com/developerworks/ru/library/l-lvm2/|Создание томов, управление томами, мгновенные резервные копии и другие возможности LVM2]] [[http://pingtool.org/ru/online-resize-lvm-partitions-shrink-home-extend-root/|Изменение размеров разделов LVM]] [[https://habr.com/ru/post/323824/|Ускорение домашнего ESXi 6.5 с помощью SSD кэширования / Хабр]] [[https://www.altlinux.org/LVM|LVM — ALT Linux Wiki]] {{tag>Prepare_Storage_Device Linux LVM}}