По умолчанию резервные копии БД Eltex-SC (актуально для версии >1.21) располагаются в директории:
...
- Для восстановления из резервной копии БД необходимо предварительно подготовить сервер и проинсталлировать необходимо ПО, в том числе платформу Eltex-SC с помощью Ansible.
Пример с установкой дополнительного ПО:
...
2. Скачать архивы актуальных резервных копий БД на сервер (в данном примере в домашнюю директорию пользователя с правами root).
3. Распаковать архивы mongo, например:
Блок кода | ||||
---|---|---|---|---|
| ||||
tar -xvf iot-core_2022-04-18* tar -xvf events_2022-04-18* tar -xvf iot-broker_2022-04-18* |
4. Подготовить и настроить проект платформы в ansible-iot. Для ansible-iot должны быть настроены параметры в vars/service_parameters.yml:
Блок кода | ||||
---|---|---|---|---|
| ||||
db_mapped_port: 27017 olapservice_mapped_port: 8023 olapservice_db_mapped_port: 8123 core_api_mapped_port: 8071 core_api_ssl_mapped_port: 8073 iot_core_log_level: debug export_mongo_port: true export_olapservice_port: true export_olapservice_db_port: true |
Предупреждение |
---|
После завершения восстановления из резервных копий БД, необходимо вернуть настройки по умолчанию в vars/service_parameters.yml |
5. Остановить микросервисы с доступом до БД:
...
7. Восстановить записи из резервных копий mongo, например:
Блок кода | ||||
---|---|---|---|---|
| ||||
mongorestore --host=127.0.0.1 --port=27017 --db=iot-core --noIndexRestore --drop var/backups/mongobackups/iot-core/2022-04-18_04-26/iot-core mongorestore --host=127.0.0.1 --port=27017 --db=iot-events --noIndexRestore --drop var/backups/mongobackups/iot-events/2022-04-18_04-26/iot-events mongorestore --host=127.0.0.1 --port=27017 --db=iot-broker --noIndexRestore --drop var/backups/mongobackups/iot-broker/2022-04-18_04-26/iot-broker |
8. Восстановить записи из резервных копий olap, например:
Блок кода | ||||
---|---|---|---|---|
| ||||
cd /storage/iot/olapdb/clickhouse-backup/archives rm -rf * cp ` ls ~/iotcore_eventlog_*|tail -1|awk '{print $1}' ` . tar -xvf iotcore_eventlog_* docker cp var iot-olapservice-db-backup:/ ansible-playbook services_restart.yml --extra-vars '{"services":["olapservice-db", "olapservice-db-backup"]}' cd /storage/iot/olapdb/clickhouse-backup/archives echo "clickhouse-backup restore --rm "` ls var/lib/clickhouse/backup|tail -1|awk '{print $1}' ` > run.sh docker cp run.sh iot-olapservice-db-backup:/ docker exec iot-olapservice-db-backup sh /run.sh ansible-playbook services_stop.yml; ansible-playbook install.yml |
...