Начиная с версии 1.36 установка в Deb больше не поддерживается. В случае наличия Deb версии SoftWLC необходимо произвести миграцию в Docker версию. |
Более подробно про установку скриптом в Docker с помощью плейбуков Ansible можно посмотреть здесь: v1.37_Пошаговая установка SoftWLC в Docker через Ansible скриптом-установщиком |
Установка в Ansible позволяет провести миграцию из Deb установки в Docker.
Миграция производится в несколько этапов:
1) Миграция параметров конфигурации (только для однохостовой установки)
2) Установка решения в Docker с использованием Ansible
3) Миграция базы данных
4) Смена виртуального ip адреса (только для многохостовой установки)
Для проведения данной миграции на хосте с Deb версией SoftWLC необходим установленный Python версии не ниже 3.7 Также данная миграция возможна только при миграции: Однохостовое решение Deb → Однохостовое решение Docker-Ansible. При миграции многохостовго решения производится только перенос базы данных. |
Шаги по переносу параметров конфигурации:
1) Иметь установку deb версии SoftWLC.
2) Скачать скрипт-установщик на хост с Deb версией SoftWLC и запустить его с флагом --migrate-from-debs:
sudo ./eltex-softwlc-helper-ansible-latest.sh --migrate-from-debs |
При запросе ввода ip адреса указать ip адрес хоста с установленной Deb версией SoftWLC |
После этого шага в директории с параметрами конфигурации Ansible - softwlc-ansible-1.37/inventory/my_softwlc/group_vars/ появятся новые файлы - eltex-*.yml, содержащие все перенесённые параметры.
3) При установке SoftWLC в Docker на тот же хост, где расположен SoftWLC в Deb - остановить все сервисы eltex-*.service, nginx, mysql:
sudo systemctl stop eltex-*.service sudo systemctl stop nginx sudo systemctl stop mysql sudo systemctl disable eltex-*.service sudo systemctl disable nginx sudo systemctl disable mysql |
Для установки можно воспользоваться инструкцией, соответствующей вашей требуемой версии:
v1.37_Пошаговая установка SoftWLC в Docker через Ansible скриптом-установщиком
v1.37_Настройка схемы резервирования SoftWLC 1+1 в Docker при помощи Ansible
v1.37_Настройка схемы репликации SoftWLC 1+1+3 GaleraNodes в Docker при помощи Ansible
При запросе ввода ip адресов указать ip адреса хостов, используемых для установки Docker версии SoftWLC |
Миграцию баз данных можно произвести с помощью скрипта, либо вручную. Для больших эксплуатация (количество точек больше 1000) рекомендуется производить восстановление базы данных вручную.
Данный вариант является более предпочтительным в связи с возможностью отслеживания процесса архивирования и переноса дампа базы данных |
Шаги по переносу базы данных:
1) Иметь установку deb версии SoftWLC.
2) Подключиться по SSH на хост, с установленной Deb версией
ssh <user_login>@<ip_address_deb> |
3) Перейти в директорию /var/lib/mysql/
cd /var/lib/mysql/ |
4) Проверить установленный пакет
sudo apt update && sudo apt install zip |
5) Создать архив с файлами выбранной директории. Для удобства дальнейшего переноса файлов разместите его в домашней директории пользователя.
zip -r /home/<user_login>/mysql_backup.zip * |
6) Скопировать данный архив на хост, где будет разворачиваться решение в Docker-Ansible, первая нода с базой данных:
softwlc_main для Standalone version
softwlc_reserv_1 для Reservation 1+1 (Galera Cluster) version
database_1 для Replication 1+1+3 Galera Database Nodes version
scp /home/<user_login>/mysql_backup.zip <user_login>@<ip_address_docker>:/home/<user_login>/ |
7) Запустить скрипт с флагом --stop для остановки сервисов (указать ip адреса хостов с Docker)
sudo ./eltex-softwlc-helper-ansible-latest.sh --stop |
8) На хосте с Docker удалить существующие данные в volume MariaDB и перенести туда архив БД с домашней директории
cd /<path_to_softwlc_docker>/volumes/mysql/datadir sudo rm -rf * sudo mv ~/mysql_backup.zip . |
9) Проверить установленный пакет
# AstraLinux, Ubuntu sudo apt update && sudo apt install unzip # RedOS sudo dnf update && sudo dnf install unzip |
10) Разархивировать полученные данные с заменой старых данных
sudo unzip -o mysql_backup.zip |
11) На хосте с Docker запустим скрипт с ключом --reconfigure для замены значений localhost, которые по умолчанию остались при переносе БД из Deb в Docker
sudo ./eltex-softwlc-helper-ansible-latest.sh --reconfigure |
После данных шагов миграция баз данных на новую установку в Docker будет завершена
Шаги по переносу базы данных:
1) Иметь установку deb версии SoftWLC.
2) Создать архив базы данных на сервере с Deb установкой запустив на хосте с Ansible скрипт с ключом --migrate-db-backup
sudo ./eltex-softwlc-helper-ansible-latest.sh --migrate-db-backup |
При запросе ввода ip адреса указать ip адрес хоста с установленной Deb версией SoftWLC |
| Архив mysql_backup.zip будет создан в директории /tmp/mysql_backup.zip |
3) Подключиться к серверу с Deb установкой, ip которой был указан при создании архива и скопировать архив на сервер с установленным Ansible, выполнив команду:
scp /tmp/mysql_backup.zip <user_login>@<ip_address_ansible>:/home/<user_login>/ |
4) На хосте с Ansible перенести перенести архив базы в директорию Ansible командой:
sudo mv /home/<user_login>/mysql_backup.zip /home/<user_login>/ansible/softwlc-ansible-1.37/roles/migration_restore_db/files/ |
4) Из директории со скриптом (/home/<user_login>/ansible) запустить его с ключом --migrate-db-restore:
sudo ./eltex-softwlc-helper-ansible-latest.sh --migrate-db-restore |
При запросе ввода ip адресов указать ip адреса хостов, куда ранее было установлена Docker версия SoftWLC |
После данных шагов миграция баз данных на новую установку в Docker будет завершена
Смена данного параметра возможна только при использовании многохостового решения. |
В случае необходимости поменять VIP адрес для многохостовых установок необходимо запустить скрипт с ключом --reconfigure:
sudo ./eltex-softwlc-helper-ansible-latest.sh --reconfigure |
При запросе Virtual IP указать необходимый виртуальный ip адрес. Если остальные параметры не изменялись вручную, то их можно пропустить нажатием Enter.
После чего скрипт выполнит смену VIP адреса.