Политика хранения данных и контроля дискового пространства с целью обеспечения отказоустойчивости
Версия: 1.0
Дата введения: 2026-02-15
Статус: Действует
Владелец: CDTO Dkvark (представитель заказчика)
Ответственный за исполнение: Технический директор проекта (AI Denkart), эксплуатация
1. Назначение и область применения
1.1 Назначение
Настоящая политика устанавливает единые требования к:
- хранению данных (сроки, объёмы, ротация резервных копий и снимков);
- контролю дискового пространства (резервы, пороги, мониторинг и автоматическая очистка);
- обеспечению отказоустойчивости (многоуровневое резервирование, гарантия загрузки ОС, восстановление после сбоев).
Цель — снижение рисков потери данных и недоступности сервисов из‑за переполнения дисков или отсутствия точек восстановления.
Обязательность при архитектурных решениях: При принятии любых архитектурных решений по серверу (изменение разделов, перенос данных, ввод новых сервисов, изменение схемы резервного копирования, настройка LXD/Docker) необходимо сохранять и придерживаться настоящей политики. Решения, приводящие к нарушению резервов (менее 2 ГБ на корне, менее 80 ГБ на /storage), сроков хранения или отключению мониторинга дисков, не допускаются без явного исключения владельцем ресурсов с фиксацией в документации.
1.2 Область применения
- Хост-сервер проекта DENKART (Ubuntu 24.04.3 LTS).
- Разделы: корневой
/,/storage(LXD, Docker),/D(данные и резервные копии). - Контейнеры LXD (BigBlueButton, документация, 1С, PostgreSQL, Moodle и др.).
- Резервное копирование, снимки, мониторинг дисков и аварийная очистка.
1.3 Нормативные ссылки и соответствие стандартам
Политика учитывает требования и практику следующих документов:
| Стандарт / документ | Применимость |
|---|---|
| ГОСТ 34.601-90 (стадии создания АС) | Стадия «Сопровождение АС»: эксплуатация, резервное копирование, восстановление. |
| ГОСТ 34.201-2020 (виды и комплектность документов) | Эксплуатационная документация по резервированию и восстановлению. |
| ГОСТ Р 71436-2024 (ПС с открытым кодом) | Требования к эксплуатации компонентов на базе ООП (Linux, контейнеры, скрипты). |
| Практика непрерывности деятельности (BCP/DR) | Многоуровневое резервирование, определённые RPO/RTO за счёт снимков, экспортов и полных бэкапов. |
Детализация стандартов документирования: Стандарты документирования ИТ-проектов.
2. Цели в области отказоустойчивости
| Цель | Критерий |
|---|---|
| Загрузка ОС | На корневом разделе / всегда не менее 2 ГБ свободного места; при необходимости — автоматическая очистка. |
| Быстрый откат контейнера | Наличие снимков LXD для критичных и некритичных контейнеров с заданной ротацией. |
| Восстановление после сбоя | Наличие полных бэкапов и снимков Timeshift в пределах установленных сроков хранения. |
| Резерв под рост данных | На разделе /storage — целевой резерв 80 ГБ; не планировать постоянное использование последних 80 ГБ. |
| Раннее предупреждение | Мониторинг дисков не реже чем каждые 5 минут; алерты при достижении порогов по свободному месту. |
3. Политика хранения данных (сроки и объёмы)
3.1 Общие принципы
- Резервные копии и снимки хранятся в соответствии с уровнями защиты (см. п. 3.2).
- Ротация выполняется автоматически по скриптам; ручное удаление допускается только по регламенту или решению владельца ресурсов.
- Хранение персональных данных в бэкапах — в объёме, необходимом для восстановления; сроки хранения бэкапов не превышают установленные в политике.
3.2 Уровни резервирования и сроки хранения
| Уровень | Объект | Частота создания | Срок хранения / лимит | Место хранения |
|---|---|---|---|---|
| 1 | LXD снимки контейнеров | По необходимости (перед изменениями) | Критичные: макс. 5 снимков; некритичные: макс. 2 снимка | /storage/lxd/ (SSD) |
| 2 | LXD экспорты контейнеров | Еженедельно (воскресенье) | 4 недели (4 последних набора экспортов) | /D/backups/lxd-containers/ (HDD) |
| 3 | Снимки Timeshift (ОС) | Ежедневно | Макс. 20 снимков всего; макс. 15 за один день | /D/timeshift/ (HDD) |
| 4 | Полный бэкап сервера | Каждые 10 дней | 3 последних бэкапа; удаление старше 30 дней | /D/backups/full-backup-*/ (HDD) |
| — | Ежедневные дампы БД (PostgreSQL и др.) | Ежедневно | По регламенту (например, 7 дней локально) | /var/backups/postgresql/, /D/backups/ |
| — | Записи BBB | По факту создания | По умолчанию 30 дней (настраиваемый параметр) | В контейнере BBB |
Критичные контейнеры (макс. 5 снимков LXD): 1c-server, postgresql-1c.
Некритичные (макс. 2 снимка): docs-denkart, BBB-CONT22-1, nginx-reverse-proxy, moodle, redmine (список и лимит в scripts/cleanup-lxd-snapshots.sh).
Подробности и команды восстановления: Оптимизация дисков и политика резервного копирования, Резервное копирование.
3.3 Сохранение состояния перед изменениями
Перед внесением изменений в архитектуру, маршрутизацию, конфигурации контейнеров или сетевые правила (iptables) обязательно:
- Выполнить полное сохранение текущего состояния (точка восстановления или снимок по скрипту).
- Закоммитить изменения в Git и выгрузить версию во внешний репозиторий.
Скрипты и процедура: Сохранение состояния перед внесением изменений, Точка восстановления — процедура.
4. Контроль дискового пространства
4.1 Резервирование пространства
| Раздел | Минимальный резерв / ограничение | Обоснование |
|---|---|---|
| / (корень) | Не менее 2 ГБ свободного места | Гарантия загрузки ОС и обновления ядра. |
| / | Резерв блоков ext4 (рекомендуется, напр. 2%) | Защита от полного заполнения для системных процессов (tune2fs). |
| /storage | Целевой резерв 80 ГБ не под постоянное использование | Резерв под пики LXD/Docker и аварийную очистку. |
| /D | Рекомендуется не более 80% использования (≥20% свободно) | Резерв под рост бэкапов и данных приложений. |
4.2 Пороги мониторинга и действия
Мониторинг выполняется скриптом disk-space-monitor.sh по таймеру (каждые 5 минут).
Корневой раздел / (и общие разделы без отдельного резерва в ГБ):
| Уровень | Порог | Действие |
|---|---|---|
| WARNING | < 15% свободного места | Профилактическая очистка (логи, кэш, старые снимки в разрешённых пределах). |
| CRITICAL | < 10% | Агрессивная очистка. |
| EMERGENCY | < 5% | Аварийная очистка. |
| BOOT_CRITICAL | < 2 ГБ свободного места | Критическая очистка для обеспечения загрузки ОС. |
Раздел /storage — дополнительно к процентам учитываются абсолютные значения свободного места:
| Уровень | Порог | Действие |
|---|---|---|
| WARNING | < 80 ГБ свободно или < 15% | Профилактическая очистка, алерт. |
| CRITICAL | < 50 ГБ или < 10% | Агрессивная очистка, алерт. |
| EMERGENCY | < 20 ГБ или < 5% | Аварийная очистка, алерт. |
Не допускается отключение таймера мониторинга без замены на иной способ контроля дискового пространства.
4.3 Компоненты системы контроля
- disk-space-monitor.sh — проверка порогов, запуск очистки.
- disk-space-emergency-cleanup.sh — аварийная очистка (ручной вызов или по вызову из монитора).
- disk-space-monitor.service / disk-space-monitor.timer — systemd (интервал 5 мин).
- Prometheus alerts — алерты при 15%, 10%, 5% и при < 2 ГБ на корне.
Установка и настройка: Защита от переполнения диска и обеспечение загрузки ОС.
4.4 Раннее предупреждение для /storage
При свободном месте на /storage менее 100 ГБ (порог раннего предупреждения) монитор пишет в лог запись NOTICE. В течение той же недели необходимо выполнить плановую очистку (Docker, снимки LXD по политике), чтобы не допустить входа в зону резерва (< 80 ГБ). См. Защита от переполнения диска.
4.5 Распределение данных по разделам
- / — только системные файлы, конфигурация, ядра; не размещать логи, большие данные и бэкапы.
- /storage — LXD, Docker, данные сервисов; соблюдать резерв 80 ГБ.
- /D — резервные копии (Timeshift, full-backup, lxd-containers), данные приложений, пользовательские данные.
5. Ответственность и пересмотр
| Роль | Ответственность |
|---|---|
| Владелец ресурсов (CDTO Dkvark) | Утверждение политики, исключения по срокам хранения, решение о ручном удалении данных. |
| Технический директор (AI Denkart) | Реализация скриптов, мониторинга и документации; соблюдение сроков и порогов. |
| Эксплуатация | Проверка работы таймеров и логов; еженедельно — просмотр df -h / /storage /D и лога монитора; при свободном месте на /storage < 80 ГБ или < 100 ГБ — в ту же неделю выполнить плановую очистку (Docker, LXD по политике) и при необходимости вызвать disk-space-emergency-cleanup.sh /storage 80; реагирование на алерты. |
Пересмотр политики: не реже одного раза в 12 месяцев или при изменении архитектуры дисков, вводе новых сервисов или требований заказчика. Изменения вносятся в настоящий документ с обновлением версии и даты.
6. Связанные документы
| Документ | Содержание |
|---|---|
| Защита от переполнения диска | Пороги, установка, очистка, логи. |
| Оптимизация дисков и политика резервного копирования | Четыре уровня бэкапов, скрипты, cron. |
| Резервное копирование | Стратегия бэкапов, БД, файлы, таймеры. |
| Сохранение состояния перед изменениями | Обязательное сохранение перед изменениями. |
| Точка восстановления — процедура | Создание точки восстановления и откат. |
| План предотвращения отказов загрузки ОС | Меры по гарантии загрузки ОС. |
| Анализ инцидента: /storage ниже резерва 80 ГБ | Причины допущения нарушения резерва и меры предотвращения. |
| Стандарты документирования ИТ-проектов | ГОСТ 34, 19, эксплуатация. |
Документ подготовлен: AI Denkart, технический директор проекта DENKART.
Утверждение: по решению владельца ресурсов (CDTO Dkvark).