Как делать бэкапы и контролировать, что изменилось в данных?

1. Корпоративные

  • локально
  • в S3 бакет
  • где-то rsync

2. Дома уже рассказывал и тут и в телеграмме

На самом деле у меня в зачаточном состоянии они и далеки от идеала!

  1. На хостах PBS клиент, например /etc/ и /home бэкапятся каждые 6 часов, подумываю над чаще сделать
  2. В PVE контейнеры и виртуалки бэкапятся в PBS каждые сутки
  3. В сервисах пользовательские файлы бэкапятся в PBS каждые сутки, но местами думаю чаще сделать. Это в дополнение к 3 пункту т.е. восстановить можно или контейнер целиком или файлы волюмов
  4. Руками делаю бэкапы контейнеров локально или на NAS, в целом, подумываю над тем, чтобы хранить 1 резервную копию на холодном носителе
  5. Одно время конфиги микротика скидывал на git, но сейчас сломалось, надо перенести на новую лабу
  6. Одно время настраивал time machine4. для макбука на сервер, но тогда были проблемы с местом и отключил т.к. очень много весили бэкапы

В TrueNAS (если из него идет проброс в сервис, например, фотки в immich)

  1. Ну понятно, RAID массив для надежности
  2. От потери данных создаются снимки ZFS
  3. Некоторые каталоги заливаются в облако (у меня сейчас яндекс, но в телеге подсказывали mail.ru диск, он дешевле, но прямой интеграции в truenas нет, можно попробовать через webdav подключить
  4. Некоторые файлы через rsync периодически заливаются на холодный диск (сейчас руками, но планирую взять свободный USB HDD бокс, впаять туда управление кнопкой питания (вроде на форуме было обсуждение, но я думал по USB сделать) и включать по расписанию диск, подключенный к минику, заливать файлы, а потом отключать его
  5. Некоторые файлы скопировал на разные пулы, например, у меня под медиа контент 1 диск без резервирования т.к. потеря торрентов не столь болезненна, как потеря фоток. А вот редкие видеофайлы (жена мюзиклы французские собирала много лет) продублированны на другом пуле.

Над чем подумываю еще

  1. Полный бэкап системы на уровне диска, типа, чтобы можно было вставить новый SSDшник и накатить на него образ системы и в путь. В рабочую систему можно уже актуальные версии подтянуть из 1 пункта
  2. Поскольку, использую IaC подход, то ативно юзается гит. Планирую сделать зеркалирование на облачный гитлаб или подобный сервис.
    Для гитлаба я воообще в свое время писал python скрипт, который проходится по всем репозиториям, скачивает локально, потом заливает на удаленный гитлаб и настраивает зеркалирование репозиториев на удаленный сервер. Надо адаптировать этот скрипт для forgejo
  3. Думал сделать отправку PBS бэкапов на удаленный сервер, одно время Tuxis давали бесплатно 100ГБ облако, можно было нарегать аккаунтов и настроить выборочную репликацию бэкапов, но потом прикрыли лавочку. Пока думаю или через s3 или какой-то PBS поднять на удаленном сервере

Еще мысли

  1. Одно время пользовал borgbackup, с borgwarehouse, и даже пользовал параллельно с PBS, но потом ушел полностью в сторону PBS
    1.1. работает достаточно быстро
    1.2. borgwarehouse умеет слать алерты если бэкапы не появлялись какое-то время
    1.3 клиент vorta умеет сравнивать бэкапы между собой (прям показывает какие файлы поменялись, какие добавились в каждом бэкапе), можно монтировать бэкап
  2. PBS по-умолчанию, читает все файлы и проверяет контрольные суммы, но это выдает большую нагрузку, я включил режим проверки метаданных, т.е. если файл не поменял размер или дату изменения, то он пропускается, работает очень быстро
  3. Написал скрипт для удобной настройки бэкапирования файлов
  4. Использую docker образ proxmox-backup-client для добавления его в docker compose, но он не обновляется и кривоватый, планирую свой проект выпустить с правильной реализацией этого клиента (оттестировал уже на certbot сервисе на основе lego)
  5. Ну и как заметили уже, использую PBS по полной для бэкапирования
    5.1. Виртуалок и контейнеров
    5.2. Файлов с хостов
    5.3. Docker volume

В общем, особо хвастаться нечем, есть еще над чем работать, но “вы спрашивали, мы отвечаем”

2 лайка