Перенос VMmanager с исходного сервера на сервер назначения состоит из следующих шагов:

  1. Перенос данных VMmanager. Порядок переноса зависит от того, нужно ли переносить данные статистики.
  2. Перенос доменного имени, если к исходному серверу привязан домен.
  3. Изменение токена лицензии.

В связи с поэтапным переходом платформы на использование СУБД PostgreSQL, разные экземпляры VMmanager могут использовать разные СУБД:

  • VMmanager Hosting — MySQL;
  • VMmanager Infrastructure:
    • для новых установок на ОС Astra Linux, начиная с версии VMmanager 2023.06.1 — PostgreSQL;
    • в остальных случаях — MySQL.

Чтобы определить тип СУБД, выполните на сервере с платформой команду: 

docker ps --filter name=pgsql
BASH

Пример ответа

CONTAINER ID   IMAGE         COMMAND                  CREATED      STATUS      PORTS      NAMES
3213c5dc94d0   postgres:12   "docker-entrypoint.s…"   5 days ago   Up 4 days   5432/tcp   pgsql
CODE

Если вывод команды содержит информацию о контейнере, платформа использует PostgreSQL, если ответ пустой — MySQL.

Шаг 1. Перенос данных VMmanager


  1. На сервере назначения:
    1. Установите VMmanager. Подробнее см. в статье Установка.
    2. Остановите VMmanager и удалите созданные контейнеры:

      vm down
      CODE
    3. Удалите данные, созданные установщиком:

      rm -rf /opt/ispsystem/vm/*sql /opt/ispsystem/vm/clickhouse /opt/ispsystem/vm/config.json
      
      CODE
    4. Если требуется переносить данные статистики, проверьте, установлена ли утилита rsync. Если нет, установите её: 
      dnf install rsync || apt install rsync
      CODE
    5. Убедитесь, что узлы и виртуальные машины исходного сервера доступны с сервера назначения. При необходимости внесите изменения в конфигурацию файрвола.
  2. На исходном сервере:

    • Если переносить данные статистики не требуется:
      1. Создайте резервную копию платформы. Подробнее см. в статье Резервное копирование платформы.
      2. Остановите VMmanager и удалите его docker-контейнеры:
        vm down
        CODE
      3. Если на сервере не установлена утилита rsync, установите её: 
        dnf install rsync || apt install rsync
        CODE
      4. Перенесите файл резервной копии на сервер назначения: 
        rsync -avzP /opt/ispsystem/vm/backup/ user@192.0.2.1:/opt/ispsystem/vm/backup/
        CODE

        user имя пользователя на сервере назначения

        192.0.2.1 IP-адрес сервера назначения

    • Если требуется переносить данные статистики:
      1. Остановите VMmanager и удалите его docker-контейнеры:
        vm down
        CODE
      2. Если на сервере не установлена утилита rsync, установите её: 
        dnf install rsync || apt install rsync
        CODE
      3. Перенесите на сервер назначения файлы и директории:
        • /opt/ispsystem/vm/mysql/ — если платформа использует СУБД MySQL;
        • /opt/ispsystem/vm/pgsql/ — если платформа использует СУБД PostgreSQL;
        • /opt/ispsystem/vm/telegram-srv/ — если используется отправка уведомлений в Telegram;
        • /opt/ispsystem/vm/clickhouse/ — данные статистики;
        • /opt/ispsystem/vm/config.json — конфигурационный файл платформы.

          Пример команды

          rsync -avzP /opt/ispsystem/vm/{mysql,telegram-srv,clickhouse,config.json} user@192.0.2.1:/opt/ispsystem/vm/
          CODE

          user имя пользователя на сервере назначения

          192.0.2.1 IP-адрес сервера назначения

  3. На сервере назначения:

    1. Если вы переносили файл /opt/ispsystem/vm/config.json, укажите в нём IP-адрес или доменное имя сервера назначения в параметре DomainName.
    2. Запустите VMmanager:

      vm start
      CODE
    3. Если вы переносили данные через резервную копию, восстановите данные по инструкции из статьи Резервное копирование платформы.
  4. Если перенос завершился успешно, удалите платформу с исходного сервера:
    1. Остановите и удалите из автозагрузки службу VMmanager: 

      systemctl stop vm.service
      CODE
      systemctl disable vm.service
      CODE
    2. Удалите информацию о работе платформы: 

      rm /opt/ispsystem/vm -rf
      CODE
    3. Удалите установленные docker-образы и контейнеры: 

      docker system prune -a -f
      CODE
    4. Удалите ПО Docker: 

      AlmaLinux

      yum remove docker-ce docker-ce-cli docker-ce-rootless-extras containerd.io
      CODE

      Ubuntu, Astra Linux

      apt remove docker-ce docker-ce-cli docker-ce-rootless-extras containerd.io
      CODE

Шаг 2. Перенос доменного имени


  1. Внесите изменения в A-запись NS-сервера: поменяйте IP-адрес исходного сервера на IP-адрес сервера назначения.
  2. Если к домену подключён SSL-сертификат, выполните инструкции из статьи Подключение SSL-сертификата.

 На период переноса доменного имени рекомендуем создать на сервере назначения временный поддомен. Если у вас SSL-сертификат без поддержки Wildcard, получите для поддомена бесплатный сертификат Let's Encrypt.

Шаг 3. Изменение токена лицензии


При переносе платформы на новый сервер нужно заново создать токен лицензии.

Для этого обратитесь в техническую поддержку вашего дистрибьютора.

Чтобы обновить информацию о токене лицензии:

  1. Подключитесь к серверу с VMmanager по SSH с правами суперпользователя (по умолчанию root). Подробнее о подключении по SSH см. в статье Настройка рабочего места.
  2. Удалите из директории /opt/ispsystem/license/ все файлы, кроме machine_id

    find /opt/ispsystem/license/ -type f -not -name 'machine_id' -delete
    BASH
  3. В интерфейсе VMmanager перейдите в Обзор системы.
  4. В поле Токен лицензии введите значение нового токена лицензии.

  5. Нажмите кнопку Активировать.