Миграция позволяет перенести управление виртуальными машинами (ВМ) из панели VMmanager 5 KVM в платформу VMmanager 6. Миграция включает перенос:

  • адресного пространства — используемых IP-адресов, пулов и сетей;
  • учётных записей пользователей;
  • ограничений доступа к ВМ;
  • пользователей BILLmanager, если была настроена интеграция.

Для мигрируемых ВМ платформа создаст временный кластер с ограниченной функциональностью. После миграции вы можете перенести ВМ из этого кластера в другие кластеры платформы.

Обратите внимание!

В статье описана миграция из панели управления VMmanager 5 KVM. Если вы используете VMmanager 5 OVZ, ВМ можно перенести вручную по инструкции из статьи Перенос OVZ-контейнера в LXD-кластер

Ограничения миграции


Вы можете перенести в VMmanager 6 любой кластер из VMmanager 5. Дальнейшая миграция ВМ в кластеры VMmanager 6 имеет ограничения в текущей версии платформы:

ОграничениеВозможное решение
для узлов кластера с QEMU версии ниже 2.0.0 недоступна "живая" миграция ВМвыключить ВМ перед миграцией
изменение типа хранилища может привести к временной недоступности ВМне менять тип хранилища при миграции
у ВМ не должно быть сетевых интерфейсов, подключённых к NATизменить сетевую конфигурацию ВМ
к каждому сетевому мосту узла кластера должно быть подключено не более одного интерфейса ВМудалить интерфейс ВМ или подключить его к свободному сетевому мосту
у ВМ не должно быть созданных снимков (snapshot)удалить снимки перед миграцией
у ВМ не должно быть подключённых ISO-образовотключить ISO-образы перед миграцией
диск ВМ должен находиться в локальном хранилище — файловом или LVMвозможность миграции появится в следующих версиях платформы

Миграция ВМ возможна в кластеры с сетевой настройкой "Коммутация" или IP-fabric.

Для миграции лицензия на панель управления VMmanager 5 должна быть активной.

Tребования к сетевым настройкам


У каждого сервера должно быть уникальное имя хоста (hostname).

Разрешите подключения на порты:

  • между сервером с панелью управления VMmanager 5 и платформой VMmanager 6:
    • 22/tcp — SSH;
    • 5900-6900/tcp — QEMU VNC, SPICE;
    • 6514/tcp — сервис управления виртуальными машинами libvirt;
    • 49152-49261/tcp — сервисы миграции libvirt;
    • 443/tcp — HTTPS;
  • между узлами кластера VMmanager 5 и узлами кластера VMmanager 6:
    • 22/tcp — SSH;
    • 49152-49261/tcp — сервисы миграции libvirt;
    • 443/tcp — HTTPS;
  • между узлами кластера VMmanager 5 и платформой VMmanager 6:
    • 22/tcp — SSH;
    • 5900-6900/tcp — QEMU VNC, SPICE;
    • 6514/tcp — сервис управления виртуальными машинами libvirt;
    • 49152-49261/tcp — сервисы миграции libvirt;
    • 443/tcp — HTTPS.

Если у VMmanager 5 настроена интеграция с IPmanager 5 или BILLmanager, платформа VMmanager 6 должна иметь доступ к портам IPmanager5 или BILLmanager:

  • 22/tcp — SSH;
  • 443/tcp — HTTPS;
  • 3306/tcp, 3306/udp - cервер MySQL IPmanager или BILLmanager;

Если BILLmanager находится за сервисом защиты от DDoS, в настройках миграции необходимо указать IP-адрес сервера BILLmanager с открытыми портами 22/tcp и 443/tcp. При миграции в BILLmanager изменяются идентификаторы услуг и пользователей, и VMmanager 6 может создавать большое количество запросов в BILLmanager, что может привести к блокировке таких запросов защитой от DDoS.

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

Если доступ к QEMU VNC, SPICE осуществляется только через сервер с VMmanager, диапазон портов 5900-6900/tcp должен быть открыт для сети, объединяющей узлы кластера.

Порядок миграции


Импорт адресного пространства

Для управления адресным пространством VMmanager 5 и VMmanager 6 используют разное ПО:

  • VMmanager 5 — панель управления IPmanager 5;
  • VMmanager 6 — встроенный модуль IPmanager 6.

При миграции вы можете импортировать адресное пространство из IPmanager 5 в IPmanager 6.

IPmanager 6 поддерживает режим эмуляции API IPmanager 5. Если вы используете другие программные продукты, которым требуется интеграция с IPmanager 5 (например, BILLmanager, DCImanager 5, ISPmanager), вы сможете перенастроить их на работу с IPmanager 6.

Пример управления адресным пространством

Импорт кластера VMmanager 5

Чтобы импортировать кластер VMmanager 5, сервис миграции:

  1. Подключается к VMmanager 5 и получает информацию о сущностях, созданных в панели управления — ВМ, пользователях, настройках кластера.
  2. Блокирует работу VMmanager 5.
  3. Создаёт резервную копию платформы VMmanager 6.
  4. Импортирует информацию о настройках VMmanager 5 в VMmanager 6.

  5. Если в VMmanager 5 была настроена интеграция с BILLmanager:
    1. Подключается к BILLmanager.
    2. Меняет тип обработчика услуг на VMmanager 6.
    3. Добавляет в VMmanager 6 пользователей BILLmanager с услугами VMmanager 5.

Перенос пользователей VMmanager 5

Если в настройках пользователя VMmanager 5 был указан e-mail, то в VMmanager 6 будет создана учётная запись с этим e-mail.

Если e-mail в настройках пользователя VMmanager 5 не указан, то в VMmanager 6 будет создана учётная запись вида username@vm5.imported, где username — имя пользователя VMmanager 5.

Подготовка к миграции


VMmanager 5

  1. Создайте резервную копию ВМ и панели управления. Подробнее см. в статье Управление планами резервного копирования документации VMmanager 5.
  2. Разрешите доступ к серверу по SSH-ключу:
    1. В файле /etc/ssh/sshd_config укажите параметр 

      PubkeyAuthentication yes
      CODE
    2. Перезапустите службу sshd: 

      systemctl restart sshd
      CODE
  3. Определите используемое количество ядер CPU на узлах кластера: 

    dmidecode --type processor | grep -i "core enabled"
    CODE

VMmanager 6

  1. Убедитесь, что лицензия VMmanager 6 содержит достаточное количество ядер CPU для подключения всех узлов кластера из VMmanager 5. При необходимости приобретите лицензию, поддерживающую большее количество ядер.
  2. Если платформа не установлена:
    1. Убедитесь, что сервер для VMmanager 6 удовлетворяет системным требованиям.
    2. Установите VMmanager 6 по инструкции.
    3. Выполните начальную настройку платформы.

BILLmanager

  1. Создайте сотрудника для настройки интеграции. При создании включите опцию Полный доступ. Подробнее см. в статье документации BILLmanager Сотрудники и отделы.
  2. Создайте обработчик VMmanager 6 и тарифные планы для услуг виртуальных серверов.
  3. Создайте резервную копию BILLmanager. Подробнее см. в статье Резервное копирование документации BILLmanager.
  4. Сформируйте ключ для авторизации:
    1. Подключитесь к серверу с BILLmanager по SSH с правами суперпользователя.
    2. Выполните команду:

      /usr/local/mgr5/sbin/mgrctl -m billmgr session.newkey user='<integration_user>' key='<secret_key>'
      CODE

      <integration_user> — имя пользователя для настройки интеграции

      <secret_key> — ключ для авторизации — случайная комбинация длиной не менее 16 символов

    3. Сохраните значение ключа.

IPmanager 5

  1. Убедитесь, что IPmanager 5 использует СУБД MySQL или MariaDB. Если IPmanager 5 использует СУБД SQLite, перейдите на использование СУБД MySQL. Подробнее см. в статье Использование MySQL в качестве СУБД документации IPmanager. 

    Обратите внимание!

    Рекомендуемая версия MySQL/MariaDB – не ниже 5.5.x. Для более ранних версий успешный импорт ВМ не гарантируется.

  2. Убедитесь, что cервер MySQL доступен со стороны VMmanager 6 — проверьте открыты ли в настройках файрвола порты 3306/TCP, 3306/UDP и возможно ли удалённое подключение к БД:
    1. Подключитесь к серверу IPmanager 5 по SSH.
    2. Проверьте текущие настройки файрволла:

      firewall-cmd --list-all
      CODE
    3. Откройте порты 3306/TCP, 3306/UDP:

      firewall-cmd --permanent --add-port=3306/tcp
      firewall-cmd --permanent --add-port=3306/udp
      CODE
    4. Перезапустите сервис файрволла:

      service firewalld restart
      CODE
    5. Откройте конфигурационный файл MySQL /etc/my.cnf. В раздел [mysqld] добавьте параметр bind-address=xxx.xxx.xx.x и закомментируйте строку с параметром skip-networking.

      xxx.xxx.xx.x — IP-адрес сервера с IPmanager 5

    6. Подключитесь к сервису mysql:

      mysql -u root
      CODE
      use mysql;
      CODE
    7. Разрешите пользователю удалённое подключение к MySQL:

      GRANT ALL PRIVILEGES ON <DB_NAME> . * TO '<DB_USER>'@'<REMOTE_IP>' IDENTIFIED BY '<DB_PASSWORD>';
      CODE

      <DB_NAME> — имя базы данных

      <DB_USER> — имя пользователя, которому разрешено удалённое подключение

      <REMOTE_IP> — IP-адрес сервера, с которого будет удалённое подключение

      <DB_PASSWORD> — пароль пользователя, которому разрешено удалённое подключение

      FLUSH PRIVILEGES;
      CODE

Миграция


Миграция IP-адресов

  1. Перейдите в Миграция Мигрировать IP-адреса из IPmanager 5 .
  2. Укажите настройки подключения к IPmanager 5:

    Обратите внимание!

    Настройки подключения указаны в конфигурационном файле IPmanager /usr/local/mgr5/etc/ipmgr.conf:

    • Адрес сервера с IPmanager — параметр DBHost;
    • Имя базы данных — параметр DBName;
    • Логин пользователя для интеграции — параметр DBUser;
    • Пароль — параметр DBPassword.


    1. Адрес сервера с IPmanager — IP-адрес БД IPmanager 5;
    2. Имя базы данных — имя БД IPmanager 5;
    3. Логин пользователя для интеграции — имя пользователя БД IPmanager 5;
    4. Пароль — пароль пользователя БД IPmanager 5.
  3. Нажмите Мигрировать IP.
  1. Создайте на сервере с IPmanager 5 пользователя для интеграции. Пользователю должны быть доступны все типы адресов, которые нужно перенести. Подробнее о типах адресов см. в статье Управление группами IP-адресов документации IPmanager.
  2. Подключитесь к серверу с VMmanager 6 по SSH и выполните команду:

    docker exec -it vm_ipmgr_1 /opt/ispsystem/ipmgr/bin/mgr5import --dbhost <db_ip> --dbname <db_name> --dbuser <db_user> --dbpassword <db_pass> --user <ipmgr_user>
    CODE

    <db_ip> — IP-адрес БД IPmanager 5

    <db_name> — имя БД IPmanager 5

    <db_user> — имя пользователя БД IPmanager 5

    <db_pass> — пароль пользователя БД IPmanager 5

    <ipmgr_user> — имя пользователя IPmanager 5, созданного для интеграции

    Обратите внимание!

    Вы можете не использовать параметр --user. В этом случае VMmanager 6 выполнит импорт всей БД IPmanager 5 и создаст пулы IP-адресов вида USERNAME_GROUPNAME, где USERNAME — имя пользователя IPmanager, GROUPNAME — имя группы адресов IPmanager.

    --noip — не конвертировать IP-адреса.

    --nohistory — не конвертировать историю IP-адресов.

    --debug — вывод лога команды в stdout.

    Вы можете проверить выполнение команды по лог-файлу /var/log/ipmgr5_import.log в контейнере vm_ipmgr_1 на сервере с VMmanager.

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

Чтобы VMmanager 5 и BILLmanager могли работать с IPmanager 6:

  1. Если требуется доступ только к определённому пулу IP-адресов, создайте в VMmanager 6 пул с суффиксом public. Например, VM5_public.
  2. Создайте в VMmanager 6 учётную запись администратора с именем ipmgr5@example.com.

    Обратите внимание!

    ipmgr5@example.com — не пример, а точное имя, которое нужно указать при создании учётной записи.

  3. В VMmanager 5 и BILLmanager:
    1. Перейдите в ИнтеграцияIPmanager.
    2. Укажите настройки для интеграции:
      1. URLhttps://domain.com/api/ipmgr5/v3/ipmgr

        domain.com — доменное имя или IP-адрес сервера с VMmanager.

      2. Имя пользователя:

        • чтобы панель управления имела доступ только к определённому пулу IP-адресов, укажите pool_XXX;

          XXX — префикс пула в VMmanager. Например, для пула VM5_public укажите имя пользователя pool_VM5.

        • чтобы панель управления имела доступ ко всему адресному пространству, укажите произвольное имя пользователя.
      3. Пароль — пароль пользователя ipmgr5@example.com.
      4. В секции Синхронизация списка IP-адресов оставьте пустыми поля Логин администратора и Пароль администратора.
    3. Нажмите Ok.

Если у VMmanager 6 настроена интеграция с DNSmanager 6, то после создания адресного пространства необходимо синхронизировать PTR-записи с DNS-сервером. Для этого:

  1. Удалите модуль "Интеграция с DNSmanager 6": Настройки Модули Интеграция с DNSmanager 6 Удалить модуль Удалить модуль .
  2. Повторно установите и настройте модуль интеграции. Подробнее см. в статье Модуль "Интеграция с DNSmanager 6".

Проверить выполнение синхронизации вы можете по лог-файлу /var/log/dns_proxy_integration.log в контейнере vm_dns_proxy_1 на сервере с VMmanager.

Миграция виртуальных машин

Обратите внимание!

Вы можете перенести виртуальные машины из нескольких экземпляров VMmanager 5 в один экземпляр VMmanager 6. Для ВМ из каждого экземпляра VMmanager 5 будет создан отдельный временый кластер.

  1. Перейдите в Миграция Мигрировать виртуальные машины из VMmanager 5.
  2. Укажите настройки миграции:
    1. Название временного кластера, который будет создан в VMmanager 6.
    2. SSH-адрес сервера VMmanager 5.
    3. Имя пользователя SSH для подключения к серверу с VMmanager 5.
    4. SSH-порт.
  3. Скопируйте Публичный ssh-ключ и добавьте его в файл ~/.ssh/authorized_keys на сервере с VMmanager 5.

  4. Укажите настройки подключения к BILLmanager, если у VMmanager 5 настроена интеграция:
    1. Адрес сервера BILLmanager 5 — IP-адрес или доменное имя сервера.
    2. Логин администратора панели — введите имя сотрудника для интеграции, созданного при подготовке BILLmanager.

    3. Временный ключ, созданный при подготовке BILLmanager.
    4. Название обработчика VMmanager 5.
  5. Нажмите Мигрировать VMmanager 5.

Если миграция завершилась с ошибкой вида 

{
  "error": {
    "code": 1111,
    "msg": "Handler throw uncaught exception",
    "value": "vm/import/cluster Can not load a vm5_data file"
  }
}
YML

проверьте доступно ли SSH-подключение из контейнера vm_box сервера с VMmanager 6 на основной узел VMmanager 5.

IP-адрес основного узла VMmanager 5 указан в параметре MainIp конфигурационного файла /usr/local/mgr5/etc/vmmgr.conf на сервере с VMmanager 5.

Перенос ВМ из временного кластера

Для ВМ из VMmanager 5 создаётся временный кластер с типом VM5 KVM и сетевой настройкой "Коммутация". Доступные операции с ВМ во временном кластере:

  • запуск;
  • остановка;
  • перезагрузка;
  • подключение по VNC и SPICE;
  • удаление;
  • миграция на другой узел кластера;
  • миграция в другой кластер, если конфигурация ВМ соответствует требованиям.

Чтобы на мигрируемых ВМ были доступны все функции, перенесите их в другие кластеры платформы.

Если ВМ не удовлетворяет требованиям для переноса в кластер VMmanager 6, рядом с её названием отображается ссылка Миграция в кластер VM6 недоступна. Чтобы получить подробную информацию, нажмите на ссылку.

Если у ВМ есть сетевые интерфейсы, подключённые к NAT, измените сетевую конфигурацию ВМ:

  1. Подключитесь к узлу временного кластера по SSH.

  2. Выведите список виртуальных сетей на узле:

    virsh net-list
    BASH

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

     Name                 State      Autostart     Persistent
    
    ----------------------------------------------------------
     default              active     yes           yes
     DefaultBridge        active     yes           yes
     NAT_192.168.168.1    active     yes           yes
    CODE
  3. Определите какая сеть относится к NAT. Для этого для каждой сети выполните команду: 

    virsh net-dumpxml <network> | grep 'forward mode'
    BASH

    <network> — имя сети

    Примеры ответов: 

    Сеть типа NAT

    <forward mode='nat'>
    CODE

    Сеть типа bridge

    <forward mode='open'/>
    CODE
  4. Изучите файл конфигурации ВМ: 

    virsh dumpxml <VM_domain>
    BASH

    <VM_domain> — доменное имя ВМ

  5. Отредактируйте конфигурацию libvirt:

    virsh edit <VM_domain>
    BASH

    <VM_domain> — доменное имя ВМ

    В файле нужно заменить строку вида 

    <source network='<nat_network>' bridge='<virt_interface>'/>
    CODE

    <nat_network> — имя сети типа NAT

    <virt_interface> — имя виртуального интерфейса

    на строку вида 

    <source network='<bridge_network>'/>
    CODE

    <bridge_network> — имя сети типа bridge

  6. Подключитесь к серверу с платформой по SSH.

  7. Удалите записи об интерфейсах из БД: 

    В связи с поэтапным переходом платформы на использование СУБД 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.

    MySQL

    docker exec -it mysql bash -c "mysql isp -p\$MYSQL_ROOT_PASSWORD" 
    BASH

    PostgreSQL

    docker exec -it pgsql bash -c "psql -d isp"
    BASH
    DELETE FROM vm_host_interfaces WHERE host = <VM_id> AND node_bridge IS NULL ;
    SQL

    <VM_id> — id ВМ

    Вмешательство в базу данных предполагает потенциальный риск. Мы не рекомендуем вносить ручные правки в базу, поскольку это может нарушить корректную работу платформы.

    Инструкции по внесению изменений в БД следует выполнять только после резервного копирования платформы. 

    \q
    SQL
  8. Перезапустите ВМ.

Если у ВМ есть снимки (snapshots), удалите их:

  1. Подключитесь к узлу временного кластера по SSH.

  2. Проверьте, что снимки подключены: 

    virsh snapshot-list <VM_domain>
    BASH

    <VM_domain> — доменное имя ВМ

  3. Подключитесь к серверу с платформой по SSH.

  4. Удалите записи о снимках из БД:

    В связи с поэтапным переходом платформы на использование СУБД 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.

     

    MySQL

    docker exec -it mysql bash -c "mysql isp -p\$MYSQL_ROOT_PASSWORD" 
    BASH

    PostgreSQL

    docker exec -it pgsql bash -c "psql -d isp"
    BASH
    DELETE FROM vm_snapshot WHERE host = <VM_id> ;
    SQL

    <VM_id> — id ВМ

    Вмешательство в базу данных предполагает потенциальный риск. Мы не рекомендуем вносить ручные правки в базу, поскольку это может нарушить корректную работу платформы.

    Инструкции по внесению изменений в БД следует выполнять только после резервного копирования платформы. 

    \q
    SQL

Если к ВМ подключены ISO-образы, отключите их:

  1. Подключитесь к узлу временного кластера по SSH.
  2. Изучите файл конфигурации ВМ: 

    virsh dumpxml <VM_domain>
    BASH

    <VM_domain> — доменное имя ВМ

    Раздел с описанием ISO-образа имеет вид: 

    Пример описания

    <disk type='file' device='cdrom'>
    <driver name='qemu' type='raw'/>
    <source file='/nfsshare/iso/tQVJGvq2bYQNWdvD2xB14xB1J111v11'/>
    <backingStore/>
    <target dev='hda' bus='ide'/>
    <readonly/>
    <boot order='2'/>
    <alias name='ide0-0-0'/>
    <address type='drive' controller='0' bus='0' target='0' unit='0'/>
    </disk>
    CODE

    Сохраните имя устройства из параметра target dev. В примере выше это hda.

  3. Отредактируйте конфигурацию libvirt:

    virsh edit <VM_domain>
    BASH

    <VM_domain> — доменное имя ВМ

    Из файла нужно удалить разделы с описанием ISO-образов.

  4. Подключитесь к серверу с платформой по SSH.

  5. Удалите записи об ISO-образах из БД:

    В связи с поэтапным переходом платформы на использование СУБД 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.

     

    MySQL

    docker exec -it mysql bash -c "mysql isp -p\$MYSQL_ROOT_PASSWORD" 
    BASH

    PostgreSQL

    docker exec -it pgsql bash -c "psql -d isp"
    BASH
    DELETE FROM vm_disk WHERE host = <VM_id> AND target_dev = <device_name> ;
    SQL

    <VM_id> — id ВМ

    <device_name> — имя устройства

    Вмешательство в базу данных предполагает потенциальный риск. Мы не рекомендуем вносить ручные правки в базу, поскольку это может нарушить корректную работу платформы.

    Инструкции по внесению изменений в БД следует выполнять только после резервного копирования платформы. 

    \q
    SQL
  6. Перезапустите ВМ.

Для корректного переноса ВМ с ОС Windows установите на узле временного кластера утилиту libguestfs-winsupport.

Платформа взаимодействует с ВМ через программу QEMU Guest Agent. Например, QEMU Guest Agent нужен, чтобы VMmanager мог изменить пароль, запустить скрипт и выполнить миграцию ВМ в кластер с типом сетевых настроек "IP fabric". Если QEMU Guest Agent на ВМ не установлен или не отвечает, в столбце Состояние у ВМ отображается сообщение Проблема с Guest Agent. Чтобы установить QEMU Guest Agent на ВМ, нажмите на Проблема с Guest AgentУстановить GA и перезапустить ВМ. Вы можете установить QEMU Guest Agent вручную. Подробнее см. в статье Как проверить и восстановить работу QEMU Guest Agent?

Перенос ВМ без отключения ("живая" миграция) возможен, если:

  • на узле кластера VMmanager 5 установлен QEMU версии 2.0.0 и выше;
  • версия libvirt на узле кластера VMmanager 6 не ниже версии libvirt на узле кластера VMmanager 5.

В остальных случаях ВМ необходимо отключить перед переносом.

Чтобы перенести ВМ из временного кластера:

  1. Выделите нужные ВМ → еще... → Мигрировать.
  2. Укажите параметры миграции:
    1. Отключите опцию Сжимать диск VM перед миграцией, если сжатие диска не требуется. Опция доступна только для выключенных ВМ.
    2. Отключите опцию Учитывать фильтры распределения, если использование фильтров не требуется. Подробнее о фильтрах распределения см. в статье Управление серверами кластера.
    3. Выберите кластер для миграции.
    4. Выберите узел для миграции.
    5. Выберите Доступные хранилища на узле, в которых будут размещены диски ВМ. Диски одной ВМ могут быть размещены в разных хранилищах.
    6. Изучите информацию в разделе Резюме по VM. Раздел содержит информацию о том, все ли диски распределены и требуется ли для ВМ перезагрузка.
  3. Нажмите Мигрировать (Мигрировать и перезагрузить).

Действия после миграции

После переноса ВМ временный кластер можно удалить. Свободные узлы из временного кластера могут быть подключены к другим кластерам платформы. Перед подключением рекомендуем переустановить ОС на этих узлах.

Перенос услуг в BILLmanager


Если у VMmanager 5 была настроена интеграция с BILLmanager, то сервис миграции:

  1. Изменит тип обработчика услуг с VMmanager 5 на VMmanager 6.
  2. Добавит к его названию префикс _imported.

Новый обработчик создаётся для управления ВМ во временном кластере. Заказ новых услуг через этот обработчик недоступен. После переноса ВМ в другие кластеры платформы переключите услуги на тарифные планы с другим обработчиком VMmanager 6.

Для ручного переноса услуг на новый обработчик:

  1. Подключите для тарифных планов VMmanager 5 обработчик услуг VMmanager 6. Для этого:
    1. Перейдите в ПродуктыТарифные планы → выберите тариф, с которого была продана услуга виртуального сервера для VMmanager 5 → кнопка Обработчики.
    2. Включите обработчик VMmanager 6.
  2. Отключите виртуальные машины из BILLmanager:
    1. Перейдите в Товары/УслугиВиртуальные серверы → выберите все услуги виртуальных серверов VMmanager 5 (зажмите CTRL) → кнопка Изменить.
    2. Нажмите кнопку Выкл.
    3. Подтвердите выключение при помощи кнопки Ok.
  3. Перенесите услуги виртуальных серверов на тарифные планы с обработчиком VMmanager 6:
    1. Перейдите в Товары/УслугиВиртуальные серверы → выберите все услуги виртуальных серверов VMmanager 5 (зажмите CTRL) → кнопка Изменить.
    2. Укажите в поле Модуль обработки обработчик услуг VMmanager 6.
    3. Нажмите Ok.
  4. Включите услуги в BILLmanager.
  5. Удалите сотрудника, созданного для интеграции.

Повторная миграция


Если первый запуск миграции завершился с ошибкой, вы можете выполнить миграцию повторно. Если при первой миграции было импортировано адресное пространство, для повторной миграции удалять его не нужно.

Отмена миграции


Вы можете вернуть управление ВМ в VMmanager 5 после миграции. Отмена миграции возможна, только если ВМ после миграции не были удалены или перенесены в другие кластеры.

Чтобы отменить миграцию:

  1. Восстановите состояние VMmanager 6 из резервной копии. Подробнее см. в статье Резервное копирование платформы.
  2. Если вы изменяли настройки BILLmanager, восстановите состояние панели управления из резервной копии. Подробнее см. в статье Резервное копирование документации BILLmanager.
  3. Разблокируйте VMmanager 5:

    1. Подключитесь к серверу с VMmanager 5 по SSH:

    2. Выполните команду:

      /usr/local/mgr5/sbin/mgrctl -m vmmgr -u
      BASH