Диск закінчується: як його збільшити
Що робити, коли місця на диску не вистачає: очищення, винесення даних назовні або перехід на вищий тариф — і чому не можна зменшити диск назад.
Оновлено 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коштує вам усіх даних. Спершу зробіть бекап. - Ви забули про inode.
df -i: місце є, але файли не створюються. Допомагає видалення купи дрібних файлів, а не збільшення диска.