В Linux можно изменять размеры дисков. Традиционно, этот процесс выполняется в 2 этапа: изменение самих партиций (partitions) и изменение томов (volumes), на них находящихся.
В зависимости от того, как разделы были созданы, используются и разные утилиты для этого. Для разделов, созданных вручную используются утилиты gparted или fdisk (устаревшая). Эти утилиты предлагают предварительно размонтировать раздел. Для разделов, созданных через LVM понадобятся утилиты самой LVM, но размонтирование не требуется.
Почему мы не используем утилиту growpart
? Она только расширяет последнюю партицию, но не создает или не удаляет существующие, заполняя свободное пространство до конца диска и меняет указатель секторов диска на последний сектор.
Если вы используете виртуализацию vSphere, то изменение размера VMDK файла не отражается в системе сразу. Для этого надо выполнить rescan, например, для диска sdc:
echo 1 > /sys/block/sdc/device/rescan
Изменяем разделы LVM
Потребуются следующие утилиты и команды: lsblk / df, pvresize, lvextend, resize2fs / xfs_growfs.
Для начала смотрим, какие блочные устройства доступны в системе через lsblk или df. Можно посмотреть раздел разделов и тип файловой системы на нем, например
lsblk
lsblk /dev/nvme1n1 -f
fdisk -l | grep /dev
Далее, изменяем размер партиций. Если не указывать параметров, то используется все свободное доступное пространство. Можно указать несколько разделов сразу:
pvresize /dev/nvme1n1 /dev/nvme2n1 /dev/nvme3n1
или задать фиксированный размер раздела:
pvresize --setphysicalvolumesize 800G /dev/nvme1n1 /dev/nvme2n1
После изменения размера проверяем новый размер командами pvdisplay или pvs (удобно, если много партиций сразу).
Изменяем размер логичного тома, используя все доступное место:
lvextend -l +100%Free /dev/mapper/data
Cинтаксис тома включает название группы томов и конкретного тома через: /dev/VolGroup/lv. Device Mapper (/dev/mapper) — модуль ядра Linux, позволяющая создавать виртуальные блочные устройства, чем и пользуется LVM, RAID и прочие менеджеры.
Проверяем размер томов через vgs
или vgdisplay
— обращаем внимание, появилось ли Free PE / Size
"".
И, наконец, увеличиваем размер файловой системы. Применяемая утилита зависит от типа ФС.
Для ext2/ext3/ext4 указывается раздел:
resize2fs /dev/sda1
или, аналогично примеру выше:
resize2fs /dev/mapper/data
В случае XFS указывается точка монтирования:
xfs_growfs /
в случае btrfs также указывает точку монтирования:
btrfs filesystem resize max /