Копирование и восстановление данных с помощью скриптов

Копирование и перенос с помощью скриптов

Помимо переноса данных вручную(см. описание в Копирование данных и Развертывание данных) в Платформе также имеется автоматизированная возможность переноса данных с помощью скриптов копирования и развертывания: "backup.sh" и "restore.sh". Скрипты входят в стандартную поставку платформы.


Для копирования данных необходимо воспользоваться скриптом: "backup.sh"

Скрипт производит действия, описанные в разделе Копирование данных, а именно:

  1. Копирование DashboardServer
  2. Копирование данных ViQube
  3. Копирование данных ViQube Admin
  4. Копирование данных SSBI
  5. Копирование данных proxy
  6. Копирование данных ViTalk
  7. Копирование данных Smart Forms


Для развертывания данных необходимо воспользоваться скриптом: "restore.sh"

Скрипт производит действия, описанные в разделе Развертывание данных, а именно (кроме лицензий):

  1. Развертывание DashboardServer
  2. Развертывание данных Smart Forms
  3. Развертывание данных ViTalk
  4. Развёртывание данных proxy, ssbi, viqube-admin и viqube


Ограничения

При переносе данных версии на стендах должны быть одинаковые, нельзя переносить данные между разными версиями стендов.


Инструкция по переносу

Подготовка

  1. Рекомендуется создать контрольную точку на стенде, на который переносятся измерения
  2. Обязательно скопируйте Лицензионный ключ с Портала на стенде, на который переносятся измерения: "Основные"→ "Лицензия".
    Ключ понадобится по итогам разворачивания данных.
  3. Перед запуском скриптов необходимо настроить свои параметры доступа в файлах "backup.sh", "restore.sh".

Копирование

  1. Задать в скрипте "backup.sh" все параметры (имена пользователей и пароли) доступа к компонентам платформы.

     Выжимка из скрипта со списком параметров

    SF_POSTGRES_USER="postgres"
    SF_POSTGRES_PASSWORD="Postgres9"
    VL_POSTGRES_USER="viloaderuser"
    VA_POSTGRES_USER="postgres"
    VA_POSTGRES_PASSWORD="Postgres9"
    SYSTEM_USERNAME="admin"
    SYSTEM_USERNAME_PASSWORD="123456"

    В большинстве случаев вам будет достаточно задания только SYSTEM_USERNAME и SYSTEM_USERNAME_PASSWORD, то есть логин и пароль от учетной записи администратора платформы. Остальные доступы к Postgre по умолчанию используются только внутри платформы при взаимодействии ее компонентов между собой и редко меняются. Посмотреть эти доступы к Postgre можно в файлах config.json в соответствующих папках компонентов внутри каталога /docker-volume.
  2. Разметить скрипт  "backup.sh" в каталоге, в котором будет создан архив с данными для переноса
  3. Перейдите в каталог с "backup.sh"
  4. Дать права на исполнение:

    sudo chmod +x *.sh
  5. Запустить скрипт для получения архива с данными для переноса

    sudo ./backup.sh -p <address> --https <on|off> --with-platform-stop <yes|no> --only-smart-forms <yes|no> --only-viqube <yes|no> 
    • -p <address>
      Адрес сервера, с которого снимается дамп данных. Значение параметра может быть как IP-адресом, так и доменным именем сервера с установленной платформой, в зависимости от настроек сетевого окружения.

    • --https <on|off>
    • Параметр определяет, работает платформа со схемой HTTPS или HTTP. Для использования HTTPS необходимо указать значение параметра on. Для использования схемы HTTP, необходимо указать значение параметра off или не указывать параметр --https. 

    • --with-platform-stop <yes|no>
      Параметр определяет, останавливать ли компоненты платформы при снятии дампа данных. Для остановки компонент необходимо указать значение yes, иначе - no или не указывать параметр. После снятия дампа данных платформа запустится автоматически.
      При большом количестве данных, процесс резервного копирования может длиться несколько часов. Внесенные в это время изменения в конфигурацию системы могут частично попасть в итоговый дамп. Для создания точной копии системы на определенный момент времени, рекомендуется использовать параметр --with-platform-stop yes.

    • --only-viqube <yes|no>
      Параметр определяет режим снятия дампа только для компонента ViQube. Для включения этого режима необходимо указать значение yes, иначе - no или не указывать параметр.

    • --only-smart-forms <yes|no>
      Параметр определяет режим снятия дампа только для компонента Smart-Forms. Для включения этого режима необходимо указать значение yes, иначе - no или не указывать параметр.
  6. По итогам исполнения запроса в текущем каталоге будет создан архив: <LOCALNAME-visiology-DD.MM.YYYY.tar.gz>

Разворачивание

  1. Задать в скрипте "restore.sh" все параметры (имена пользователей и пароли) доступа к компонентам платформы аналогично пункту 1 в разделе "Копирование" выше. Доступы нужно прописывать от целевого стенда с платформой, а не от стенда-источника, откуда данные уже были скопированы ранее.
  2. Перенести полученный архив <LOCALNAME-visiology-DD.MM.YYYY.tar.gz> на стенд, на который переносятся измерения
  3. Разместить скрипт "restore.sh" в каталог, где находится архив <LOCALNAME-visiology-DD.MM.YYYY.tar.gz>
  4. Дать права на исполнение:

    sudo chmod +x *.sh
  5. Разверните архив:

    sudo ./restore.sh <ИМЯ_АРХИВА> -p <address> --https <on|off> --with-platform-stop <yes|no> --only-smart-forms <yes|no> --only-viqube <yes|no> 
      • -p <address>
        Адрес сервера, на котором разворачивается дамп данных. Значение параметра может быть как IP-адресом, так и доменным именем сервера с установленной платформой, в зависимости от настроек сетевого окружения.

      • --https <on|off>
        Параметр определяет, работает платформа со схемой HTTPS или HTTP. Для использования HTTPS необходимо указать значение параметра on. Для использования схемы HTTP, необходимо указать значение параметра off или не указывать параметр --https. 

      • --with-platform-stop <yes|no>
        Параметр определяет, останавливать ли компоненты платформы при развертке дампа данных. Для остановки компонент необходимо указать значение yes, иначе - no или не указывать параметр.
        При большом количестве данных, процесс восстановления данных может длиться несколько часов. Внесенные в это время изменения в конфигурацию системы могут частично быть перезаписаны по результату работы процесса восстановления данных. Для создания точной копии системы из бекапа, рекомендуется использовать параметр --with-platform-stop yes.

      • --only-viqube <yes|no>
        Параметр определяет режим развертки дампа только для компонента ViQube. Для включения этого режима необходимо указать значение yes, иначе - no или не указывать параметр.

      • --only-smart-forms <yes|no>
        Параметр определяет режим развертки дампа только для компонента Smart-Forms. Для включения этого режима необходимо указать значение yes, иначе - no или не указывать параметр.

      • --with-smart-forms-triggers <yes|no>
        Параметр определяет, переносить ли настройки расписания автоматического переноса данных из Smart Forms в ViQube. Для переноса необходимо указать значение yes, иначе - no или не указывать параметр.

      • --with-viqube-admin-plans <yes|no>
        Параметр определяет, переносить ли настройки планов загрузчиков в панели администратора ViQube. Для переноса необходимо указать значение yes, иначе - no или не указывать параметр.
  6. Активируйте лицензию: 
    1. Перезапустите сервис admin командой sudo docker service update --init visiology_admin --force
    2. Перейдите на портал и введите ключ, который был скопирован до Разворачивания
    3. Введите ключ и Примените его
    4. Перезапустите систему согласно инструкции