Настройка и использование скрипта для резервного копирования данных Comindware Platform (Linux)
Экспериментальная функция
Представленная здесь функция находится на стадии разработки. См. «Поддержка экспериментальных функций».
Введение
Здесь представлены инструкции по резервному копированию данных Comindware Platform с помощью скриптов на стороне сервера вместо использования веб-интерфейса.
Это позволяет системному администратору более гибко управлять процессом и параметрами резервного копирования.
Резервное копирование с помощью скриптов включает следующие шаги:
- создание снимка данных Apache Ignite, архивирование и копирование снимка в хранилище резервных копий, очистка использованных ресурсов;
- создание снимка данных OpenSearch (Elasticsearch), архивирование и копирование снимка в хранилище резервных копий, очистка использованных ресурсов;
- синхронизация сетевой папки с пользовательскими файлами (
Streams), архивирование и копирование файлов в хранилище резервных копий, очистка использованных ресурсов.
Скрипт резервного копирования (cmw_backups_create.sh) выполняет следующие операции:
- ведёт журнал по пути, указанном в переменной
logFile; - сокращает журнал до последних 1000 строк при каждом запуске;
- использует файл блокировки
backup.lockдля предотвращения нескольких одновременных запусков резервного копирования; - удаляет старые архивы резервных копий согласно параметру
backupDepth.
Внимание
- Создание снимка и сохранение архива могут занимать значительное время в зависимости от размера данных.
- Требуется достаточное место на диске для временного хранения снимков и архивов.
См. «Рекомендации по резервному копированию» и «Развёртывание ПО. Архитектура и ИТ-ландшафт».
Подготовка и настройка Apache Ignite
-
Проверьте наличие в директории
/usr/share/igniteраспакованных скриптов Apache Ignite актуальной версии.Если скрипты отсутствуют, скачайте и распакуйте их в указанную директорию либо переустановите Apache Ignite из дистрибутива вспомогательного ПО Comindware Platform. См. «Установка, запуск, инициализация и остановка ПО» и «Пути и содержимое директорий (Linux)».
Расположение скриптов
Файлы скриптов резервного копирования по умолчанию расположены в директории
/usr/share/comindware/bin. -
Разрешите использование клиентского подключения в файле конфигурации
Ignite.configApache Ignite на узлах Comindware Platform в экземпляра Comindware Platform. Для этого найдите соответствующий блок в файле и скорректируйте его согласно следующему примеру:...<property name="clientConnectorConfiguration"><bean class="org.apache.ignite.configuration.ClientConnectorConfiguration"><property name="thinClientEnabled" value="true" /><property name="host" value="127.0.0.1" /><property name="port" value="10800" />...</bean></property>... -
Откройте скрипт резервного копирования
cmw_backups_create.shдля редактирования:nano /usr/share/comindware/bin/cmw_backups_create.sh -
Настройте в скрипте пути и имена в переменных в соответствии с вашей конфигурацией:
instanceName— имя экземпляра Comindware Platform на узле кластера;snapshotPath— директория для снимков узла Apache Ignite, по умолчанию/var/lib/comindware/${instanceName}/Database/snapshots;streamsPath— путь к директории с вложенными файлами;osHost— IP или FQDN сервера OpenSearch (Elasticsearch);osPort— порт подключения к серверу OpenSearch (Elasticsearch);osRepoPath— путь к директории снимков данных OpenSearch (Elasticsearch);osIndexPrefix— префикс индексов OpenSearch (Elasticsearch);backupsPath— директория с резервными копиями, по умолчанию/mnt/share/${instanceName}/Backups/Snapshots;backupDepth— срок хранения резервных копий в днях, по умолчанию14;igniteHome— директория скриптов Apache Ignite, по умолчанию/usr/share/ignite.logFile— путь к файла журнала резервного копирования, по умолчанию/var/log/comindware/${instanceName}/Logs/cmw_backup.log.
Внимание!
В кластерной конфигурации необходимо учитывать, что выполнение команды снимка данных на одном узле произведёт формирование снимка данных на каждом узле кластера Apache Ignite.
Это может привести к заполнению свободного места и падению узлов Comindware Platform.
Поэтому рекомендуется директорию со снимками данных Apache Ignite (
backupsPath) размещать на выделенной области SSD-хранилища типа NVMe. -
Проверьте выполнения скрипта
cmw_backups_create.sh, выполнив команду:bash /usr/share/comindware/bin/cmw_backups_create.sh -vsoВнимание!
Обратите внимание на время создания снимков, а также время сохранения и размеры архивов.
Ключи скрипта cmw_backups_create.sh
Скрипт
cmw_backups_create.shподдерживает следующие ключи:-s— включает создание и архивирование вложенных файлов.-o— включает снятие и архивирование снимков данных OpenSearch (Elasticsearch).-v— подробный вывод (verbose), выводит сообщения в терминал помимо записи в лог-c— только очистка (clean-only), выполняет только операции очистки старых снимков без создания нового.
Запуск скрипта с помощью планировщика (cron)
Здесь представлен пример настройки резервного копирования по расписанию: раз в час с 6:00 до 22:00.
-
Откройте очередь задач
crontab:sudo crontab -e -
Добавьте строку запуска скрипта
cmw_backups_create.sh:0 6-22 * * * sudo bash /usr/share/comindware/bin/cmw_backups_create.sh
Запуск скрипта cmw_backups_create.sh для нескольких узлов кластера
С помощью crontab можно распределить операции резервного копирования узлов кластера на разные временные интервалы.
Например, настроим поочередное выполнение резервного копирования на 4-х узлах кластера раз в час с 6-00 до 22-00.
-
На каждом хосте с узлами кластера откройте очередь задач
crontab:sudo crontab -e -
Добавьте строки запуска скрипта для первого узла:
# Запуск резервного копирования текущего узла0 6-18/4 * * * sudo bash /home/admin-ag/cmw_snapshot_create.sh -so# Сохранение снимков30 6-21 * * * sudo bash /home/admin-ag/cmw_snapshot_create.sh -c -
Для второго узла добавьте строки:
# Запуск резервного копирования текущего узла0 7-19/4 * * * sudo bash /home/admin-ag/cmw_snapshot_create.sh -so# Сохранение снимков30 6-19/4 * * * sudo bash /home/admin-ag/cmw_snapshot_create.sh -c -
Аналогичным образом разнесите по времени и настройте автозапуск скрипта на остальных узлах.
- В результате запуск скриптов для узлов кластера должен выполняться по представленному в следующей таблице графику:
| Узел | node_0 | node_1 | node_3 | node_4 |
|---|---|---|---|---|
| Хост | CBAP-node1 |
CBAP-node2 |
CBAP-node4 |
CBAP-node5 |
| Снимок Apache Ignite | 06:10 10:10 14:10 18:10 22:10 |
7:10 11:10 15:10 19:10 |
8:10 12:10 16:10 20:10 |
9:10 13:10 17:10 21:10 |
Время crontab |
10 6-22/4 * * * |
10 7-19/4 * * * |
10 8-20/4 * * * |
10 9-21/4 * * * |
| Очистка снимков ( -c) |
7:35-21:35/4 | 7:35-21:35/4 | 7:35-21:35/4 | 7:35-21:35/4 |
Время crontab |
35 7-21 * * * |
35 6-22 * * * |
35 6-22 * * * |
35 6-22 * * * |
Эта статья была полезна 2 чел.