План работ: приведение дисков к нормальному состоянию к 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 (буфер и подписание)

Время Действие Ответственный
19:35–20:00 Буфер на доработки при обнаружении замечаний в тестах. Повторная проверка df -h /storage. Операция
20:00 Дедлайн. Состояние дисков зафиксировано. При необходимости обновить STORAGE-CURRENT-STATE-2026-02-15.md или STORAGE-TEST-AND-READINESS-2026-02-15.md итоговыми цифрами. AI Denkart / Операция

Резюме по этапам

Этап Ориентировочное время Результат
Очистка снимков 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.