Що таке LVM і навіщо розширювати диск без простою
LVM (Logical Volume Manager) — шар абстракції між фізичними дисками та файловою системою. Замість прямого монтування розділу LVM збирає один чи декілька дисків у групу томів (volume group), а потім нарізає з неї логічні томи (logical volume) будь-якого розміру. Головна перевага для VDS: після збільшення розміру диска в панелі хостинг-провайдера логічний том та файлову систему розширюють «на льоту», без зупинки сервісів та перезавантаження.
Без LVM для збільшення розділу зазвичай потрібна зупинка сервісів, перестворення таблиці розділів чи перенесення даних. З LVM це декілька команд на працюючій системі.
Перевірка поточної конфігурації LVM
Перед розширенням варто глянути, з чого складається поточна структура:
lsblk
pvs
vgs
lvs
pvs показує фізичні томи (physical volume), vgs — групи томів із загальним розміром і вільним місцем, lvs — логічні томи з точками монтування. Команда lsblk потрібна для перевірки нового розміру диска на рівні блокового пристрою після збільшення в панелі хостингу.
Крок 1: збільшення диска на рівні системи
Після збільшення диска в панелі хостинг-провайдера (у ZevsHost.net це роблять у клієнтській панелі без перезавантаження VDS) ядру повідомляють про зміну розміру:
echo 1 > /sys/class/block/sda/device/rescan
partprobe /dev/sda
lsblk
За використання розділу (наприклад, /dev/sda3) з LVM всередині розділ розширюють командою growpart:
apt install -y cloud-guest-utils
growpart /dev/sda 3
Після цього lsblk показує збільшений розмір розділу /dev/sda3.
Крок 2: розширення physical volume і logical volume
LVM отримує сигнал про те, що фізичний том став більшим:
pvresize /dev/sda3
vgs
Поле VFree у виводі vgs показує нове вільне місце у групі томів. Далі розширюють логічний том — на все доступне місце (-l +100%FREE) чи на конкретний розмір:
lvextend -l +100%FREE /dev/mapper/vgname-root
Ім'я логічного тому уточнюють командою lvs — воно відрізняється залежно від дистрибутива та способу створення VDS.
Крок 3: розширення файлової системи
Збільшення логічного тому не змінює розмір файлової системи автоматично — її розширюють окремою командою залежно від типу ФС:
| Файлова система | Команда розширення |
|---|---|
| ext4 | resize2fs /dev/mapper/vgname-root |
| xfs | xfs_growfs / |
Обидві команди виконуються на змонтованій, працюючій файловій системі — простій не потрібен. Результат перевіряють так:
df -h /
Типові помилки за розширення LVM
Найчастіша проблема — пропуск кроку з growpart чи partprobe: тоді pvresize не бачить нового місця, тому що розділ у таблиці розділів лишився попереднього розміру. Друга помилка — плутанина з іменем пристрою: lvextend та resize2fs вказують на один і той самий logical volume, видний у lvs у колонці LV Path. Коли місце за збільшення диска так і не з'явилось, діагностику починають наново зі статті про пошук того, що займає місце на диску — вільне місце вже може бути, просто файлову систему забули розширити.
Підсумок: чек-лист розширення диска на LVM
- Збільшіть диск у панелі хостингу, потім виконайте
partprobeта, за потреби,growpart. - Перевірте структуру:
pvs,vgs,lvs. - Розширте фізичний том:
pvresize /dev/sdaN. - Розширте логічний том:
lvextend -l +100%FREE /dev/mapper/ім'я. - Розширте файлову систему:
resize2fsдля ext4 чиxfs_growfsдля xfs. - Перевірте результат командою
df -hта налаштуйте моніторинг ресурсів VDS для контролю наступного заповнення диска.