Резервное копирование и восстановление

Резервное копирование и восстановление данных реализуются с использованием инфраструктурных компонентов, на которых развернут продукт «Осмакс».

Резервное копирование

Цели резервного копирования

Регулярное резервное копирование компонентов продукта направлено на достижение следующих целей:

  • обеспечение сохранности конфигурации и пользовательских данных;

  • минимизация времени восстановления после отказа;

  • обеспечение возможности восстановления системы после сбоя оборудования или программного обеспечения;

  • обеспечение требований эксплуатации и информационной безопасности.

Общие положения

При организации резервного копирования компонентов продукта должны соблюдаться следующие общие положения:

  • при развертывании компонентов «Осмакс» на виртуальных серверах рекомендуется использовать механизм «снимков» (snapshot) платформы виртуализации;

  • файлы резервных копий рекомендуется размещать в общем хранилище системы резервного копирования организации;

  • частота и периодичность создания резервных копий регламентируется общими требованиями по обслуживанию ИТ-инфраструктуры, принятыми в организации;

  • все действия по резервному копированию и восстановлению выполняются под учетной записью с правами root.

Методы резервного копирования

Уровень Метод резервного копирования

Файловая система

Копирование файлов и каталогов (rsync, tar и т. д.)

База данных / объектное хранилище

Копирование штатными и/или специализированными инструментами базы данных/объектного хранилища

Виртуализация (гипервизор)

Полная копия виртуальной машины и/или ее snapshot (в зависимости от возможностей гипервизора)

Блочное хранилище (СХД/NAS и т. д.)

Полная копия диска и/или его snapshot (в зависимости от возможностей блочного хранилища)

Компоненты, подлежащие резервному копированию

Компонент Зависимые сервисы На уровне файловой системы На уровне базы данных/объектного хранилища На уровне виртуализации На уровне блочного хранилища

1

Модуль Osmax-core

osmax-core

Применимо, папки с ключами и конфигурациями:

  • /opt/osmax-core/application.properties;

  • /etc/ssl/certs/java/cacerts;

  • /opt/osmax-core/java/keystore;

  • /opt/osmax-core/osmax-core.keytab

Применимо:

  • полная копия VM;

  • snapshot VM

Применимо:

  • полная копия диска;

  • snapshot диска

2

Postgres

osmax-core-db

Применимо, папки с ключами и конфигурациями для сервисов:

  • HA;

  • etcd/zookeeper;

  • patroni;

  • postgres

Применимо:

  • полная копия VM;

  • snapshot VM (требуется остановка сервиса)

Применимо:

  • полная копия диска;

  • snapshot диска

3

Модуль Osmax-provisioner

osmax-provisioner

Применимо, папки с ключами и конфигурациями:

  • /opt/osmax-provisioner/application.properties;

  • /etc/ssl/certs/java/cacerts;

  • /opt/osmax-provisioner/java/keystore;

  • /opt/osmax-provisioner/osmax-provisioner.keytab

Применимо:

  • полная копия VM;

  • snapshot VM

Применимо:

  • полная копия диска;

  • snapshot диска

4

Postgres

osmax-provisioner-db

Применимо, папки с ключами и конфигурациями для сервисов:

  • HA;

  • etcd/zookeeper;

  • patroni;

  • postgres

Применимо:

  • полная копия VM;

  • snapshot VM (требуется остановка сервиса)

Применимо:

  • полная копия диска;

  • snapshot диска

5

Модуль Osmax-observer

osmax-observer

Применимо, папки с ключами и конфигурациями:

  • /opt/osmax-observer/application.properties;

  • /etc/ssl/certs/java/cacerts;

  • /opt/osmax-observer/java/keystore;

  • /opt/osmax-observer/osmax-observer.keytab

Применимо:

  • полная копия VM;

  • snapshot VM

Применимо:

  • полная копия диска;

  • snapshot диска

6

Postgres

osmax-observer-db

Применимо, папки с ключами и конфигурациями для сервисов:

  • HA;

  • etcd/zookeeper;

  • patroni;

  • postgres

Применимо:

  • полная копия VM;

  • snapshot VM (требуется остановка сервиса)

Применимо:

  • полная копия диска;

  • snapshot диска

7

Модуль osmax-webadmin

osmax-webadmin

Применимо, папки с ключами и конфигурациями:

  • /etc/nginx/sites-available/osmax-webadmin.conf;

  • /etc/ssl/certs;

  • /etc/nginx/nginx.conf

Применимо:

  • полная копия VM;

  • snapshot VM

Применимо:

  • полная копия диска;

  • snapshot диска

8

Модуль osmax-appshop

osmax-appshop

Применимо, папки с ключами и конфигурациями:

  • /etc/nginx/sites-available/osmax-appshop.conf;

  • /etc/ssl/certs;

  • /etc/nginx/nginx.conf

Применимо:

  • полная копия VM;

  • snapshot VM

Применимо:

  • полная копия диска;

  • snapshot диска

9

Saltmaster

Saltmaster

Применимо, папки с ключами и конфигурациями:

  • /etc/salt/*

Не требуется

Применимо:

  • полная копия VM;

  • snapshot VM

Применимо:

  • полная копия диска;

  • snapshot диска

10

Postgres

Не требуется (нет своего экземпляра)

11

Kafka

Не требуется (нет своего экземпляра)

12

Guacamole

Guacamole-client/Guacamole-server

Применимо, папки с ключами и конфигурациями:

  • /opt/osmax-ira-guacamole-client/{guacamole.keytab, guacamole.properties};

  • /etc/guacamole/guacd.conf;

  • /etc/ssl/certs/java/cacerts;

  • /opt/osmax-ira-guacamole-client/java/keystore

Не требуется

Применимо:

  • полная копия VM;

  • snapshot VM

Применимо:

  • полная копия диска;

  • snapshot диска

13

Postgres

Не требуется (не содержит продуктивных данных)

14

S3

S3

Применимо, папки с ключами и конфигурациями:

  • /etc/minio/*;

  • /etc/minio/certs/*

Не применимо: к объектам хранилища /var/minio/, требует специальных инструментов

Применимо:

  • mc admin policy;

  • mc admin user list;

  • mc ls myminio/;

  • mc admin bucket info.

Или:

  • rclone в режиме sync в отдельный S3

Применимо:

  • полная копия VM;

  • snapshot VM

Применимо:

  • полная копия диска;

  • snapshot диска

15

Kafka

Kafka

Применимо, папки с ключами и конфигурациями:

  • /etc/kafka/server.properties;

  • /etc/kafka-connect/*;

  • /var/lib/kafka/kraft-combined-logs/*;

  • /etc/kafka/certs/*;

  • systemd/unit-файлы

Не требуется (не содержит продуктивных данных).

Но если на уровне конфигурации не задано автоматическое создание топиков, применимо:

  • kafka-topics.sh --list --describe

  • kafka-configs.sh --entity-type topics --all

  • kafka-acls.sh --list

  • kafka-configs.sh --entity-type users --all

Применимо:

  • полная копия VM;

  • snapshot VM

Применимо:

  • полная копия диска;

  • snapshot диска

Восстановление работы

Для восстановления работы компонентов продукта выполните восстановление сервисов из резервных копий и запустите их в следующей очередности:

  1. PostgreSQL, Kafka, S3.

  2. Guacamole.

  3. Модуль osmax-core.

  4. Модуль osmax-provisioner.

  5. Модуль osmax-observer.

  6. Модуль «Удаленный доступ» (Guacamole).

  7. Nginx.

  8. Сервер управления (master).

  9. Вторые экземпляры osmax-core, osmax-provisioner, osmax-observer.

Алгоритм запуска сервисов описан в инструкции по обновлению версий «Осмакс» в разделе «Обновление продукта».