Дисковое пространство на сервере виртуализации - ресурс, который заканчивается в пятницу вечером. Именно тогда, когда вы собрались уходить домой. Proxmox VE честно делает бэкапы по расписанию, складывает их на хранилище - и ни разу не спросит, хватит ли места для следующего. Когда хранилище заполнится на 100%, вы узнаете об этом не из мониторинга, а из панических сообщений коллег: «Виртуалки не стартуют».
Короткий ответ, если место нужно прямо сейчас. В Proxmox VE старые копии удаляет prune по политике prune-backups: задаётся в веб-интерфейсе в свойствах хранилища либо строкой в /etc/pve/storage.cfg. В Proxmox Backup Server prune только снимает ссылку на снапшот, а место возвращает отдельная процедура - garbage collection, и не раньше чем через сутки после удаления. Дальше - подробно, включая случаи, когда prune отработал, а свободного места не прибавилось.
Актуальные версии на момент обновления - Proxmox VE 9.2 (21 мая 2026) и Proxmox Backup Server 4.2 (29 апреля 2026). Всё описанное ниже относится к обеим и к предыдущим веткам 8.x/3.x. Если вы ещё на PVE 8, держите в голове дату: поддержка этой ветки заканчивается 31 августа 2026.
Допустим, у вас 20 виртуальных машин. Средний размер бэкапа одной VM - 50 ГБ (а для баз данных легко уходит за 200 ГБ). Расписание - раз в сутки, хранить 14 копий. Считаем: 20 × 50 ГБ × 14 = 14 ТБ. Это идеальный сценарий со стабильными данными. Стоит разработчикам залить пару дампов или нагенерировать логов, и размер каждого последующего бэкапа подрастает.
| Параметр | Маленькая среда (5 VM) | Средняя среда (20 VM) | Крупная среда (100 VM) |
|---|---|---|---|
| Средний размер бэкапа | 30 ГБ | 50 ГБ | 80 ГБ |
| Копий на хранении | 7 | 14 | 30 |
| Объём хранилища | 1,05 ТБ | 14 ТБ | 240 ТБ |
Цифры грубые, но картину рисуют. Оговорка: так считается только для обычных дампов vzdump, где каждая копия самостоятельна. Proxmox Backup Server хранит данные кусками с дедупликацией, и вторая копия той же машины занимает только разницу с первой. Реальный расход там ниже в разы и зависит от того, насколько сильно меняются данные внутри гостей. Формулой его не предскажешь, только измеришь на своих машинах.
Неправильное управление бэкапами - одна из частых причин переполнения дисков в Proxmox-инсталляциях. Дисковые полки, NAS, LUN-ы на СХД «съедаются» равномерно и молча. Если при планировании среды вы не закладывали запас под резервные копии, стоит заранее изучить, сколько дискового пространства требует виртуализация Proxmox. Мониторинг спасает, но только если он настроен. А удаление старых резервных копий спасает всегда.
Proxmox предлагает два пути - графический интерфейс и командную строку. Выбор зависит от того, сколько у вас нод и насколько вы любите автоматизацию.
Путь: Datacenter → Backup → (выбрать задачу) → Retention. Здесь задаётся, сколько копий хранить. Можно указать количество по дням, неделям, месяцам. Proxmox VE будет автоматически удалять лишние копии при создании новой. Это ключевой момент - пока новый бэкап не создастся, старые никуда не денутся. Копия виртуальной машины целиком не заменяет копию базы внутри неё: для 1С это отдельная процедура, и копия клиент-серверной базы 1С снимается средствами СУБД.
Второй путь - на уровне хранилища: Datacenter → Storage → (выбрать хранилище) → Prune. Здесь управление тоньше: prune-опции привязаны к конкретному storage, а не к расписанию.
Для разовой ручной чистки: Datacenter → Storage → Content - выбираете ненужный бэкап и удаляете. Просто, но не масштабируется.
CLI даёт контроль, которого нет в GUI. Основной инструмент - файл /etc/pve/storage.cfg. Для каждого хранилища можно прописать параметры prune-backups:
storage: local
dir /var/lib/vz
content backup
prune-backups keep-last=5,keep-daily=7,keep-weekly=4,keep-monthly=6
Эта запись говорит: хранить 5 последних, 7 ежедневных, 4 еженедельных и 6 ежемесячных копий. Всё, что выходит за рамки, удаляется при следующем запуске prune. Доступные ключи - keep-last, keep-hourly, keep-daily, keep-weekly, keep-monthly, keep-yearly и отдельно стоящий keep-all, который отменяет все остальные и оставляет вообще всё.
Запуск vzdump выглядит так:
vzdump 100 --storage local
Отдельно включать удаление старых копий не нужно: параметр --remove в vzdump по умолчанию равен 1, то есть после успешного бэкапа prune запускается сам. Ключ пригодится в обратной ситуации - --remove 0 временно отключает чистку, если вы гоняете внеплановый бэкап и не хотите, чтобы он вытолкнул из ротации старые копии.
Тут кроется распространённая ловушка. --remove включён, prune отрабатывает, в логе пишется строка про retention - а копии не удаляются. Причина в том, что удалять нечего: политика хранилища так и осталась заводской keep-all=1. Сначала задайте retention, потом ждите эффекта от prune. Какие вообще бывают схемы ротации и чем ежедневные копии отличаются от еженедельных, разобрано в статье про виды резервного копирования.
Тем, для кого командная строка Proxmox пока незнакомая территория, стоит начать с базовых операций - Ñ