Робота з LVM

LVM - це система управління дисковим простором з додатковим ступенем абстракції від фізичного рівня. Вона дозволяє гнучко і ефективно керувати дисковим простором, відмовостійкістю даних, а також допомагає у вирішенні різноманітних завдань з резервного копіювання даних, розгортання систем зберігання для середовищ віртуалізації і так далі.

У цій статті ми розглянемо, як встановити і використовувати LVM в Linux.

Встановлення

ЗазвичайLVM встановлюється разом з операційною системою Linux, але якщо це не так, ви можете встановити його за допомогою менеджера пакунків вашого дистрибутива Linux. Для більшості дистрибутивів команда для встановлення LVM матиме такий вигляд:

Для Debian або Ubuntu:

sudo apt-get install lvm2

Для CentOS, Fedora і RHEL:

sudo yum install lvm2

Створення фізичних томів

Перш ніж створювати логічні томи, необхідно створити фізичні томи (pv). Фізичний том - це віртуальний пристрій, наприклад, жорсткий диск або розділ диска, який LVM використовує для створення логічних томів.

Зауваження: Рекомендується створювати фізичні томи на жорсткому диску без використання розбиття на розділи, оскільки інакше процес динамічної зміни розміру lvm ускладниться у довгостроковій перспективі.

Щоб створити фізичний том, виконайте такі дії:

Створіть фізичний том за допомогою команди pvcreate:

sudo pvcreate /dev/sdb

Де /dev/sdb - шлях до фізичного пристрою.

2. Перевірте створений фізичний том за допомогою команди pvdisplay:

sudo pvdisplay

У результаті ви побачите інформацію про створений фізичний том.

Створення групи фізичних томів

Група фізичних томів (vg) - це логічний контейнер, який може об'єднувати кілька фізичних томів в одну загальну групу. Однак ніщо не заважає використовувати його в межах одного фізичного тому. Щоб створити групу фізичних томів, виконайте такі дії:

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

sudo vgcreate vg0 /dev/sdb
# либо для нескольких pv
sudo vgcreate vg0 /dev/sdb /dev/sdc

Створення логічного тому

Тепер ви можете створювати логічні томи, які можна умовно представити як розділи на жорсткому диску.

1. Створіть логічний том у групі фізичних томів за допомогою команди lvcreate :

sudo lvcreate -n lv0 -L 10G vg0   # Создание логического тома lv0 размером 10 ГБ в группе физических томов vg0

Де -n - назва логічного тому, -L - розмір логічного тому.

2. Перевірте створений логічний том за допомогою команди lvdisplay:

sudo lvdisplay

Ви побачите інформацію про створений логічний том.

3. Створіть файлову систему на логічному томі за допомогою команди mkfs:

sudo mkfs.ext4 /dev/vg0/lv0

4. Створіть точку монтування для нової файлової системи за допомогою команди mkdir:

sudo mkdir /mnt/lv0

5. змонтуйте нову файлову систему до точки монтування за допомогою команди mount:

sudo mount /dev/vg0/lv0 /mnt/lv0

Тепер ви можете використовувати нову файлову систему, розташовану на логічному томі.

Використання LVM

LVM надає багато команд для керування фізичними томами, групами фізичних томів і логічними томами. Нижче наведено деякі з найпоширеніших команд:

  • pvcreate: Створює новий фізичний том.
  • pvdisplay: Відображає інформацію про фізичні томи.
  • vgcreate: Створює нову групу фізичних томів.
  • vgextend: Додає фізичний том до групи фізичних томів.
  • vgdisplay: Відображає інформацію про групи фізичних томів.
  • lvcreate: Створює новий логічний том.
  • lvextend: Збільшує розмір логічного тому.
  • lvdisplay: Відображає інформацію про логічні томи.

LVM також дозволяє збільшувати розмір фізичних томів, груп фізичних томів і логічних томів під час роботи системи. Для цього існують відповідні команди:

  • pvresize: Зміна розміру фізичного тому.
  • vgresize: Зміна розміру групи фізичних томів.
  • lvresize: Змінює розмір логічного тому.

Виконавши будь-яку з наведених вище команд з параметром --help, ви зможете ознайомитися з додатковими параметрами аргументів команди.

Керування розміром логічного тому:

Наприклад, щоб збільшити розмір логічного тому lv0 у групі фізичних томів vg0 на 5 ГБ, скористайтеся командою:

sudo lvresize -L +5G /dev/vg0/lv0

або весь вільний простір, що залишився на фізичному томі:

sudo lvresize -l +100%FREE /dev/vg0/lv0
Зверніть увагу, що в останньому прикладі використовується велика літера l, а в попередньому прикладі - мала літера L.
У цьому форматі ви можете гнучко задати відсоток вільного простору від залишкового простору на фізичному томі, який буде додано до логічного тома.

Потім ви можете змінити розмір файлової системи на льоту за допомогою команди resize2fs:

sudo resize2fs /dev/vg0/lv0

Знімки LVM

LVM у Linux підтримує механізм знімків, який дозволяє створювати точні копії логічних томів у певний момент часу. Це корисна функція, яка дозволяє зберігати стан даних в певний момент часу і при необхідності відновлювати їх до цього стану.

Технологія створення знімків LVM працює наступним чином: знімок створюється шляхом збереження стану логічного тому в момент часу, коли створюється знімок. Після створення знімка будь-які зміни, що відбуваються в оригінальному логічному томі, зберігаються в додатковому диференціальному дисковому просторі. Це може допомогти при резервному копіюванні і відновленні даних на момент створення знімка.

Давайте розглянемо, як створювати і використовувати механізм створення знімків LVM.

Створення знімка LVM

Створення знімка LVM виконується за допомогою команди lvcreate. Наприклад, для створення знімка логічного тому myvolume у групі томів myvg скористайтеся такою командою:

sudo lvcreate --snapshot --name myvolume_snap --size 1G /dev/myvg/myvolume

Ця команда створить знімок логічного тому myvolume з назвою myvolume_snap і розміром 1 ГБ.

Зауважте, що для створення знімка потрібно вказати його розмір.

Використання знімка LVM

Після створення знімка ви можете використовувати його для виконання різних завдань. Наприклад, ви можете використовувати знімок для відновлення даних або створення резервної копії. Щоб змонтувати знімок у файлову систему, скористайтеся наступною командою:

sudo mount /dev/myvg/myvolume_snap /mnt/snapshot

Тут /mnt/snapshot - це точка монтування, куди буде змонтовано знімок. Після монтування знімка ви можете скопіювати дані з нього або використовувати його для відновлення даних.

Видалення знімка LVM

Після використання знімка його можна видалити. Щоб видалити знімок, скористайтеся командою lvremove. Наприклад, щоб видалити знімок myvolume_snapshot у групі томів myvg, скористайтеся наступною командою:

sudo lvremove /dev/myvg/myvolume_snap

Зауважте, що якщо ви видалите знімок, усі дані, які було змінено після створення знімка, буде втрачено.

Тонкі пули

Тонкий пул - це механізм LVM, який дозволяє створювати логічний том, який використовує лише ту частину фізичних дискових пристроїв, яка фактично містить дані. Це дозволяє зменшити споживання дискового простору і більш ефективно керувати ним. Ця особливість LVM набула найбільшого поширення в системах віртуалізації як зручне і економічне рішення для виділення дискового простору для віртуальних машин і контейнерів. Давайте розглянемо, як створити тонкий пул в LVM.

Створення тонкого пулу LVM

Тонкий пул створюється за допомогою знайомої команди lvcreate. Наприклад, щоб створити тонкий пул mythinpool у групі томів myvg на фізичних томах /dev/sdb і /dev/sdc, скористайтеся наступною командою:

sudo lvcreate -L 50G -T myvg/mythinpool /dev/sdb /dev/sdc

Тут -L вказує розмір тонкого пулу у гігабайтах, а -T вказує на те, що ми створюємо тонкий пул. Ця команда створить тонкий пул mythinpool розміром 50 ГБ.

Створення тонкого тому LVM

Тонкий том - це логічний том, який створюється всередині тонкого пулу. Тонкі томи можна створити за допомогою команди lvcreate. Наприклад, щоб створити тонкий том mythinvolume розміром 10 ГБ у тонкому пулі mythinpool у групі томів myvg, скористайтеся наступною командою:

sudo lvcreate -V 10G -T myvg/mythinpool -n mythinvolume

Тут -V вказує розмір тонкого тому в гігабайтах, а -n - ім'я тонкого тому. Ця команда створить тонкий том mythinvolume розміром 10 ГБ всередині тонкого пулу mythinpool.

Використання тонкого тому LVM

Тонкий том можна використовувати як звичайний логічний том. Наприклад, щоб створити файлову систему ext4 на тонкому томі mythinvolume, скористайтеся наступною командою:

sudo mkfs.ext4 /dev/myvg/mythinvolume

Після створення файлової системи тонкого тому його можна змонтувати і використовувати як звичайний логічний том.

Тонкий пул дозволяє створювати більш гнучкі та ефективні конфігурації сховищ у Linux. Тонкий пул використовується у поєднанні з тонким томом для оптимального використання дискового простору.