Диск стал мал: как увеличить
Что делать, когда диска не хватает: чистка, вынос данных наружу или переход на ступень выше — и почему уменьшить диск обратно нельзя.
Обновлено 23 августа 2026 г.
Диск на VDS привязан к ступени: 40 ГБ на VDS-1 и до 250 ГБ на VDS-6. Отдельно докупить место нельзя — размер меняется вместе с тарифом. Прежде чем платить больше, стоит проверить, действительно ли место занято данными.
Шаг первый: убедитесь, что место занято делом
df -h /
sudo du -x -h -d1 / | sort -h | tail -10
docker system df
journalctl --disk-usage
Очень часто половину диска держат журналы, кеш сборки и старые образы. Подробный разбор — место на диске. Освободив 30-40 % чисткой, вы отложите переход на несколько месяцев.
Шаг второй: вынесите то, что не обязано лежать здесь
- Резервные копии — им место на другой площадке, а не на том же диске.
- Загружаемые пользователями файлы — в объектное хранилище S3; приложение будет отдавать ссылки.
- Архивы и медиа — на отдельное дешёвое хранилище с доступом по SFTP.
- Реестр образов — самый прожорливый сервис, см. свой реестр.
Шаг третий: переход на ступень выше
Улучшение тарифа делается в панели машины и работает только вверх. Доплата считается за оставшиеся дни оплаченного срока — вы не теряете уже внесённые деньги.
| Со ступени | На ступень | Диск станет |
|---|---|---|
| VDS-1 | VDS-2 | 80 ГБ |
| VDS-2 | VDS-3 | 120 ГБ |
| VDS-3 | VDS-4 | 160 ГБ |
| VDS-4 | VDS-5 | 200 ГБ |
| VDS-5 | VDS-6 | 250 ГБ |
Вместе с диском растут ядра, память и полка по скорости записи — см. скорость диска.
Понижение тарифа не предусмотрено: диск не сжимается. Файловую систему можно уменьшить, а виртуальный диск под ней — нет без риска потерять данные. Поэтому берите ступень с запасом на год, а не «на всякий случай на два года вперёд».
После увеличения
Обычно раздел и файловая система расширяются автоматически при загрузке. Проверьте:
lsblk
df -h /
Если lsblk показывает диск большего размера, а df — прежний, расширьте вручную:
sudo growpart /dev/sda 1
sudo resize2fs /dev/sda1 # ext4
sudo xfs_growfs / # xfs
Для разметки LVM порядок другой:
sudo pvresize /dev/sda3
sudo lvextend -l +100%FREE /dev/mapper/vg-root
sudo resize2fs /dev/mapper/vg-root
Подробнее — разделы и файловые системы. Расширение файловой системы выполняется на смонтированном разделе и данные не трогает, но копия перед этим всё равно обязательна.
Что делать, если места нет прямо сейчас
При полностью забитом диске часть команд перестаёт работать: система не может записать даже временный файл. Порядок действий:
journalctl --vacuum-size=100M
apt clean
docker builder prune -f
sudo truncate -s 0 /var/lib/docker/containers/*/*-json.log
Это освободит гигабайт-другой и вернёт управляемость. Дальше — по шагам выше.
Частые ошибки
- Удалили файлы, а место не вернулось. Процесс держит удалённый файл открытым:
sudo lsof +L1и перезапуск службы. - Перешли на ступень выше, не разобравшись с причиной. Утечка журналов заполнит и 250 ГБ, просто позже.
- Расширили раздел без копии. Ошибка в номере раздела в
growpartстоит всех данных. Сначала копия. - Забыли про иноды.
df -i: место есть, а файлов создать нельзя. Помогает удаление залежей мелких файлов, а не увеличение диска.