Миграция виртуальных машин в Кибер Инфраструктуру в автономном режиме

Миграция виртуальных машин в Кибер Инфраструктуру в автономном режиме#

Для миграции виртуальных машин в Кибер Инфраструктуру в автономном режиме скопируйте виртуальную машину VMware vCenter/Hyper-V на виртуальную машину устройства virt-v2v (например, с помощью USB-накопителя) и преобразуйте ВМ в формат, используемый в Кибер Инфраструктуре.

Ограничения

  • Миграция виртуальных машин возможна на основе VMware vCenter версии 5.0 или более поздней.

Предварительные требования

  • Аутентификация настроена на виртуальной машине устройства, как описано в разделе Настройка аутентификации на виртуальной машине устройства.

  • Необходимо удалить инструменты VMware с виртуальных машин Windows перед миграцией, чтобы избежать проблем при последующей загрузке. Инструменты VMware будут автоматически удалены из гостевых систем Linux.

Миграция виртуальной машины из VMware vCenter в автономном режиме

  1. Скопируйте все файлы виртуальной машины, включая vmdk и vmx, на USB-накопитель.

  2. Подключите USB-накопитель к хосту в той же локальной сети, что и виртуальная машина устройства.

  3. Войдите в виртуальную машину устройства как пользователь admin, используя ключ SSH.

  4. Получите привилегии администратора с помощью команды sudo -i.

  5. Скопируйте файлы виртуальной машины, используя, например, команду rsync или scp.

  6. Установите учетные данные OpenStack:

    # source user-openrc.sh
    
  7. Перенесите виртуальную машину в том Кибер Инфраструктуры, указав политику хранения. Для получения списка доступных политик хранения запустите команду vinfra service compute storage-policy list в Кибер Инфраструктуре. Например:

    # virt-v2v -i vmx <VM_config> -o openstack \
    -oo server-id=<virt-v2v-vm-id> -os <policy_name>
    

    Где:

    • <VM_config> — имя файла конфигурации виртуальной машины в формате vmx;

    • <policy_name> — название политики хранения преобразованного тома;

    • <virt-v2v-vm-id> — имя или идентификатор ВМ устройства virt-v2v.

  8. Узнайте идентификатор или имя нового тома. Например:

    # openstack --insecure volume list
    +---------------------+------+-----------+------+-------------+
    | ID                  | Name | Status    | Size | Attached to |
    +---------------------+------+-----------+------+-------------+
    | 024b6843-2de3-<...> | sda1 | available |   64 |             |
    +---------------------+------+-----------+------+-------------+
    
  9. При использовании виртуальной машиной микропрограммы UEFI вручную установите правильный дистрибутив ОС и тип микропрограммы UEFI для преобразованного тома. Чтобы получить список доступных дистрибутивов, запустите команду vinfra service compute show в Кибер Инфраструктуре. Например:

    # openstack --insecure volume set sda1 --image-property os_distro=win2k8
    # openstack --insecure volume set sda1 --image-property hw_firmware_type=uefi
    
  10. Создайте виртуальную машину на основе нового тома в Кибер Инфраструктуре. Например:

    # vinfra service compute server create migratedvm --network id=private \
    --network id=public --volume source=volume,id=sda1,size=64 --flavor medium
    

После миграции рекомендуется установить гостевые инструменты внутри виртуальной машины. Установка гостевых инструментов предотвратит возможные проблемы с взаимодействием с гостевой ОС через консоль VNC.

Миграция виртуальной машины из Hyper-V в автономном режиме

  1. Скопируйте все файлы виртуальной машины из Hyper-V на виртуальную машину с virt-v2v (например, с помощью USB-накопителя).

  2. Установите учетные данные OpenStack:

    # source user-openrc.sh
    
  3. Преобразуйте диски виртуальной машины из Hyper-V в тома Кибер Инфраструктуры. Например, для виртуальной машины с одним диском:

    # virt-v2v -i disk <hyper-v-vm-disk>.vhdx -o openstack -oo server-id=<virt-v2v-vm-id>
    

    Где <hyper-v-vm-disk> — это имя диска скопированной виртуальной машины, а <virt-v2v-vm-id> — это имя или идентификатор ВМ устройства virt-v2v.

    Или для виртуальной машины с несколькими дисками:

    # virt-v2v -i libvirtxml <libvirt-xml> -o openstack -oo server-id=<virt-v2v-vm-id>
    

    Где libvirt-xml — это XML-файл, который содержит пути к дискам ВМ, скопированной из Hyper-V.

    Пример XML-файла:

    <domain type='kvm'>
            <name>hyp-ws22-migrated</name>
            <devices>
                    <disk type='file' device='disk'>
                            <source file='/root/hyp-ws22.vhdx'/>
                    </disk>
                    <disk type='file' device='disk'>
                            <source file='/root/hyp-ws22-d2.vhdx'/>
                    </disk>
                    <disk type='file' device='disk'>
                            <source file='/root/hyp-ws22-d3.vhdx'/>
                    </disk>
            </devices>
    </domain>
    
  4. Узнайте идентификатор или имя нового тома. Например:

    # openstack --insecure volume list
    +---------------------+------+-----------+------+-------------+
    | ID                  | Name | Status    | Size | Attached to |
    +---------------------+------+-----------+------+-------------+
    | 024b6843-2de3-<...> | sda1 | available |   64 |             |
    +---------------------+------+-----------+------+-------------+
    
  5. При использовании виртуальной машиной микропрограммы UEFI вручную установите правильный дистрибутив ОС и тип микропрограммы UEFI для преобразованного тома. Чтобы получить список доступных дистрибутивов, запустите команду vinfra service compute show в Кибер Инфраструктуре. Например:

    # openstack --insecure volume set sda1 --image-property os_distro=win2k8
    # openstack --insecure volume set sda1 --image-property hw_firmware_type=uefi
    
  6. Создайте виртуальную машину на основе нового тома в Кибер Инфраструктуре. Например:

    # vinfra service compute server create migratedvm --network id=private \
    --network id=public --volume source=volume,id=sda1,size=64 --flavor medium
    

После миграции рекомендуется установить гостевые инструменты внутри виртуальной машины. Установка гостевых инструментов предотвратит возможные проблемы с взаимодействием с гостевой ОС через консоль VNC.