Я не буду пытаться убедить вас использовать LVM. Здесь я просто покажу вам, как использовать этот прекрасный уровень абстракции.
Это скорее шпаргалка, чем полное руководство.
- Оглавление
- Физический том (PV)
- Описание
- Создание PV
- Отображение информации о ПВ
- Группа громкости (VG)
- Описание
- Создание VG
- Отображение информации о виртуальных томах
- Манипуляции
- Удалить VG
- Логический том (LV)
- Описание
- Создание LV
- Отображение информации о LV
- Как получить доступ к LV
- Создание моментального снимка
- Манипуляции
- Увеличение LV
- Уменьшить LV
- Удалить LV
Оглавление
- Физический том
- Описание
- Создание физического тома
- Отображение информации о томе
- Группа томов
- Описание
- Создать VG
- Отображение информации о VG
- Манипуляции
- Удалить VG
- Логический том
- Описание
- Создание LV
- Отображение информации о LV
- Доступ к ЛВ
- моментальный снимок
- Манипуляции
- Увеличить LV
- Уменьшить ОЖ
- Удалить LV
Физический том (PV)
Описание
Физическая система (диски, разделы, RAID); используется как необработанное оборудование для построения архитектуры с более высоким уровнем абстракции.
LVM записывает заголовок к аппаратному обеспечению, указывая на его управляемость LVM.
Создание PV
sudo lvmdiskscan
# Displays all disks potentially manageable by lvm
sudo pvcreate /dev/sda /dev/sdb
# ⤷ Output pvcreate :
# Physical volume "/dev/sda" successfully created
# Physical volume "/dev/sdb" successfully created
Отображение информации о ПВ
sudo pvs
# For more details, use :
sudo pvdisplay
# ⤷ Output pvs :
# PV VG Fmt Attr PSize PFree
# /dev/sda lvm2 --- 200.00g 200.00g
# /dev/sdb lvm2 --- 100.00g 100.00g
Группа громкости (VG)
Описание
LVM объединяет физические тома в группу. Эти группы абстрагируются от базовых характеристик физических устройств и поэтому функционируют как единое целое, объединяющее возможности хранения физических томов.
Создание VG
sudo vgcreate <NAME_VG> /dev/sda /dev/sdb
# PV previously tagged
# ⤷ Output vgcreate :
# Volume group "NAME_VG" successfully created
Отображение информации о виртуальных томах
sudo vgs
# For more details, use :
sudo vgdisplay
# ⤷ Output vgs :
# VG #PV #LV #SN Attr VSize VFree
# NAME_VG 2 0 0 wz--n- 299.99g 299.99g
Примечание: теперь, когда наши физические тома связаны с группой томов, при запуске pvs
колонка VG теперь указывает на имя группы томов.
Манипуляции
Удалить VG
sudo umount /dev/<NAME_VG>/<ALL_LVS>
sudo vgremove <NAME_VG>
Логический том (LV)
Описание
Группа томов теперь может быть разделена на несколько логических томов. Эти логические тома функционально эквивалентны разделам на физическом диске, но при этом обладают гораздо большей гибкостью. Эти логические тома являются основными компонентами, которые используют пользователи и приложения.
Создание LV
sudo lvcreate -L <10G> -n <NAME_LV1> <NAME_VG>
# To create a LV <NAME_LV2> that uses all the remaining space available on <NAME_VG> :
sudo lvcreate -l 100%FREE -n <NAME_LV2> <NAME_VG>
# ⤷ Output lvcreate :
# Logical volume "NAME_LV1" created.
# Logical volume "NAME_LV2" created.
Отображение информации о LV
sudo lvs
# For more details, use :
sudo lvdisplay
# ⤷ Output lvs :
# LV VG Attr Lsize
# NAME_LV1 NAME_VG -wi-ao---- 10,00g
# NAME_LV1 NAME_VG -wi-ao---- 100,00g
Как получить доступ к LV
Логические тома доступны через /dev/NAME_VG/NAME_LV1
или /dev/mapper/NAME_VG-NAME_LV1
; например, для форматирования или монтирования.
Создание моментального снимка
sudo lvcreate –s –L <10G> -n <NAME_SNAP> <NAME_VG>/<NAME_LV1>
Манипуляции
Увеличение LV
sudo lvresize -L <+5G> --resizefs <NAME_VG>/<NAME_LV1>
# Adds 5G to LV and also extends its filesystem
Уменьшить LV
df -h # Evaluate the size we can recover
sudo umount /dev/<NAME_VG>/<NAME_LV1> # Unmount the LV
sudo fsck -t ext4 -f /dev/<NAME_VG>/<NAME_LV1> # Check the file system
sudo resize2fs -p /dev/<NAME_VG>/<NAME_LV1> <5G> # Shrink the size of the filesystem
sudo lvresize -L <5G> /dev/<NAME_VG>/<NAME_LV1> # Shrink LV size
sudo fsck -t ext4 -f /dev/<NAME_VG>/<NAME_LV1> # Control the filesystem
sudo mount /dev/<NAME_VG>/<NAME_LV1> /mnt/... # Mount the LV
Удалить LV
sudo umount /dev/<NAME_VG>/<NAME_LV1>
sudo lvremove <NAME_VG>/<NAME_LV1>