Как расширить раздел на Linux

«Как расширить раздел на Linux» — вопрос из категории Linux, который задают на 23% собеседований Devops Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Расширение раздела — частая операция при управлении серверами. Алгоритм зависит от типа раздела и файловой системы. Вот мой стандартный подход:

A. Для обычных разделов (без LVM):

  1. Увеличиваю диск в гипервизоре/облаке
  2. Обнаруживаю новое пространство:
    lsblk
    echo 1 > /sys/class/block/sda/device/rescan  # Для виртуальных дисков
  3. Расширяю раздел с помощью parted:
    parted /dev/sda
    (parted) print free                # Смотрю свободное пространство
    (parted) resizepart 2 100%        # Расширяю второй раздел
    (parted) quit
  4. Обновляю таблицу разделов:
    partprobe /dev/sda
  5. Расширяю файловую систему:

    Для ext2/3/4:

    # Проверяю файловую систему сначала
    e2fsck -f /dev/sda2
    # Расширяю
    resize2fs /dev/sda2

    Для XFS (только примонтированная):

    xfs_growfs /mount/point

B. Для LVM (более гибкий вариант, который я предпочитаю):

  1. Расширяю Physical Volume (PV):

    pvresize /dev/sda2
    pvs  # Проверяю свободное пространство
  2. Расширяю 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-окружении.