План работ: приведение дисков к нормальному состоянию к 20:00 (2026-02-15)
Цель: К 20:00 все диски в нормальном состоянии, тестирование выполнено.
Текущее время на старте плана: 16:33. До дедлайна: ~3 ч 30 мин.
Целевое состояние (норма)
| Раздел |
Критерий |
Сейчас |
| / |
≥ 2 ГБ, ≥ 15% |
✅ 95 ГБ |
| /storage |
≥ 80 ГБ |
⚠️ 6,2 ГБ |
| /D |
≥ 20% |
✅ 296 ГБ |
К 20:00 необходимо: на /storage свободно ≥ 80 ГБ.
Хронологический план (16:33 → 20:00)
16:33–17:00 (подготовка и мониторинг)
| Время |
Действие |
Ответственный |
| 16:33 |
Зафиксировать план, убедиться, что скрипт очистки LXD запущен и перешёл к некритичным контейнерам (docs-denkart, BBB-CONT22-1, nginx-reverse-proxy). |
AI Denkart |
| 16:35 |
Проверить, что нет блокировок LXD: lxc list отвечает, контейнеры в состоянии RUNNING. |
Операция |
| 16:40 |
Первая контрольная точка: df -h /storage, tail -20 /tmp/cleanup-storage-2026-02-15.log. Если в логе появились строки «Удаление снимка» — очистка идёт. |
Операция |
| 17:00 |
Вторая контрольная точка: снова df -h /storage. Оценка: при удалении 38 снимков ожидается постепенный рост свободного места (десятки ГБ). |
Операция |
Риск: На переполненном диске каждое удаление снимка LXD может занимать 2–5 минут. 38 снимков → ориентировочно 1,5–3 часа только на удаление. Запас по времени есть при старте удалений до ~17:00.
17:00–18:30 (основная фаза очистки)
| Время |
Действие |
Ответственный |
| 17:00–18:30 |
Не прерывать скрипт очистки. Периодически (каждые 20–30 мин): df -h /storage, tail -30 /tmp/cleanup-storage-2026-02-15.log. |
Операция |
| 18:00 |
Контрольная точка: если свободно ≥ 80 ГБ — перейти к этапу «Проверка и тестирование». Если свободно 40–80 ГБ — очистка идёт, продолжать ждать. Если < 40 ГБ и в логе нет новых «Удаление снимка» — проверить зависание процесса. |
Операция |
| 18:30 |
Ожидаемое завершение скрипта очистки (оценка). Проверка: pgrep -af cleanup-lxd-snapshots (пусто = завершён), tail -50 /tmp/cleanup-storage-2026-02-15.log (строка «Очистка снимков LXD завершена»). |
Операция |
18:30–19:00 (достижение 80 ГБ или резервные меры)
| Время |
Действие |
Ответственный |
| 18:35 |
df -h /storage. Если ≥ 80 ГБ — штат достигнут, перейти к п. «Проверка и тестирование». |
Операция |
| 18:35 |
Если < 80 ГБ: (1) Обнулить логи Docker: sudo find /storage/docker/containers -name "*-json.log" -exec truncate -s 0 {} \;. (2) Повторно запустить очистку снимков: sudo -u cdto env HOME=/home/cdto USER=cdto /home/cdto/DENKART/scripts/cleanup-lxd-snapshots.sh. (3) При необходимости временно снизить лимит снимков в скрипте (например, NORMAL_MAX=5), выполнить очистку, затем вернуть 10. |
Операция |
| 19:00 |
Жёсткий контроль: на /storage должно быть ≥ 80 ГБ. Если нет — запустить аварийную очистку: sudo /usr/local/bin/disk-space-emergency-cleanup.sh /storage 80 (или путь из репозитория) и проверить df -h /storage через 5–10 мин. |
Операция |
19:00–19:35 (проверка и тестирование)
| Время |
Действие |
Ответственный |
| 19:00 |
Проверка дисков (по POST-REBOOT-CHECKLIST, п. 1–2): uptime, df -h / /storage /D, systemctl is-active disk-space-monitor.timer, systemctl is-enabled disk-space-monitor.timer. |
Операция |
| 19:05 |
Лог монитора: tail -50 /var/log/disk-space-monitor.log. Убедиться, что есть записи по /, /storage, /D; при ≥ 80 ГБ на /storage не должно быть EMERGENCY/CRITICAL по /storage. |
Операция |
| 19:10 |
Ручной запуск монитора (тест): sudo /usr/local/bin/disk-space-monitor.sh (или скрипт из репозитория). Ожидается: для /storage уровень INFO или NOTICE (раннее предупреждение при 80–100 ГБ), не EMERGENCY. |
Операция |
| 19:15 |
Таймеры и сервисы: systemctl list-timers --all | grep -E backup\|cleanup\|disk-space. Контейнеры: lxc list, docker ps — ключевые сервисы в работе. |
Операция |
| 19:20 |
При наличии Prometheus/Grafana: проверить, что алерты по диску /storage не в состоянии firing (или что порог 80 ГБ не нарушен). |
Операция |
| 19:25 |
Фиксация результата: записать в операционный журнал или отчёт: «2026-02-15 к 20:00: /storage приведён к штату, свободно ___ ГБ. Тестирование по чек-листу выполнено.» |
Операция |
19:35–20:00 (буфер и подписание)
Резюме по этапам
| Этап |
Ориентировочное время |
Результат |
| Очистка снимков LXD |
16:33–18:30 |
Скрипт удаляет 38 снимков; рост свободного места на /storage. |
| Резервные меры (при необходимости) |
18:30–19:00 |
Обнуление логов Docker, повторная очистка или emergency-cleanup. |
| Проверка и тестирование |
19:00–19:35 |
df, монитор, таймеры, сервисы, алерты. |
| Буфер |
19:35–20:00 |
Исправление замечаний, фиксация. |
Подробнее о контрольных точках
Что такое контрольная точка
Контрольная точка — запланированный момент времени, в который выполняется проверка состояния работ и фиксация результата. Она не создаёт отдельный «ресурс» на диске (снимок или копию), а состоит из: запуска команд, сбора вывода и записи итога в журнал исполнения.
- Цель: убедиться, что очистка идёт по плану, свободное место растёт (или зафиксировать проблему и перейти к резервным мерам).
- Кто выполняет: операция (или AI по запросу «продолжить исполнение плана»).
- Результат: одна строка в таблице «Выполненные шаги» в журнале исполнения (время, действие, результат).
Расположение (где заданы и где фиксируются)
| Элемент |
Расположение |
Описание |
| Определение контрольных точек (время, команды, критерии) |
Этот документ: раздел «Хронологический план», строки таблиц с временем 16:40, 17:00, 18:00, 18:30, 18:35, 19:00… |
Когда и что проверять, что считать «нормой» и что делать при отклонении. |
| Фиксация результата выполнения контрольной точки |
STORAGE-PLAN-EXECUTION-LOG-2026-02-15.md — раздел «Выполненные шаги», новая строка в таблице. |
Время, краткое действие (например «Контрольная точка 2»), результат (df, состояние лога, вывод о прогрессе). |
| Исполняемые команды для точки |
Ниже в этом документе — блок «Контрольные команды»; для точки 2 — явно в таблице плана. |
Команды копируются и выполняются при наступлении времени точки. |
Контрольная точка не создаёт отдельный каталог или файл-снимок; «ресурс» под неё — одна строка в журнале исполнения и (при необходимости) сохранённый вывод команд во временный лог (см. ниже).
Ресурсы под контрольную точку
| Ресурс |
Путь / способ |
Назначение |
| Лог очистки снимков |
/tmp/cleanup-storage-2026-02-15.log |
Входные данные для точки: прогресс скрипта (строки «Удаление снимка», «Очистка снимков LXD завершена»). Читается командой tail -30 /tmp/cleanup-storage-2026-02-15.log. |
| Состояние дисков |
Вывод df -h /storage (и при необходимости /, /D) |
Входные данные: текущее свободное место. Критерий для точки 2: есть ли рост; для 18:00 и 18:35 — достигнуты ли ≥ 80 ГБ. |
| Журнал исполнения плана |
docs/operations/STORAGE-PLAN-EXECUTION-LOG-2026-02-15.md |
Единственное постоянное место фиксации: в таблицу «Выполненные шаги» добавляется строка с временем, названием точки и результатом (кратко). |
| План (источник правды) |
docs/operations/STORAGE-PLAN-DEADLINE-20-00-2026-02-15.md |
Здесь заданы время и состав каждой контрольной точки; редактирование не требуется при каждом выполнении. |
Опционально при необходимости можно сохранять полный вывод команд в файл, например:
{ date; df -h /storage; tail -30 /tmp/cleanup-storage-2026-02-15.log; } >> /tmp/checkpoint-17-00.log
Такой файл — временный, в репозиторий не входит; основная фиксация остаётся в журнале исполнения.
Пример: контрольная точка 2 (17:00)
- Время: 17:00.
- Команды:
df -h /storage
tail -30 /tmp/cleanup-storage-2026-02-15.log
- Что зафиксировать в журнале исполнения: время 17:00, действие «Контрольная точка 2», результат: значение «Свободно» для /storage (в ГБ) и наличие/отсутствие в логе строк «Удаление снимка» или «Очистка снимков LXD завершена».
- Расположение результата: новая строка в таблице «Выполненные шаги» в файле
docs/operations/STORAGE-PLAN-EXECUTION-LOG-2026-02-15.md.
Контрольные команды (копировать при проверках)
# Состояние дисков
df -h / /storage /D
# Прогресс очистки (скрипт ещё работает?)
pgrep -af cleanup-lxd-snapshots
tail -30 /tmp/cleanup-storage-2026-02-15.log
# После достижения 80 ГБ — тест монитора
sudo /usr/local/bin/disk-space-monitor.sh
tail -20 /var/log/disk-space-monitor.log
# Таймеры и сервисы
systemctl is-active disk-space-monitor.timer
systemctl list-timers --all | grep -E backup|cleanup|disk-space
Связанные документы
Документ подготовлен: AI Denkart, технический директор.
Дедлайн: 2026-02-15 20:00.