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

Ключ

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

...

  • TCP: 80 / 443 (DST) - для управления через WEB-интерфейс;

  • UDP: 500 / 4500 (DST) - для туннеля IPSec между ТД и платформой (ТД подключается по ipsec);

  • TCP: 8080 / 8443 (DST) - для портала авторизации пользователей (для Portal модуля);

  • TCP: 1883 (DST) - для подключения ТД без туннеля (MQTT);

  • УбедитсяУбедиться, что что открыт TCP: 27017 - открыты   (MongoDB).

Настройка беспарольного доступа между серверами

...

Блок кода
linenumberstrue
adduser one


2       2. Добавить пользователя one в суперпользователи:

Блок кода
linenumberstrue
sudo usermod -aG sudo one
sudo usermod -aG docker one

...

       3. Войти в систему под этим пользователем :

Блок кода
linenumberstrue
su one

4       4. Сгенерировать ssh ключ:

...


Рисунок 1 - Пример вывода команды ssh-keygen

5       5. Скопировать ssh-ключ на указанный сервер:

...

Необходимо загрузить дистрибутив Wimark One на тот сервер, где планируется установка ПО .
Для запуска установки необходимо выполнить:

...

(при наличии доступа в интернет):

Блок кода
linenumberstrue
sudowget chmod +x<URL> \
 -O /tmp/WiMark-one-1.12.1-2024-07-12-pro-qtech-ha-full-installer.run

2. Запустить установку на первом сервере:

Блок кода
linenumberstrue
sudo /tmp/WiMark-one-1.12.1-2024-07-12-pro-qtech-ha-full-installer.run<название файла>

Формат названия файла установщика: продукт - версия - дата сборки - лицензия* - брендирование - формат установки - формат инсталлятора - installer run.

* Лицензия:

  • base - NMS;

  • portal - NMS + портал;

  • anl - NMS + аналитика;

  • pro - NMS + портал + аналитика.


Для запуска установки необходимо выполнить:

  1. Сделать загруженный ранее дистрибутив Wimark One исполняемым:

Блок кода
linenumberstrue
sudo chmod +x /tmp/<название файла>

       2. Запустить установку на первом сервере:

Блок кода
linenumberstrue
sudo /tmp/<название файла>

Начиная с версии Wimark One 1.12, в дистрибутиве содержится интерактивный “установщик”, который поможет заполнить необходимые параметры для установки платформы.

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

На момент установки платформы на двух сервера серверах рекомендуется иметь доступ в Интернет, в противном случает подразумевается, что все перечисленные пакеты уже имеются на сервере.

3       3. Установка Docker:


Рисунок 2 - Установка Docker

4       4. Установка следующих пакетов: tcpdump, keepalived и rsync.

...



Рисунок 3 - Проверка и установка необходимых пакетов

5       5. Указать параметры Management IP, Neighbor IP и VIP:

...

Информация

Management IP - IP-адрес управления.

Neighbor IP - IP-адрес соседнего сервера.

VIP - виртуальный IP используемый сервисом keepalived, который будет одинаковым, независимо от сервера.


6       6. Во время установки будет предложено заполнить FQDN:

...

Информация

FQDN (Fully Qualified Domain Name) полное доменное имя определяющее узел в сети Интернет (имя домена, на которое будет реагировать веб-сервер).

FQDN должен быть одинаковым, что на первом сервере, что на втором сервере.

7. После этого запустится инициализация keepalived.
Если в сети присутствуют другие сервера с keepalived, то необходимо будет указать значение “0” для создания нового мастер-сервера, как это показано на рисунке 6.

Image Removed
Рисунок 6 - Инициализация keepalived (MASTER)

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

Особое внимание стоит обратить на строчку:
“Получено состояние Keepalived 'MASTER' из файла /tmp/keepalived.data”.

На втором сервере мы ожидаем увидеть подобное сообщение:
”Получено состояние Keepalived 'BACKUP' из файла /tmp/keepalived.data”.

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

Не дожидаясь окончания загрузки образов Docker, необходимо выполнить пункты 6 и 7 на втором сервере.

На втором сервере необходимо будет выбрать именно тот “Мастер-сервер”, который был создан на первом сервере, например как на рисунке 7.

Image Removed
Рисунок 7 - Инициализация keepalived (BACKUP)

8. После установки основных компонентов будет предложено установить SMTP (рисунок 8).

Image Removed
Рисунок 8 - Установка SMTP

Информация

SMTP_HOST - имя хоста или IP-адрес SMTP-сервера, который будет отправлять сообщения;

SMTP_PORT - номер порта для подключения к SMTP-серверу, по умолчанию 25;

SMTP_USER - логин учетной записи (УЗ) для SMTP;

SMTP_PASS - пароль УЗ для SMTP.

9. Дальше выполняется создание, запуск платформы и инициализация БД (рисунок 9).

Image Removed
Рисунок 9 - Ожидание ответа от второго сервера

10. После завершения установки отобразится запись:

Блок кода
linenumberstrue
-- УСТАНОВЩИК -- Процесс установки окончен

Необходимо добавить выполнение скрипта start.sh в cron:

Блок кода
linenumberstrue
sudo crontab -u root -e

...

linenumberstrue

...


...

       7. После установки основных компонентов будет предложено установить SMTP (рисунок 6).

Image Added
Рисунок 6 - Установка SMTP


Информация

SMTP_HOST - имя хоста или IP-адрес SMTP-сервера, который будет отправлять сообщения;

SMTP_PORT - номер порта для подключения к SMTP-серверу, по умолчанию 25;

SMTP_USER - логин учетной записи (УЗ) для SMTP;

SMTP_PASS - пароль УЗ для SMTP.


       8. Дальше выполняется создание, запуск платформы и инициализация БД (рисунок 7).

Image Added
Рисунок 7 - Ожидание ответа от второго сервера

       9. После завершения установки отобразится запись:

Блок кода
linenumberstrue
-- УСТАНОВЩИК -- Процесс установки окончен

Необходимо добавить выполнение скрипта start.sh в cron:

Блок кода
linenumberstrue
sudo crontab -u root -e


Блок кода
linenumberstrue
* * * * * bash /opt/wimark/one/start.sh
* * * * * sleep 10 && bash /opt/wimark/one/start.sh
* * * * * sleep 20 && bash /opt/wimark/one/start.sh
* * * * * sleep 30 && bash /opt/wimark/one/start.sh
* * * * * sleep 40 && bash /opt/wimark/one/start.sh
* * * * * sleep 50 && bash /opt/wimark/one/start.sh

...

Для контроля работоспособности Wimark One пользователю следует перейти на web интерфейс платформы. При успешном завершении установки отобразится форма авторизации в соответствии с рисунком 108.

Подсказка

Логин/пароль по умолчанию: wimark/wimark




Рисунок 10 8 - Форма авторизации

Создание резервных копий (версия 1.11.8 и выше)

...

Информация

rs0/mongo-rs-1 зависит от доступности серверов.

Если первый сервер недоступен, то следует заменить его на второй сервер.

127.0.0.1 localhost mongo-rs-1
1.1.1.1 mongo-rs-2

При недоступности второго сервера, заменить его на первый.

2       2. Подготовить папку на сервере для резервной копии:

Блок кода
linenumberstrue
sudo mkdir /opt/wimark_backup/

3       3. Копировать архив с резервной копией БД из контейнера в систему:

Блок кода
linenumberstrue
docker cp $(docker ps | grep 'one-mongo-1\|one-mongo-ha-1' | \
 awk '{ print $1;}'):/tmp/backup_wimark.gz /opt/wimark_backup/

4.        4. Создать резервную копию static файлов, которые находятся в папке /opt/wimark/static:

...

Блок кода
linenumberstrue
sudo mkdir /opt/wimark_backup/

2       2. Зайти в контейнер с MongoDB:

Блок кода
linenumberstrue
docker exec -it $(docker ps | grep 'one-mongo-1\|one-mongo-ha-1' | \
 awk '{ print $1;}') bash

3       3. Создать резервную копию БД:

...

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

Данная команда для создания резервной копии указана в качестве примера!

Если какая-нибудь из коллекций необходима, то следует убрать её из исключений.
Пример:
--excludeCollection=client_rf - убрав данный параметр из команды, новосозданный бэкап БД будет содержать в себе коллекцию client_rf.

4       4. Копировать архив с резервной копией БД из контейнера в систему:

Блок кода
linenumberstrue
docker cp $(docker ps | grep 'one-mongo-1\|one-mongo-ha-1' | \
 awk '{ print $1;}'):/tmp/backup_wimark.gz /opt/wimark_backup/

5       5. Создать резервную копию static файлов, которые находятся в папке /opt/wimark/static:

Блок кода
linenumberstrue
cp -r /opt/wimark/static /opt/wimark_backup/static

Обновление Wimark One (HA)

...

до версии 1.12.1

Информация

При обновлении Wimark One с более ранних версий (до 1.11.8), необходимо сначала выполнить обновление на версию 1.

...

Подготовить резервную копию БД.

...

11.8 в соответствии с документацией “Wimark One: установка и обновление на свои сервера (HA)_1.11”.

  1. Подготовить резервную копию БД.

  2. Определить сервер, на котором БД является PRIMARY:

...

Информация

Если в выводе "ismaster" : false , то перейти на другой сервер и повторить.

Если "ismaster" : true, то следует оставаться на этом сервере.

3       3. Остановить сервис - keepalived:

Блок кода
linenumberstrue
service keepalived stop

4       4. Удалить из cron задачи связанные со скриптом checker.sh:

...

Блок кода
linenumberstrue
* * * * * bash /opt/wimark/checker.sh
* * * * * sleep 10 && bash /opt/wimark/checker.sh
* * * * * sleep 20 && bash /opt/wimark/checker.sh
* * * * * sleep 30 && bash /opt/wimark/checker.sh
* * * * * sleep 40 && bash /opt/wimark/checker.sh
* * * * * sleep 50 && bash /opt/wimark/checker.sh

5       5. Удалить старую платформу (необходимо выполнить из под root - sudo su):

rm -r /opt/
Блок кода
linenumberstrue
Предупреждение

При обновлении с версии 1.12 на версию 1.12.1 на обоих серверах удалить каталог /opt/mongodb/ при его наличии.


Блок кода
linenumberstrue
rm -r /opt/wimark; docker rm -f $(docker ps -qaf "name=one-|master|backup|one_")

6       6. Удалить все остановленные контейнеры, образы, сети и тома из Docker:

...

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

Данная команда удалит все остановленные контейнеры, “висящие” (неиспользуемые) Docker-образы, неиспользуемые сети и тома.

Если вы дополнительно установили контейнеры поверх Wimark One, то следует создать резервные копии для них/их настроек и установить после завершения обновления.

7       7. Удалить упоминания о mongo-rs-1, mongo-rs-2 и mongo-rs-3 из /etc/hosts:

...

Блок кода
linenumberstrue
127.0.0.1 localhost mongo-rs-2
{IP-1} mongo-rs-1
{VIP} mongo-rs-3

8       8. Проверить, что всё отработало корректно, т.е. второй сервер должен быть в состоянии Master.
Для этого может понадобиться несколько минут с момента отключения keepalived.

Информация

Более подробный процесс описан в разделе по установке Wimark One, поэтому далее будет предоставлена упрощенная версия установки с указанием только на те детали, которые будут отличаться от стандартного процесса установки.

9. Необходимо загрузить дистрибутив Wimark One на оба сервера, затем запустить установку на первом сервере, где уже было подготовлено всё необходимое.

...

.

       9. Необходимо загрузить дистрибутив Wimark One на оба сервера, затем запустить установку на первом сервере (при наличии доступа в интернет).

Информация
wget <URL> \
 -O /tmp/<название файла>

       10. Сделать загруженный ранее дистрибутив Wimark One исполняемым:

Блок кода
linenumberstrue
sudo chmod +x /tmp/<название файла>

       11. Запустить установку на первом сервере:

Блок кода
linenumberstrue
sudo /tmp/<название файла>

Начиная с версии Wimark One 1.12, в дистрибутиве содержится интерактивный “установщик”, который поможет заполнить необходимые параметры для установки платформы.

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

На момент установки платформы на двух сервера рекомендуется иметь доступ в Интернет, в противном случает подразумевается, что все перечисленные пакеты уже имеются на сервере.

       12. Заполнить настройки и согласиться удалить старые настройки keepalived.

Image Added
Рисунок 9 - Обновление платформы

Информация

Это связанно с тем, что начиная с версии 1.12 Wimark One используется третья версия VRRP и изменён стандартный конфигурационный файл keepalived.

       13. Указать данный сервер как Master, т.е. создать новый мастер-сервер (ввести значение “0):

Image Added
Рисунок 10 - Новый мастер-сервер

       14. На рисунке 11 отображается ожидание окончания инициализации, настройка SMTP, затем ожидание сообщения о том, что данный сервер ждёт ответа от MongoDB со второго сервера.

Image Added
Рисунок 11 - Ожидание обновления второго сервера

       15. Перейти на второй сервер.

       16. Остановить сервис - keepalived:

Блок кода
linenumberstrue
service keepalived stop

       17. Удалить из cron задачи связанные со скриптом checker.sh:

Блок кода
linenumberstrue
sudo crontab -u root -e


Блок кода
linenumberstrue
* * * * * bash /opt/wimark/checker.sh
* * * * * sleep 10 && bash /opt/wimark/checker.sh
* * * * * sleep 20 && bash /opt/wimark/checker.sh
* * * * * sleep 30 && bash /opt/wimark/checker.sh
* * * * * sleep 40 && bash /opt/wimark/checker.sh
* * * * * sleep 50 && bash /opt/wimark/checker.sh

       18. Удалить старую платформу (необходимо выполнить из под root - sudo su):

Блок кода
linenumberstrue
rm -r /opt/wimark; docker rm -f $(docker ps -qaf "name=one-|master|backup|one_")

       19. Удалить все остановленные контейнеры, образы, сети и тома из Docker:

Блок кода
linenumberstrue
sudodocker chmodsystem +x /tmp/WiMark-one-1.12.1-2024-07-12-pro-qtech-ha-full-installer.run

11. Запустить установку на первом сервере:

Блок кода
linenumberstrue
sudo /tmp/WiMark-one-1.12.1-2024-07-12-pro-qtech-ha-full-installer.run

Начиная с версии Wimark One 1.12, в дистрибутиве содержится интерактивный “установщик”, который поможет заполнить необходимые параметры для установки платформы.

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

На момент установки платформы на двух сервера рекомендуется иметь доступ в Интернет, в противном случает подразумевается, что все перечисленные пакеты уже имеются на сервере.

12. Заполнить настройки и согласиться удалить старые настройки keepalived.

Image Removed
Рисунок 11 - Обновление платформы

Информация

Это связанно с тем, что начиная с версии 1.12 Wimark One используется третья версия VRRP и изменён стандартный конфигурационный файл keepalived.

13. Указать данный сервер как Master, т.е. создать новый мастер-сервер (ввести значение “0):

Image Removed
Рисунок 12 - Новый мастер-сервер

14. На рисунке 13 отображается ожидание окончания инициализации, настройка SMTP, затем ожидание сообщения о том, что данный сервер ждёт ответа от MongoDB со второго сервера.

Image Removed
Рисунок 13 - Ожидание обновления второго сервера

15. Перейти на второй сервер и выполнить пункты с 3 по 7:

...

prune --all --volumes


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

Данная команда удалит все остановленные контейнеры, “висящие” (неиспользуемые) Docker-образы, неиспользуемые сети и тома.

Если вы дополнительно установили контейнеры поверх Wimark One, то следует создать резервные копии для них/их настроек и установить после завершения обновления.

       20. Удалить упоминания о mongo-rs-1, mongo-rs-2 и mongo-rs-3 из /etc/hosts:

Блок кода
linenumberstrue
sudo nano /etc/hosts


Блок кода
linenumberstrue
127.0.0.1 localhost mongo-rs-2
{IP-1} mongo-rs-1
{VIP} mongo-rs-3

       21. Сделать загруженный ранее дистрибутив Wimark One исполняемым:

Блок кода
linenumberstrue
sudo chmod +x /tmp/WiMark-one-installer.run

       22. Запустить установку на втором сервере:

Блок кода
linenumberstrue
sudo /tmp/WiMark-one-installer.run

       23. Заполнить настройки и согласиться удалить старые настройки keepalived.

Image Added
Рисунок 12 - Обновление второго сервера

При выборе мастер-сервера, выбираем тот, который сейчас активен на первом сервере.

16       24. После завершения установки проверить, что на первом сервере тоже закончилась установка. Для этого может понадобится несколько минут, пока БД и другие контейнеры на втором сервере будут запускаться (рисунок 1513).


Рисунок 15 13 - Завершение установки на первом сервере

17       25. Скопировать ранее созданную резервную копию БД в контейнер с новой БД:

Блок кода
linenumberstrue
docker cp /opt/wimark_backup/backup_wimark.gz $(docker ps | \
 grep 'one-mongo-1\|one-mongo-ha-1' | awk '{ print $1;}'):/tmp/

18       26. Запустить процесс восстановления данных из резервной копии БД:

Блок кода
linenumberstrue
docker exec -it $(docker ps | grep 'one-mongo-1\|one-mongo-ha-1' | \
 awk '{ print $1;}') mongorestore --drop --nsInclude='test.*' \
 --gzip --archive=/tmp/backup_wimark.gz

19       27. Копировать обратно static-файлы:

Блок кода
linenumberstrue
rm -r /opt/wimark/static
cp -r /opt/wimark_backup/static /opt/wimark/

20       28. Добавить на двух серверах скрипт в cron:

...