VDS · Резервные копии и диск

Диск стал мал: как увеличить

Что делать, когда диска не хватает: чистка, вынос данных наружу или переход на ступень выше — и почему уменьшить диск обратно нельзя.

Обновлено 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-1VDS-280 ГБ
VDS-2VDS-3120 ГБ
VDS-3VDS-4160 ГБ
VDS-4VDS-5200 ГБ
VDS-5VDS-6250 ГБ

Вместе с диском растут ядра, память и полка по скорости записи — см. скорость диска.

Понижение тарифа не предусмотрено: диск не сжимается. Файловую систему можно уменьшить, а виртуальный диск под ней — нет без риска потерять данные. Поэтому берите ступень с запасом на год, а не «на всякий случай на два года вперёд».

После увеличения

Обычно раздел и файловая система расширяются автоматически при загрузке. Проверьте:

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: место есть, а файлов создать нельзя. Помогает удаление залежей мелких файлов, а не увеличение диска.