Зменшення розміру volume group lvm, for unix users

Зменшення розміру Volume group LVM

Менеджер логічних томів (Logical Volume Manager), він же LVM - надає собою додатковий рівень абстракції між фізичними / логічними дисками і файлової системою. LVM збільшує гнучкість файлової системи, дозволяє змінювати розміри логічних томів, переносити дані між дисками «на льоту», робити знімки дисків і т.д.

Для того, щоб було зрозуміло про що йде мова, наведу короткий список термінів, який використовується в LVM:

PV, Physical volume, фізичний том. Зазвичай це розділ на диску або весь диск. В тому числі, пристрої програмного і апаратного RAID (які вже можуть включати в себе кілька фізичних дисків). Фізичні томи входять до складу групи томів.
VG, Volume group, група томо в. Це самий верхній рівень абстрактної моделі, використовуваної системою LVM. З одного боку група томів складається з фізичних томів, з іншого - з логічних і являє собою єдину адміністративну одиницю.
LV, Logical volume, логічний том. Розділ групи томів, еквівалентний розділу диска в не-LVM системі. Являє собою блоковий пристрій і, як наслідок, може містити файлову систему.
PE, Physical extent, фізичний екстент. Кожен фізичний том ділиться на порції даних, що називаються фізичними екстенти.
LE, Logical extent, логічний екстент. Кожен логічний тому ділиться на порції даних, що називаються логічними екстенти. Розмір логічних екстентів не змінюється в межах групи томів. За умовчання, один логічний екстент дорівнює одній фізичній екстенти, це співвідношення може бути змінено за допомогою спеціальних опцій.

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

Розглянемо приклад, коли у нас в системі є один жорсткий диск, який розбитий на два розділи: sda1 і sda2

У розділі / dev / sda2 відповідно створений один фізичний том, група томів vg_testvas і кілька логічних томів:

/ Dev / vg_testvas / LogVol00 - розділ / root
/ Dev / vg_testvas / LogVol01 - розділ / u01
/ Dev / vg_testvas / LogVol03 - розділ / space

Нам необхідно створити нову групу томів. Для цього слід послідовно зменшити розмір файлової системи, логічного тому, фізичного тому і створити новий розділ.

Поточний стан системи ми можемо побачити за допомогою команд pvdisplay, vgdisplay, lvdisplay.

Якщо виконати команду pvdisplay з ключем -maps, то можна побачити скільки фізичних екстентів займає кожен логічний тому:

І висновок відповідно vgdisplay і lvdisplay:

Логічний том / dev / vg_testvas / LogVol03, який відповідає / space є найбільшим, знаходиться в кінці розділу і в ньому багато вільного місця. Тому найзручніше зменшувати його розмір.
Для початку размонтіруем розділ:

Для безпеки перевіримо цілісність файлової системи:

Перед зменшенням розміру логічного тому необхідно відповідно зменшити розмір файлової системи.
Провести це можна двома способами: за допомогою команди resize2fs або використовуючи опцію «-r» команди lvresize, в останньому випадку розмір файлової системи буде автоматично зменшено одночасно з логічним томом:

Результат виконання операції ми можемо перевірити за допомогою команд pvdisplay -maps, lvdisplay або таким способом:

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

Тепер можна зменшити розмір фізичного тому і відповідно групи томів до бажаного розміру:

Після цього за допомогою утиліти fdisk видаляємо старий розділ / dev / sda2, на його місці створюємо розділ sda2 відповідно до розміру нашого нового фізичного тому. Для запобігання проблем рекомендується цей розділ зробити на кілька мегабайт більше, ніж наш фізичний том.

На фізичному диску з'явилася розділеного область. Створюємо новий розділ / dev / sda3 за допомогою утиліти fdisk:

Створюємо фізичний том в групу томів vg_new:

Після виконання всіх операцій у новій групі томів ми можемо створити необхідну кількість логічних томів.