Чтобы повысить гибкость и отказоустойчивость системы, вы можете перенести данные из баз внутри Kubernetes-кластера во внешние хранилища. В ELMA365 Standard это выполняется с помощью скрипта elma365-docker.sh
.
Рассмотрим основные этапы процесса переноса:
- Создание дампа данных.
- Обновление параметров приложения ELMA365.
- Восстановление данных на внешнем хранилище.
начало внимание
После переноса баз данных во внешние хранилища требуется повторная активация системы.
конец внимание
Шаг 1. Создание дампа данных
- Остановите приложение ELMA365 Standard:
sudo ./elma365-docker.sh --stop
На время создания резервной копии приложение станет недоступным.
- Для создания резервной копии баз данных запустите скрипт установки
elma365-docker.sh
с ключом--dump
:
sudo ./elma365-docker.sh --dump
Пример выполнения скрипта установки с ключом --dump
:
По окончании резервного копирования вы увидите сообщение об успешном создании дампа.
Дамп сохранится в отдельную папку backup
. В её названии указывается версия системы и временного штампа, например, "/backup/ELMA365_2023.2.15_2023.04.10-13.52.26"
.
Путь сохранения дампа задаётся в параметре ELMA365_BACKUP_DIR
конфигурационного файла config-elma365.txt
. Подробнее о том, как указать другой путь, читайте в статье «Изменение параметров ELMA365 Standard».
- Запустите приложение ELMA365 Standard:
sudo ./elma365-docker.sh --start
Шаг 2. Обновление параметров приложения ELMA365
- В конфигурационном файле
config-elma365.txt
внесите параметры подключения к внешним базам данных. - Для сохранения изменённых параметров приложения ELMA365 Standard (KinD) выполните обновление приложения с помощью скрипта установки
elma365-docker.sh
, запущенного с ключом--upgrade
. Это можно сделать одним из способов:
- через интернет:
sudo ./elma365-docker.sh --upgrade
- без доступа к сети:
sudo ./elma365-docker.sh --offline --upgrade
После запуска скрипта установки определится номер установленной версии ELMA365 Standard (KinD), и вы увидите предложение о переходе на новую версию.
Поскольку вы применяете новые параметры, версии ELMA365 Standard (KinD) будут совпадать. Пример:
- Подтвердите переход на новую версию, прописав
[Y]
. Указание любого другого символа прервёт обновление приложения. - Дождитесь окончания обновления приложения. Вы увидите сообщение “Upgrade ELMA365 application successful”.
Шаг 3. Восстановление данных ELMA365 Standard (KinD)
Восстановите данные из резервных копий на внешних базах данных.
- Остановите приложение ELMA365 Standard:
sudo ./elma365-docker.sh --stop
- Если ранее уже использовались внешние базы данных PostgreSQL и MongoDB, подготовьте их к восстановлению, выполнив следующие шаги:
- пересоздайте базы данных с помощью команды
drop
. Подробнее об этом читайте в статьях «PostgreSQL» и «MongoDB»; - настройте базы данных в соответствии с параметрами, представленными в разделе «Подготовка внешних баз данных».
- Запустите восстановление данных, используя команду с ключами
--restore
и--path /backup/<backup-folder-name>
:
sudo ./elma365-docker.sh --restore --path /backup/<backup-folder-name>
Важно: для восстановления данных резервная копия должна размещаться в папке, которая указана в конфигурационном файле. Восстановление не поддерживается, если данные хранятся во вложенной папке, например /backup/elma365/<backup-folder-name>
.
Пример выполнения скрипта установки:
По окончании восстановления данных из резервной копии вы увидите сообщение об успешном восстановлении.
- Запустите приложение ELMA365 Standard:
sudo ./elma365-docker.sh--start