Як розширити кореневий розділ Linux LVM за допомогою додаткового сховища на Linux
Вступ
У цьому посібнику ви розширите кореневий розділ Linux Logical Volume Manager (LVM), додавши нове сховище. Цей метод дозволяє збільшити дискову ємність без перевстановлення системи або зупинки сервісів. Описано точний і безпечний процес, придатний для production систем, де помилки можуть призвести до незворотної втрати даних.
Передумови
Цільова аудиторія: системні адміністратори початківці
Орієнтовний час: 30-45 хвилин
Операційна система: Дистрибутив Linux з підтримкою LVM (перевірено на Debian 13)
Необхідне програмне забезпечення:
- lvm2 (2.03.x або новіше)
- util-linux (включає lsblk)
- e2fsprogs (для ext4) або xfsprogs (для XFS)
Апаратні вимоги:
- Один додатковий порожній диск (наприклад /dev/sdb)
Права доступу:
- Root або користувач із правами sudo
Мережеві вимоги:
- Не потрібні
Необхідні знання:
- Базове використання командного рядка
- Розуміння дисків і розділів
Кінцева мета: Після вивчення цього посібника ви розширите свій кореневий логічний том, використовуючи додаткове сховище без простою.
Небезпека: Вартість помилки не піддається оцінці. Одна неправильна назва пристрою може знищити всі дані у вашій системі. Завжди перевіряйте кожну команду перед виконанням.
Якщо ви вперше працюєте з LVM, відпрацюйте ці кроки в тестовому середовищі.
Крок 1: Перевірка поточної конфігурації LVM
Виконайте наступні команди, щоб перевірити поточну конфігурацію LVM.
pvs відображає інформацію про фізичні томи. Вона показує, які диски або розділи ініціалізовані для LVM, а також скільки простору доступно або використовується на кожному фізичному томі.
sudo pvs
Приклад виводу:
PV VG Fmt Attr PSize PFree /dev/sda5 debian-lvm-vg lvm2 a-- 9.25g 36.00m
vgs відображає інформацію про групи томів. Вона показує загальний розмір кожної групи томів, скільки простору використовується та скільки вільного простору доступно для розширення.
sudo vgs
Приклад виводу:
VG #PV #LV #SN Attr VSize VFree debian-lvm-vg 1 2 0 wz--n- 9.25g 36.00m
lvs відображає інформацію про логічні томи. Вона показує розмір, назву та атрибути кожного логічного тому, включаючи кореневий том, який ви будете розширювати. You will extend partition using additional disk.
sudo lvs
Приклад виводу:
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert root debian-lvm-vg -wi-ao---- <8.69g swap_1 debian-lvm-vg -wi-ao---- 544.00m
Очікуваний результат:
- Ви бачите свій кореневий логічний том, групу томів і фізичні томи
- Кореневий логічний том зазвичай змонтований у
/
Крок 2: Визначення нового диска
Перелічіть доступні диски:
lsblk -o NAME,SIZE,TYPE,MOUNTPOINT
Приклад виводу:
NAME SIZE TYPE MOUNTPOINT sda 10G disk ├─sda1 759M part /boot ├─sda2 1K part └─sda5 9.3G part ├─debian--lvm--vg-root 8.7G lvm / └─debian--lvm--vg-swap_1 544M lvm [SWAP] sdb 5G disk sdc 5G disk sdd 5G disk
Очікуваний результат:
- Новий диск, наприклад /dev/sdb, з'являється без розділів або файлової системи
Попередження: Переконайтеся, що диск правильний і порожній. Усі наявні дані на цьому диску будуть втрачені.
Крок 3: Створення фізичного тому
Ініціалізуйте новий диск як фізичний том:
sudo pvcreate /dev/sdb
Очікуваний результат:
- Команда успішно завершується і повідомляє про створення фізичного тому
Перевірка:
sudo pvs
This allows you to add new storage to existing LVM.
Крок 4: Розширення групи томів
Додайте новий фізичний том до існуючої групи томів:
sudo vgextend <VG_NAME> /dev/sdb
Очікуваний результат:
- Розмір групи томів збільшується і включає новий диск
Перевірка:
sudo vgs
Приклад виводу:
VG #PV #LV #SN Attr VSize VFree debian-lvm-vg 2 2 0 wz--n- <19.25g 0
У стовпці PV показано, що група томів тепер містить новий диск.
Крок 5: Розширення кореневого логічного тому
Розширте кореневий логічний том, щоб використати весь доступний вільний простір. Для розширення логічного тому використовується команда lvextend:
sudo lvextend -l +100%FREE /dev/<VG_NAME>/root
Очікуваний результат:
- Розмір логічного тому успішно збільшується
Крок 6: Розширення файлової системи
Розширте файлову систему, щоб використати додатковий простір.
Для ext4:
sudo resize2fs /dev/<VG_NAME>/root
Для XFS:
sudo xfs_growfs /
Очікуваний результат:
- Файлова система розширюється відповідно до нового розміру логічного тому
Крок 7: Перевірка розширення
Перевірте оновлений розмір файлової системи:
df -h /
Очікуваний результат:
- Коренева файлова система відображає збільшену ємність
Підтвердження стану LVM:
sudo lvs
sudo vgs
Перевірка і тестування
- Система залишається працездатною без перезавантаження
df -hпоказує збільшений доступний простір- У системних логах немає помилок:
dmesg | tail
Відкат змін
Відкат можливий лише якщо в новий простір не було записано критичних даних.
- Зменшіть використання файлової системи, якщо застосовно
- Зменшіть файлову систему, якщо це підтримується
- Зменшіть логічний том:
sudo lvreduce /dev/<VG_NAME>/root - Видаліть диск із групи томів:
sudo vgreduce <VG_NAME> /dev/sdb - Видаліть фізичний том:
sudo pvremove /dev/sdb
Попередження: Зменшення логічних томів і файлових систем є ризикованим і може призвести до втрати даних. Уникайте цієї операції в production, якщо це не є абсолютно необхідним.
Усунення несправностей
- Команда завершується з помилкою "device not found": перевірте назву диска за допомогою
lsblk - Група томів не має вільного простору: переконайтеся, що
vgextendвиконано успішно - Розмір файлової системи не змінився: переконайтеся, що використовується правильний інструмент для вашого типу файлової системи
- Помилки доступу: переконайтеся, що команди виконуються з sudo або від root
Висновок і наступні кроки
Ви успішно розширили кореневий розділ за допомогою LVM, додавши новий диск, розширивши групу томів і збільшивши файлову систему без простою. Цей метод є критично важливим для керування зростанням сховища в Linux середовищах.
Наступні кроки:
- Налаштувати LVM snapshots для резервного копіювання
- Моніторити використання диска
- Дослідити розширені можливості LVM