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

Ключ

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

...

Блок кода
linenumberstrue
adduser one


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

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

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

Блок кода
linenumberstrue
su one

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

...


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

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

...

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

Лицензия* Лицензия:

  • base - NMS;

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

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

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

...

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

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

...

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

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

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       7. После установки основных компонентов будет предложено установить SMTP (рисунок 6).

...

Информация

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

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

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

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


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


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

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

...

Информация

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:

...

Информация

Если в выводе "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):

...

Блок кода
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 <URL> \
 -O /tmp/<название файла>

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

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

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

...

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

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

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

...

Информация

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

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


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

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


Рисунок 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-installer.run

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

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

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

...

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

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


Рисунок 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:

...