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

Ключ

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

...

Блок кода
linenumberstrue
adduser one


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

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

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

Блок кода
linenumberstrue
su one

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

...


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

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

...

Блок кода
linenumberstrue
wget https://storage.wimark.com/api/public/dl/XZqjHaJe<URL> \
 -O /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 + портал + аналитика.


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

...

Блок кода
linenumberstrue
sudo chmod +x /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<название файла>

Начиная с версии 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

...


...

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

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


Информация

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

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

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

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


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


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

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

...

Для контроля работоспособности 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”.

...

Информация

Если в выводе "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. Удалить старую платформу (необходимо выполнить из под root - sudo su):

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

При обновлении с версии 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       9. Необходимо загрузить дистрибутив Wimark One на оба сервера, затем запустить установку на первом сервере (при наличии доступа в интернет).

Информация
wget
https://storage.wimark.com/api/public/dl/XZqjHaJe \
 -O /tmp/WiMark-one-1.12.1-2024-07-12-pro-qtech-ha-full-installer.run

...

 <URL> \
 -O /tmp/<название файла>

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

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

...

 chmod +x /tmp/<название файла>

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

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

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

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

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

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


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

Информация

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

...

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


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

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


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

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

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

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

17       17. Удалить из 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

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

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

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

...

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

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

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

20       20. Удалить упоминания о 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

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

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

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

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

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


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

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

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


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

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

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

26       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

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

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

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

...