Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

Подсказка

 Все команды из описания необходимы выполнять с правами root.

Перейти в директорию  /etc/cron.daily/. В данной директории проверить наличие файлов-сценариев:

...

Обратиться к контейнеру с микросервисом БД. Например (для версии 1.22):

Блок кода
languagebash
linenumberstrue
docker ps
b2a306a11313   hub.eltex-co.ru/iot/iot-double-web:1.22
7356ae9e78ca   hub.eltex-co.ru/iot/iot-core:1.22
8ac05e3f4025   hub.eltex-co.ru/iot/iot-mqttbroker-mongo:1.22
aa97316118c3   hub.eltex-co.ru/softwlc/eltex-ngw:1.18
24b8b2632912   hub.eltex-co.ru/iot/iot-clickhouse-backup:1.22
8a6cb2fab0b6   hub.eltex-co.ru/iot/iot-olapservice:1.22
1ad497e3e9ff   hub.eltex-co.ru/iot/iot-clickhouse-server:1.22
4b826bfc266e   hub.eltex-co.ru/iot/iot-mongo5:1.22

...

 В частности интересует контейнер iot-mongo

...

. Необходимо запустить сценарии из данного контейнера:

Блок кода
languagebash
linenumberstrue
docker exec -it 4b826bfc266eiot-mongo /etc/cron.daily/iot-broker-backupdb
docker exec -it 4b826bfc266eiot-mongo /etc/cron.daily/iot-backupdb

...

Необходимо подготовить сервер для инсталляции платформы.

Подсказка

 Все команды из описания необходимы выполнять с правами root.

Для платформы версии 1.19.4 и выше:
1. Остановить микросервисы предыдущей инсталляции. Необходимо выполнить в консоли:

...

Блок кода
titleРаспаковка архива с конфигурацией
tar -C /etc -xvf ansible-iot-1.23.tar.gz

для 1.25

Блок кода
titleРаспаковка архива с конфигурацией
tar -C /etc -xvf ansible-iot-1.25.tar.gz


Подсказка

 Для получения файлов конфигурации обратитесь с запросом в Коммерческий отдел ЭЛТЕКС.

5. Отредактируйте файлы конфигурации согласно основной документации 

6. Перед выполнением следующих действий необходимо уточнить наличие/поддержку инструкций AVX на CPU сервера. Если поддержка отсутствует, то в настройках Ansible (платформы), т.е. vars/default.yml изменить параметр:

Блок кода
languageyml
titleСодержимое конфигурационного файла vars/default.yml
linenumberstrue
mongodb_version: 4

Для проверки наличия требуемых инструкция:

Блок кода
languageyml
titleСодержимое конфигурационного файла vars/default.yml
bash
linenumberstrue
lscpu | grep avx

(Опционально) Если ранее использовалась mongodb как внешний сервис и требуется перенести всю инфраструктуру БД в миеросервисы, то необходимо выполнить остановку сервиса mongod (с отключением автоматического запуска). Например:

Блок кода
languageyml
titleСодержимое конфигурационного файла vars/default.yml
bash
linenumberstrue
service mongod stop
systemctl disable mongod

Проверить что сервис остановился:

Блок кода
languageyml
titleСодержимое конфигурационного файла vars/default.yml
bash
linenumberstrue
service mongod status

...

Блок кода
languageyml
titleСодержимое конфигурационного файла vars/defaultservice_parameters.yml
linenumberstrue
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

7. Для восстановления из резервной копии БД необходимо предварительно подготовить и проинсталлировать необходимо ПО, в частности если ранее не было установлено ПО mongo-tools и/или mongodb-clients сли ранее использовалась mongodb как внешний сервис на сервере данный шаг не требуется для выполнения):

Блок кода
languagebash
linenumberstrue
apt update
apt install mongo-tools mongodb-clients


Установка новой версии платформы

Подсказка

 Все команды из описания необходимы выполнять с правами root.

1. Запустить процесс инсталляции платформы:

Блок кода
Содержимое конфигурационного файла vars/default
languageymlbashtitle
linenumberstrue
ansible-playbook install.yml

для 1.25

Блок кода
languagebash
linenumberstrue
ansible-playbook install_iot.yml

2. Дождаться окончания операции. Проверить что все сервисы запущены:

Блок кода
languageyml
titleСодержимое конфигурационного файла vars/default.yml
bash
linenumberstrue
docker ps


b2a306a11313   hub.eltex-co.ru/iot/iot-double-web:1.23
7356ae9e78ca   hub.eltex-co.ru/iot/iot-core:1.23
8ac05e3f4025   hub.eltex-co.ru/iot/iot-mqttbroker-mongo:1.23
aa97316118c3   hub.eltex-co.ru/softwlc/eltex-ngw:1.18
24b8b2632912   hub.eltex-co.ru/iot/iot-clickhouse-backup:1.23
8a6cb2fab0b6   hub.eltex-co.ru/iot/iot-olapservice:1.23
1ad497e3e9ff   hub.eltex-co.ru/iot/iot-clickhouse-server:1.23
4b826bfc266e   hub.eltex-co.ru/iot/iot-mongo5:1.23
docker exec -it 4b826bfc266e /etc/cron.daily/iot-broker-backupdb
docker exec -it 4b826bfc266e /etc/cron.daily/iot-backupdb


Перенос резервной копии БД

Подсказка

 Все команды из описания необходимы выполнять с правами root.

1. Остановить микросервисы с доступом до БД:

Блок кода
languageymlbash
titleСодержимое конфигурационного файла vars/default.yml
linenumberstrue
ansible-playbook services_stop.yml --extra-vars '{"services":["core", "broker", "olapservice"]}'

для 1.25

Блок кода
languagebash
linenumberstrue
ansible-playbook servicesstop_stopiot.yml --extra-vars '{"services":["core", "broker", "olapservice"]}'

2. Восстановить записи из резервных копий mongo, например:

Блок кода
languageyml
titleСодержимое конфигурационного файла vars/default.yml
bash
linenumberstrue
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
mongorestore --host=127.0.0.1 --port=27017 --db=iot-licenses --noIndexRestore --drop var/backups/mongobackups/iot-licenses/2022-04-18_04-26/iot-licenses


Примечание

Для восстановления записей из резервных копий olap (история событий) необходимо выполнить дополнительно шаги согласно документации

В частности скопировать бэкапы из /storage/iot/olapdb/clickhouse-backup/archives/ и выполнить перенос согласно п.п.8 документации.


3. Перезапустить все микросервисы:

Блок кода
languagebash
linenumberstrue
ansible-playbook services_stop.yml
ansible-playbook install.yml

для 1.25

Блок кода
languagebash
linenumberstrue
ansible-playbook stop_iot.yml
ansible-playbook install_iot.yml


Предупреждение

В процессе переноса/восстановления из бэкапа БД, в момент первого запуска платформы категорически не рекомендуется вмешиваться в данный процесс (например, останавливать контейнеры). Необходимо дождаться завершения миграции БД.

На процесс запуска может виляет производительность сервера. Необходимо убедиться, что сервер или гостевая система (виртуальная машина) соответствует минимальным требованиям.

4. По окончанию процесса переноса бэкапа БД и успешного старта платформы необходимо вернуть в исходное состояние параметры в vars/service_parameters.yml:

Блок кода
languageyml
titleСодержимое конфигурационного файла vars/defaultservice_parameters.yml
linenumberstrue
export_mongo_port: false
export_olapservice_port: false
export_olapservice_db_port: false

5. Перезапустить все микросервисы:

Блок кода
languagebash
linenumberstrue
ansible-playbook services_stop.yml
ansible-playbook install.yml

для 1.25

Блок кода
languagebash
linenumberstrue
ansible-playbook stop_iot.yml
ansible-playbook install_iot.yml


Предупреждение

В процессе переноса/восстановления из бэкапа БД, в момент первого запуска платформы категорически не рекомендуется вмешиваться в данный процесс (например, останавливать контейнеры). Необходимо дождаться завершения миграции БД.

На процесс запуска может виляет производительность сервера. Необходимо убедиться, что сервер или гостевая система (виртуальная машина) соответствует минимальным требованиям.

...