Ответ
Расширение раздела — частая операция при управлении серверами. Алгоритм зависит от типа раздела и файловой системы. Вот мой стандартный подход:
A. Для обычных разделов (без LVM):
- Увеличиваю диск в гипервизоре/облаке
- Обнаруживаю новое пространство:
lsblk echo 1 > /sys/class/block/sda/device/rescan # Для виртуальных дисков - Расширяю раздел с помощью
parted:parted /dev/sda (parted) print free # Смотрю свободное пространство (parted) resizepart 2 100% # Расширяю второй раздел (parted) quit - Обновляю таблицу разделов:
partprobe /dev/sda -
Расширяю файловую систему:
Для ext2/3/4:
# Проверяю файловую систему сначала e2fsck -f /dev/sda2 # Расширяю resize2fs /dev/sda2Для XFS (только примонтированная):
xfs_growfs /mount/point
B. Для LVM (более гибкий вариант, который я предпочитаю):
-
Расширяю Physical Volume (PV):
pvresize /dev/sda2 pvs # Проверяю свободное пространство -
Расширяю Logical Volume (LV):
# Смотрю свободное пространство в Volume Group vgs
Расширяю LV на 10G
lvextend -L +10G /dev/vgname/lvname
Или расширяю на всё свободное пространство
lvextend -l +100%FREE /dev/vgname/lvname
3. **Расширяю файловую систему:**
```bash
# Для ext4
resize2fs /dev/vgname/lvname
# Для XFS
xfs_growfs /mount/point
C. Особые случаи, с которыми сталкивался:
- Расширение корневого раздела (/): Чаще выполняю с live-USB, если система не поддерживает онлайн-расширение
- Cloud-init диски: В облаках проверяю, что
growpartнастроен в cloud-init конфигурации - RAID массивы: Сначала расширяю каждый компонент RAID, затем сам массив
Мониторинг после операции:
# Проверяю результат
df -h
lsblk
# Для LVM
pvs && vgs && lvs
Всегда делаю бэкап критичных данных перед операцией и тестирую процедуру на staging-окружении.