Дисковые квоты — один из ключевых инструментов управления ресурсами VPS. Они контролируют использование пространства и количество файлов (инодов), не позволяя виртуальной машине превысить выделенные лимиты. Когда квоты работают некорректно, это может привести к ошибкам записи, отказам приложений и даже остановке контейнера. В этой статье разберём, как проверить и отремонтировать дисковые квоты на OpenVZ вручную через SSH, чтобы вернуть систему к стабильной работе.
Зачем нужны квоты и почему они ломаются
В OpenVZ дисковые квоты ограничивают количество занимаемого контейнером пространства и файловой структуры. Они предотвращают ситуацию, когда одна виртуальная машина заполняет диск физического сервера и мешает другим.
Иногда после обновлений, сбоев питания или ручного редактирования конфигурации квоты могут «слететь»:
- перестают применяться ограничения;
- контейнер не видит свой реальный объём;
- появляются ошибки «Quota not active» или «Cannot write: No space left on device».
В таких случаях нужно восстановить квоты с главной ноды.
Краткий способ восстановления квот
Если контейнер не запускается или квоты повреждены, можно быстро пересоздать их:
vzctl stop ID
vzquota drop ID
vzctl start IDгде ID — номер контейнера (например, 101).
После этого система пересоздаст квоты при старте. Если ошибка сохраняется — переходите к подробной инструкции.
Подробная инструкция по ремонту квот на OpenVZ
Подключитесь к главной ноде
Через SSH войдите на физический сервер, где запущены контейнеры:
ssh root@IP_НОДЫПросмотрите список контейнеров
Чтобы увидеть все VPS, выполните:
vzlist -aВ столбце CTID указаны идентификаторы контейнеров.
Проверьте квоты конкретного контейнера
Проверим использование диска и инодов для контейнера 101:
vzquota stat 101Система покажет текущее использование и лимиты. Если вывод пустой или с ошибками — квоты неактивны.
Активируйте квоты
Убедитесь, что квоты включены:
vzquota show 101Если неактивны, включите их:
vzquota on 101Проверьте конфигурацию контейнера
Откройте конфигурационный файл:
nano /etc/vz/conf/101.confПроверьте значения:
DISKSPACE="20G:22G"
DISKINODES="200000:220000"Первое значение — мягкий лимит, второе — жёсткий. Если значения некорректные, исправьте их и сохраните файл.
Примените изменения
Чтобы обновить квоты без перезапуска:
vzquota set 101 --diskspace 20G:22G --diskinodes 200000:220000 --saveПересоздайте квоты при сбое
Если квоты повреждены или не обновляются, выполните:
vzquota off 101
vzquota drop 101
vzquota create 101
vzquota on 101Перезапустите контейнер
Примените изменения и убедитесь, что контейнер запускается корректно:
vzctl restart 101Проверьте квоты внутри контейнера
Войдите внутрь:
vzctl enter 101Посмотрите распределение квот:
repquota -aПосле проверки выйдите:
exitПроверьте системные квоты на хосте
Иногда проблема не в контейнере, а в настройке системы на главной ноде. Выполните:
quotaon -av
quotacheck -avugmЕсли квоты неактивны, система их пересоздаст и синхронизирует.
Основные команды
| Задача | Команда | Назначение |
|---|---|---|
| Просмотр всех контейнеров | vzlist -a | Список VPS на сервере |
| Проверка состояния квот | vzquota stat [ID] | Использование диска и инодов |
| Включить квоты | vzquota on [ID] | Активирует квоты для контейнера |
| Пересоздать квоты | vzquota drop [ID] | Удаляет старые квоты |
| Применить новые лимиты | vzquota set [ID] --diskspace … --diskinodes … --save | Обновляет настройки без перезапуска |
| Перезапустить контейнер | vzctl restart [ID] | Применяет все изменения |
Заключение
Проблемы с дисковыми квотами на OpenVZ решаются быстро, если действовать последовательно.
Проверяйте квоты с главной ноды, обновляйте параметры при изменениях, а при сбоях — пересоздавайте их.
Регулярная профилактика и контроль обеспечат стабильную работу VPS, предотвратят переполнение дисков и исключат неожиданные простои.
Читайте в блоге:
- Хостинг для сайтов с большим объёмом данных: критерии выбора
- Лучшие инструменты мониторинга сервера на Ubuntu 24.04: Netdata, Glances, htop
- Скрытый майнер на Windows Server: как обнаружить и удалить

