Встроенный backup

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 985
611
BIT
472
Здесь есть топики про бэкап, но встроенный бэкап КМК стоит обособлено...
Появился он с 3-ей бэты 12 версии
Давно желал реализации - сбылось, ура
реализуется серверными задачами backup/restore с ключами
по-умолчание делает полный бэкап...
для меня осталось загадкой разбиение каталогов по времени типа
1617875338938.png

инкрементальный бэкап, я ожидал ч-то "другого", но - нет
load backup -i делает только для "новых" БД (которые по тем или иным причинам получают новые записи в транзакшнлог)
требует тип лога ARHIVE
1617875598256.png

и из объяснений Дэниела - надо еще load backup -t раз в час (из моих условий теста - реже ибо лог не успевает "наполнится")
есть еще есть load backup -d
это для изменившихся баз, пишет их в каталог ../../DELTA

все ключи приводят к записи файлов! в разные каталоги
подобное поведение меня заводит в некий ступор ;)... но да ладно
есть некий prune (прописан в конфигурации) который должен чистить всё это богасьво
управляет эти всем dominobackup.nsf (создается автоматом, при первом запуске load backup)
там создаётся умолчальные конфигурации для Windows и Linux
на линухе проверял несколько ключей - всё работает (спасибо Дэниелу за подсказки)

НО самое интересное применение средств для бэкапа (линух онли)
там описано для контейнера и здесь IBM/domino-docker
лежат некоторые файлы:
- config.dxl для загрузки в базу конфигурации, с пометкой - съесть перед прочтением загружать только установив неактивными текущие конфигурации в БД
- backup_db.sh , restore_db.sh , prune_db.sh в описании Дэниела - оно само положит "куда надо", НО это "оно" - скрипт для контейнера! Положить их надо (если 0 установка домины от hcl) сюда /opt/hcl/domino/backup/borg/ (если не сделать этого - в консоли домины, при load backup , будет указание - где оно ищет)
нужно mkdir -p /opt/hcl/domino/backup/borg/
я скачивал скрипты "штатным" curl типа
cd /opt/hcl/domino/backup/borg/
curl https://raw.githubusercontent.com/IBM/domino-docker/develop/start_script/extra/backup/borg/restore_db.sh -o restore_db.sh
не забыть посолить задать права на запуск chmod a+x /opt/hcl/domino/backup/borg/*
- install-centos-podman-domino-borg.sh содержит установку borg (утилита бэкапа) и контейнера, без контейнера нужно только
Bash:
# Update CentOS
# -------------
# This updates your CentOS server to the latest patches, which is always a good starting point

yum -y update


# Install Git & Borg Backup
# -------------------------
# Next next commands add the epel packages to the yum repository and install Borg Backup and the Git client used in the next step

yum install -y epel-release
yum install -y borgbackup
что нужно ещё (т.к. контейнер не наш метод):
- borg init --encryption=repokey-blake2 /local/borg можно сделать шифрование в none
создать каталог (загодя) надо mkdir /local/borg и после инициализации (первая команда) обязательно задать права для доминошного юзера chown -R notes:notes /local/borg
после всего получим суксец, запустив load backup в консоли домины
скорость гораздо ниже чем без утилиты, оно и понятно - утилита занимается дедупликацией и сжатием, картинка по скорости (ниже - без утилиты)
1617877398883.png

в каталоге будет абрашвабракадабра (разумеется) - и использовать можно ток в restore (ну либо руками, используя borg)
1617877652165.png

1617877684576.png


ЗЫЖ почему именно borg Дэниел объяснил, добавлю сравнение (там "старый" borg) Резервное копирование, часть 4: Обзор и тестирование zbackup, restic, borgbackup
 
Последнее редактирование:
  • Нравится
Реакции: savl

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 985
611
BIT
472
теперь про варианты удаленного бэкапа (точнее - бэкапа на уделённый сервер/сторадж):
- т.к. в линухе есть комбайн ssh наиболее очевидным явл. sshf user@remote-storadge:backuppool/backups /local/borg и это можно/нужно делать из скриптов выше (bsckup_db.sh и далее по списку). В конце скрипта можно отмонтировать fusermount -u /local/borg (для сокращения времени потенциальной атаки)
- если ZFS - нмчего не мешает нам создать датасет для /local/borg и реплцировать его на удалённый хост (причём инициировать будет именно удаленный хост) типа
Bash:
ssh root@domino-host zfs snapshot local/borg@`data +%F`
ssh root@domino-host zfs send local/borg@`data +%F` | zfs recv backuppool/backups
/local/borg меняем на /local/backup если конфига без бэкап утилиты
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!