Перейти к основному содержанию Перейти к навигации Перейти к нижнему колонтитулу

Очистка

Удаление осиротевших резервных копий, устаревших снимков и неиспользуемых образов репозиториев для освобождения дискового пространства.

Очистка

Очистка удаляет ресурсы, на которые больше не ссылается ни один файл конфигурации. Есть две команды очистки, нацеленные на разные типы ресурсов:

  • rdc storage prune — удаляет осиротевшие файлы резервных копий из облачного/внешнего хранилища
  • rdc machine prune — очищает артефакты хранилища данных и (опционально) осиротевшие образы репозиториев на машине

Storage Prune

Сканирует провайдера хранилища и удаляет резервные копии, GUID которых больше не присутствуют ни в одном файле конфигурации.

# Dry-run (default) — shows what would be deleted
rdc storage prune my-s3 -m server-1

# Actually delete orphaned backups
rdc storage prune my-s3 -m server-1

# Override grace period (default 7 days)
rdc storage prune my-s3 -m server-1 --grace-days 14

Что проверяется

  1. Перечисляет все GUID резервных копий в указанном хранилище.
  2. Сканирует все файлы конфигурации на диске (~/.config/rediacc/*.json).
  3. Резервная копия считается осиротевшей, если её GUID не упоминается в разделе репозиториев ни одной конфигурации.
  4. Недавно архивированные репозитории в пределах льготного периода защищены, даже если они удалены из активной конфигурации.

Machine Prune

Очищает ресурсы на машине в два этапа.

Этап 1: Очистка хранилища данных (выполняется всегда)

Удаляет пустые каталоги монтирования, устаревшие файлы блокировки и устаревшие снимки BTRFS.

# Dry-run
rdc machine prune server-1 --dry-run

# Execute cleanup
rdc machine prune server-1

Этап 2: Осиротевшие образы репозиториев (по запросу)

С флагом --orphaned-repos CLI также определяет образы репозиториев LUKS на машине, которые не присутствуют ни в одном файле конфигурации, и удаляет их.

# Dry-run (default behavior when is set)
rdc machine prune server-1

# Actually delete orphaned repos
rdc machine prune server-1

# Custom grace period
rdc machine prune server-1 --grace-days 30

Модель безопасности

Очистка спроектирована так, чтобы быть безопасной по умолчанию в мультиконфигурационных установках.

Учёт нескольких конфигураций

Обе команды очистки сканируют все файлы конфигурации в ~/.config/rediacc/, а не только активный. Репозиторий, на который ссылается production.json, не будет удалён, даже если он отсутствует в staging.json. Это предотвращает случайное удаление, когда конфигурации предназначены для разных сред.

Льготный период

Когда репозиторий удаляется из конфигурации, он может быть заархивирован с временной меткой. Команды очистки соблюдают льготный период (по умолчанию 7 дней), в течение которого недавно архивированные репозитории защищены от удаления. Это даёт вам время восстановить репозиторий, если он был удалён случайно.

Dry-run по умолчанию

storage prune и machine prune по умолчанию работают в режиме dry-run. Они показывают, что будет удалено, не внося изменений. Передайте --no-dry-run или --force для выполнения фактического удаления.

Конфигурация

pruneGraceDays

Установите пользовательский льготный период по умолчанию в файле конфигурации, чтобы не передавать --grace-days каждый раз:

# Set grace period to 14 days in the active config
rdc config set pruneGraceDays 14

Флаг CLI --grace-days переопределяет это значение при указании.

Приоритет

  1. Флаг --grace-days <N> (наивысший приоритет)
  2. pruneGraceDays в файле конфигурации
  3. Встроенное значение по умолчанию: 7 дней

Лучшие практики

  • Сначала запустите dry-run. Всегда просматривайте результаты перед выполнением деструктивной очистки, особенно на продуктивном хранилище.
  • Поддерживайте несколько конфигураций в актуальном состоянии. Очистка проверяет все конфигурации в каталоге конфигурации. Если файл конфигурации устарел или удалён, его репозитории теряют защиту. Поддерживайте файлы конфигурации в актуальном состоянии.
  • Используйте щедрые льготные периоды для продуктивной среды. Льготный период по умолчанию 7 дней подходит для большинства рабочих процессов. Для продуктивных сред с редкими окнами обслуживания рассмотрите 14 или 30 дней.
  • Планируйте storage prune после выполнения резервного копирования. Сочетайте storage prune с расписанием резервного копирования, чтобы контролировать затраты на хранение без ручного вмешательства.
  • Сочетайте machine prune с deploy-backup. После развёртывания расписаний резервного копирования (rdc machine deploy-backup) добавьте периодическую очистку машины для удаления устаревших снимков и осиротевших артефактов хранилища данных.
  • Проверьте перед использованием --force. Флаг --force обходит льготный период. Используйте его только когда вы уверены, что ни одна другая конфигурация не ссылается на рассматриваемые репозитории.