Фиксация ухудшения ситуации: очистка /storage не освободила место (2026-02-15)
Дата: 2026-02-15
Суть: Скрипт очистки снимков LXD многократно запускался, но место на /storage не освободилось; зафиксировано ухудшение (свободно ~5,8 ГБ, цель ≥ 80 ГБ).
1. Что было сделано
| Действие | Результат |
|---|---|
| Обнуление логов Docker на /storage | Выполнено. Место не изменилось (логи уже были пустыми или мелкими). |
| Запуск cleanup-lxd-snapshots.sh (несколько раз) | Скрипт завершался с записью «Очистка снимков LXD завершена». По всем некритичным контейнерам выводил «0 снимков (в норме)». |
| Проверка lxc list | BBB-CONT22-1 — 24 снимка, docs-denkart — 22, nginx-reverse-proxy — 22 (лишних 38 снимков по-прежнему). |
Итог: Свободное место не выросло (~5,8 ГБ), цель 80 ГБ не достигнута. Ситуация зафиксирована как ухудшение относительно ожиданий (очистка не сработала).
2. Причина
Скрипт получал количество и список снимков через lxc snapshot list с разбором строк по шаблону ^[[:space:]]+[^[:space:]] (строки, начинающиеся с пробелов).
В актуальных версиях LXD вывод имеет табличный формат: строки данных начинаются с |, а не с пробелов. В результате grep не находил ни одной строки, скрипт считал снимков 0 и ничего не удалял.
Дополнительно: на переполненном диске lxc snapshot list может выполняться очень долго или по таймауту возвращать пустой вывод, что также давало 0 снимков.
3. Выполненные действия по приведению в норму
- Исправлен скрипт
scripts/cleanup-lxd-snapshots.sh: - Вместо
lxc snapshot listиспользуетсяlxc info <container>(быстрее и стабильнее на переполненном диске). - Парсинг переведён на табличный формат (строки, начинающиеся с
|, извлечение имени снимка из второй колонки). -
Функции
get_snapshot_countиget_snapshots_oldest_firstпереписаны под выводlxc info. -
Запуск исправленного скрипта для реального удаления лишних снимков (38 штук: BBB 14, docs-denkart 12, nginx-reverse-proxy 12).
-
Запуск исправленного скрипта (18:11): удалено 38 снимков (docs-denkart 12, BBB-CONT22-1 14, nginx-reverse-proxy 12). Очистка завершена за ~67 с.
-
Результат первой волны: Свободно на /storage выросло с ~5,8 ГБ до 34 ГБ.
-
Продолжение очистки до нормы (≥ 80 ГБ): Выполнены дополнительные волны с временным снижением лимита снимков (NORMAL_MAX=5, 3, 2, 1). Удалено ещё 45 снимков. Итог: свободно 85 ГБ — норма по политике достигнута. Подробности: STORAGE-CLEANUP-PROGRESS-2026-02-15.md.
4. Связанные документы
Документ подготовлен: AI Denkart, технический директор.