# LVM на сервере: расширение диска без простоя

> Расширение диска через LVM на VDS без простоя: pvresize, lvextend, resize2fs и xfs_growfs, проверка группы томов и типичные ошибки.

## Что такое LVM и зачем расширять диск без простоя

LVM (Logical Volume Manager) — слой абстракции между физическими дисками и файловой системой. Вместо прямого монтирования раздела LVM собирает один или несколько дисков в группу томов (volume group), а затем нарезает из неё логические тома (logical volume) любого размера. Главное преимущество для VDS: после увеличения размера диска в панели хостинг-провайдера логический том и файловую систему расширяют «на лету», без остановки сервисов и перезагрузки.

Без LVM для увеличения раздела обычно требуется остановка сервисов, пересоздание таблицы разделов или перенос данных. С LVM это несколько команд на работающей системе.

## Проверка текущей конфигурации LVM

Перед расширением стоит посмотреть, из чего состоит текущая структура:

```
lsblk
pvs
vgs
lvs
```

`pvs` показывает физические тома (physical volume), `vgs` — группы томов с общим размером и свободным местом, `lvs` — логические тома с точками монтирования. Команда `lsblk` нужна для проверки нового размера диска на уровне блочного устройства после увеличения в панели хостинга.

## Шаг 1: увеличение диска на уровне системы

После увеличения диска в панели хостинг-провайдера (у ZevsHost.net это делается в клиентской панели без перезагрузки VDS) ядру сообщают об изменении размера:

```
echo 1 > /sys/class/block/sda/device/rescan
partprobe /dev/sda
lsblk
```

При использовании раздела (например, `/dev/sda3`) с LVM внутри раздел расширяют командой `growpart`:

```
apt install -y cloud-guest-utils
growpart /dev/sda 3
```

После этого `lsblk` показывает увеличенный размер раздела `/dev/sda3`.

## Шаг 2: расширение physical volume и logical volume

LVM получает сигнал о том, что физический том стал больше:

```
pvresize /dev/sda3
vgs
```

Поле `VFree` в выводе `vgs` показывает новое свободное место в группе томов. Далее расширяют логический том — на всё доступное место (`-l +100%FREE`) или на конкретный размер:

```
lvextend -l +100%FREE /dev/mapper/vgname-root
```

Имя логического тома уточняют командой `lvs` — оно отличается в зависимости от дистрибутива и способа создания VDS.

## Шаг 3: расширение файловой системы

Увеличение логического тома не меняет размер файловой системы автоматически — её расширяют отдельной командой в зависимости от типа ФС:

| Файловая система | Команда расширения |
| --- | --- |
| ext4 | `resize2fs /dev/mapper/vgname-root` |
| xfs | `xfs_growfs /` |

Обе команды выполняются на смонтированной, работающей файловой системе — простой не требуется. Результат проверяют так:

```
df -h /
```

## Типичные ошибки при расширении LVM

Самая частая проблема — пропуск шага с `growpart` или `partprobe`: тогда `pvresize` не видит нового места, потому что раздел в таблице разделов остался прежнего размера. Вторая ошибка — путаница с именем устройства: `lvextend` и `resize2fs` указывают на один и тот же logical volume, видный в `lvs` в колонке `LV Path`. Когда место после увеличения диска так и не появилось, диагностику начинают заново со статьи [про поиск того, что занимает место на диске](https://www.zevshost.net/ru/kb/disk-zapolnen-diagnostika/) — свободное место может уже быть, просто файловую систему забыли расширить.

## Итог: чек-лист расширения диска на LVM

- Увеличьте диск в панели хостинга, затем выполните `partprobe` и, при необходимости, `growpart`.
- Проверьте структуру: `pvs`, `vgs`, `lvs`.
- Расширьте физический том: `pvresize /dev/sdaN`.
- Расширьте логический том: `lvextend -l +100%FREE /dev/mapper/имя`.
- Расширьте файловую систему: `resize2fs` для ext4 или `xfs_growfs` для xfs.
- Проверьте результат командой `df -h` и настройте [мониторинг ресурсов VDS](https://www.zevshost.net/ru/kb/monitoring-vds/) для контроля следующего заполнения диска.

---

Источник: https://www.zevshost.net/ru/kb/lvm-rasshirenie-diska/
