Start typing to search across invoices, services, domains, tickets, and more...
Если на сервере закончилось место, а система использует LVM (менеджер логических томов), объём можно увеличить без переустановки и, как правило, без простоя. В статье описано расширение диска в Linux с помощью LVM в двух типичных случаях — добавление нового диска в группу томов и увеличение существующего диска, — а также расширение корневого раздела без LVM утилитой growpart. Команды подходят для Debian/Ubuntu и CentOS/Rocky/AlmaLinux и выполняются от root.
Установите lvm2 и пакет с growpart, затем с помощью lsblk, pvs, vgs и lvs определите, какой диск является физическим томом (PV), как называется группа томов (VG) и куда смонтированы логические тома (LV). В примерах используются VG vg0 и LV /dev/vg0/root — подставьте свои имена.
# Debian / Ubuntu
apt update && apt install -y lvm2 cloud-guest-utils
# CentOS / Rocky / AlmaLinux
dnf install -y lvm2 cloud-utils-growpart
# Inspect the current layout
lsblk
pvs
vgs
lvs
df -hT
Если подключён второй диск, например /dev/vdc, инициализируйте его как физический том и добавьте в существующую группу. Значение VFree в выводе vgs увеличится — в группе появилось свободное место. Не выполняйте pvcreate на диске с данными.
# Scenario A: a new disk /dev/vdc was added
pvcreate /dev/vdc
vgextend vg0 /dev/vdc
vgs vg0
Если размер существующего диска увеличен (например, с 40 до 100 ГБ), сначала растяните раздел до конца диска через growpart, затем выполните pvresize, чтобы физический том увидел новое место. Обратите внимание на пробел между именем диска и номером раздела.
# Scenario B: the existing disk /dev/vda was enlarged and the PV is partition 2
growpart /dev/vda 2
pvresize /dev/vda2
vgs
Когда в группе есть свободное место, выделите его нужному тому. -l +100%FREE отдаёт всё оставшееся место, -L +50G — фиксированный объём.
# Give all free space in the VG to the logical volume
lvextend -l +100%FREE /dev/vg0/root
# Or add a fixed amount
lvextend -L +50G /dev/vg0/data
Чтобы df показал новый размер, нужно расширить и файловую систему. Для ext4 запустите resize2fs с путём к тому, для XFS — xfs_growfs с точкой монтирования. Можно также добавить к lvextend ключ -r, и том с файловой системой расширятся за один шаг.
# ext4
resize2fs /dev/vg0/root
# XFS (pass the mount point)
xfs_growfs /
# Alternative: extend LV and filesystem in one step
lvextend -r -l +100%FREE /dev/vg0/root
df -hT
Во многих облачных образах корень — обычный раздел, а не LVM. После увеличения диска достаточно растянуть раздел growpart и затем файловую систему — всё онлайн, без перезагрузки.
# Root partition without LVM, e.g. /dev/vda1 mounted on /
growpart /dev/vda 1
resize2fs /dev/vda1 # ext4
xfs_growfs / # XFS
df -hT /
За разделом нет свободного места: либо новый размер диска ещё не применился, либо раздел уже максимальный. Проверьте размер диска в lsblk, при необходимости перезагрузите сервер и повторите.
Нет, XFS только увеличивается. Для уменьшения придётся сделать резервную копию, пересоздать файловую систему и восстановить данные. ext4 можно уменьшить только в отмонтированном состоянии, и это рискованно.
Нужно отключить и удалить swap-раздел, расширить корень, а затем перейти на swap-файл или пересоздать swap в свободной области. Это сложная операция — при необходимости создайте тикет, и мы поможем.
Если проблема не решилась, создайте тикет — техническая поддержка IMIDC работает круглосуточно 24/7. Укажите IP-адрес сервера, операционную систему, выполненные команды и приложите скриншот ошибки: так инженер разберётся быстрее.