仮想マシンを vSphere から VMware Integrated OpenStack デプロイにインポートし、OpenStack インスタンスのように管理することができます。

この手順は、NSX-T Data Center ネットワークを含むデプロイに適用されます。VDS または NSX Data Center for vSphere のデプロイについては、NSX Data Center for vSphere を使用した VMware Integrated OpenStackを参照してください。

インポートする仮想マシンに対しては、以下の条件が適用されます。

  • 仮想マシンに複数のディスクがある場合、非ルート ディスクは Cinder ボリュームとしてインポートされます。
  • 仮想マシンのインポート アクションでは、Nova インスタンスとフレーバー間のリンクのみを設定できます。インポート中は、フレーバー構成に従ってインスタンスのサイズが変更されることはありません。

Integrated OpenStack Manager ツールボックスの Data Center Command-Line Interface (DCLI) を使用して、仮想マシンをインポートします。

手順

  1. 目的の仮想マシンが含まれているクラスタをコンピューティング クラスタとして VMware Integrated OpenStack デプロイに追加します。
    手順については、 デプロイへのコンピューティング クラスタの追加を参照してください。
  2. 各ネットワーク アダプタの MAC アドレスを記録します
    1. vSphere Client[ホストおよびクラスタ] ビューを開きます。
    2. 仮想マシンをインポートするには、各仮想マシンを右クリックして、[設定の編集...] を選択します。
    3. ネットワーク アダプタの設定を展開して、MAC アドレスを記録します。
  3. 仮想マシンの一時的な不透明ネットワークを作成します。
    • NSX-T 3.0 の場合、セグメントを作成します。セグメントの追加を参照して、追加したセグメントの名前を記録します。
    • NSX-T 3.2 の場合、セグメントを作成します。セグメントの追加を参照して、追加したセグメントの ID を記録します。
      注: セグメント ID は、NSX-T 3.2 で [マネージャ] > [論理スイッチ] の順に選択したビューで確認できます。
  4. viocli update nova-compute で Nova コンピューティングの設定を編集し、import_net_id パラメータを追加して、その値を手順 5 で作成したセグメントの名前または ID に設定します。
    viocli update nova-compute
    conf:
      nova_compute:
        vmware:
          import_net_id: name or id
    
    Note:
    For NSX-T 3.0, set its value to the name
    For NSX-T 3.2 or later, set its value to the id
  5. 仮想マシンの vNIC の MAC アドレスを使用する複数の Neutron ポートを作成します。
    新しい Neutron ネットワークを作成するか、既存のネットワークを使用できます。
    neutron net-create NAME --tenant-id project-id 
    neutron port-create network --name port --tenant-id project-id --mac-address vm-mac [--fixed-ip ip_address=vm-ip]
    注: ネットワークとポートのテナント ID は、インポートされた仮想マシンのテナント ID と同じである必要があります。
    注: 複数のポートを作成するには、Neutron ポートの作成コマンドを繰り返し実行する必要があります。同じ Neutron ネットワーク上に作成することも、異なる Neutron ネットワーク上に作成することもできます。このシナリオは、仮想マシンの vNIC 接続要件によって異なります。
    オプション 説明

    network

    仮想マシンが接続する Neutron ネットワークの名前を入力します。

    --name

    ポートの名前を入力します。

    --tenant-id

    ポートを作成する際に、プロジェクトの UUID を指定します。

    --mac-address

    手順 2d で記録した仮想マシンのネットワーク アダプタの MAC アドレスを入力します。

    --fixed-ip (optional)

    仮想マシンの IP アドレスを入力します。

  6. ツールボックスを開いて、VMware Integrated OpenStack vAPI エンドポイントに接続します。

    エンドポイントは、デプロイのプライベート OpenStack エンドポイントにあります。

    dcli +server https://internal-vip:9449/api +i
    注: コマンドを実行すると、DCLI により、 vCenter Server インスタンスの管理者認証情報の入力を求められます。ユーザー名とパスワードを毎回入力せずにすむように、これらの認証情報を保存することができます。
  7. VMware Integrated OpenStack に仮想マシンをインポートします。
    オプション 説明

    --vm

    仮想マシンの管理対象オブジェクト ID (MOID) を入力します。

    com vmware vio vm unmanaged list コマンドを実行すると、非管理対象のすべての仮想マシンの MOID を確認できます。

    --nics

    仮想マシンの vNIC を表すキーと値のペアの配列を JSON 形式で入力します。

    --nic-net-id

    仮想マシンを接続した Neutron ネットワークの UUID を入力します。

    --nic-port-id

    仮想マシン用に作成したポートの UUID を入力します。

    --tenant

    仮想マシンをインポートする OpenStack プロジェクトを指定します。

    このパラメータを含めない場合、import_service プロジェクトがデフォルトで使用されます。

    --root-disk

    複数のディスクを持つ仮想マシンの場合は、ルート ディスクのデータストア パスを次の形式で指定します。--root-disk '[datastore1] dir/disk_1.vmdk'

    --vcenter

    複数の vCenter Server の VIO 環境に vcenter obj name を入力します。

    --cinder-az

    ディスクをインポートする Cinder アベイラビリティ ゾーン

    --default-volume-type

    インポートされたボリュームのデフォルトのボリューム タイプ ID

    --flavor

    NOVA インスタンス メタデータに保存されているフレーバー ID

    --volume-type

    ディスク パスとボリューム タイプのマッピング情報

    • 単一の vCenter Server 環境
    1. 単一の vNIC およびディスクを使用して仮想マシンを VIO にインポートするには、次のコマンドを使用します。
      com vmware vio vm unmanaged importvm --vm vm-moid --nic-net-id network-uuid --nic-port-id port-uuid [--tenant project-name] [--root-disk root-disk-path]
    2. 複数の vNIC および単一ディスクを使用して仮想マシンを VIO にインポートするには、次のコマンドを使用します。
      com vmware vio vm unmanaged importvm --vm vm-moid --nics '[{"port_id": "port1_uuid"}, {"port_id": "port2_uuid"}]' " 
      例:
      com vmware vio vm unmanaged importvm --vm vm-88 --tenant admin --nics '[{"port_id": "41fa621e-89d6-493f-876c-ed052905042d"}, {"port_id": "e97c74e9-e930-4837-a6d2-33bd065d8e32"}]'
      注: インポート中に、ポートは対応する MAC アドレスを使用して vNIC に自動バインドできます。
    3. 複数のディスクが構成された VIO に仮想マシンをインポートするには、次のコマンドを使用します。
      com vmware vio vm unmanaged importvm --vm vm-moid --root-disk 'root-disk-path' --nics '[{"port_id":"port1_uuid"}]'  --default-volume-type 'volumetye_uuid'
      注: ボリューム タイプは、 openstack volume type create <name> で作成できます。各ディスクは、異なるボリューム タイプを指定することも、同じボリューム タイプを指定することもできます。
      例:
      com vmware vio vm unmanaged importvm --vm vm-33574 --root-disk '[vsanDatastore (1)] ab61b663-a6ac-249f-6c81-bc97e1d51910/imp-002_2.vmdk' --nics '[{"port_id":"dae27a0d-b9b7-4801-ae1c-12333fe21241"}]'  --default-volume-type 'e35d1605-4808-48e2-a940-f5f66eb55b8c' --flavor 9a0248cd-3b51-4626-8f9a-0090fa4a146e --tenant admin --image bc16f0f8-518d-4fc8-a7fe-1314f55dd3cc
    • 複数の vCenter Server の環境
    1. 複数の vCenter Server がある VIO に仮想マシンをインポートするには、次のコマンドを使用します。
      com vmware vio vm unmanaged importvm --vm vm-moid --nics '[{"port_id": "port1_uuid"}, {"port_id": "port2_uuid"}]' --vcenter vcenter_obj

      例:

      com vmware vio vm unmanaged importvm --vm vm-88 --tenant admin --nics '[{"port_id": "41fa621e-89d6-493f-876c-ed052905042d"}, {"port_id": "e97c74e9-e930-4837-a6d2-33bd065d8e32"}]' --vcenter vcenter2
      注:
      • kubectl -n openstack get vioshim vioadmin1 -o json | jq .status.processedSpec.conf.vioshim.DEFAULT.enabled_backends コマンドを実行すると、VIO 環境の vcenter_obj リストを取得できます。
      • --vcenter オプションを追加しなかった場合は、デフォルトの vCenter Server が管理 vCenter Server になります。
    2. 複数ディスクが構成されている VIO に仮想マシンをインポートするには、異なるアベイラビリティ ゾーン名を持つ異なる vCenter Server に Cinder クラスタを構成し、--cinder-az オプションを指定する必要があります。
      com vmware vio vm unmanaged importvm --vm vm-60 --tenant admin --nics '[{"port_id": "cc1bba10-1e9b-4818-baa9-6b416738bfb1"}]' --vcent
      er vcenter2 --flavor da10460e-7174-457b-86dd-f8b2b10a578a --root-disk '[vdnetSharedStorage] test-import7/test-import7_2.vmdk' --volume-type
       '[{"disk_path": "[vdnetSharedStorage] test-import7/test-import7.vmdk", "type_id": "3eaeee82-aae5-4803-a3a9-de6cd84e30db"}]' --cinder-aznova1
      
  8. フレーバー部分について、既存のフレーバー タイプの ID を記録します。
  9. フレーバー タイプに応じて仮想マシンを VIO にインポートします。
    com vmware vio vm unmanaged importvm --vm vm-moid --nic -net-id network-uuid --nic -port-id port-uuid --flavor flavor-uuid --tenant project-name
    例:
    com vmware vio vm unmanaged importvm --vm vm-109 --nic -net-id e10b0037-6705-46d8-a8c5-20fbfdc1598d --nic -port-id be9bb062-d7b3-47f7-8566-f7b1f1c6ce2d --flavor 256ac8d6-6fb1-4434-a007-bb6db6837e5a --tenant admin

結果

インポート後は、指定した仮想マシンが OpenStack デプロイに含まれ、OpenStack インスタンスとして管理できるようになります。