仮想マシンを 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) を使用して、仮想マシンをインポートします。
前提条件
仮想マシンをインポートするために、それらのマシンが同じ vCenter Server インスタンス内にあることを確認します。
手順
- 目的の仮想マシンが含まれているクラスタをコンピューティング クラスタとして VMware Integrated OpenStack デプロイに追加します。
手順については、 デプロイへのコンピューティング クラスタの追加を参照してください。
- 仮想マシンを Neutron ネットワークに接続します。
この手順では、プロバイダ ネットワークまたはテナント ネットワークを使用できます。
- vSphere Client で [ホストおよびクラスタ] ビューを開きます。
- 仮想マシンをインポートするには、各仮想マシンを右クリックして、[設定の編集...] を選択します。
- ネットワーク アダプタの横にあるドロップダウン メニューから、Neutron ネットワークを選択します。
- ネットワーク アダプタの設定を展開して、MAC アドレスを記録します。
- 仮想マシンをインポートした後、複数の vNIC を異なる Neutron ネットワークに接続するには、VMware Integrated OpenStack から対応する Neutron ネットワークを作成する必要があります。
- インポートされていない仮想マシンの vNIC を、vCenter Server から対応する Neutron ネットワーク(NSXT セグメント)に接続します。
注: 複数の vNIC を同じ Neutron ネットワークに接続することも、異なる Neutron ネットワークに接続することもできます。
- 仮想マシンの一時的な不透明ネットワークを作成します。
- NSX-T 2.5 の場合、論理スイッチを作成します。『NSX-T Data Center 管理ガイド』の「論理スイッチの作成」を参照し、次の手順を実行して論理スイッチ ID を取得します。
- [論理スイッチ] 列で、作成したスイッチの名前をクリックします。
- [概要] 列に表示されているとおりにスイッチの ID を記録します。
- NSX-T 3.0 の場合、セグメントを作成します。『NSX-T Data Center 管理ガイド』の「セグメントの追加」の手順に従って、追加したセグメントの名前を記録します。
- NSX-T 3.2 の場合、セグメントを作成します。『NSX-T Data Center 管理ガイド』の「セグメントの追加」の手順に従って、追加したセグメントの ID を記録します。
注: セグメント ID は、NSX-T 3.2 のメニューから [マネージャ] > [論理スイッチ] の順に選択したビューで確認できます。
- NSX-T 2.5 の場合、論理スイッチを作成します。『NSX-T Data Center 管理ガイド』の「論理スイッチの作成」を参照し、次の手順を実行して論理スイッチ ID を取得します。
-
viocli update nova-compute
で Nova コンピューティングの設定を編集し、import_net_id パラメータを追加して、その値を手順 5 で作成したセグメントの名前または ID に設定します。viocli update nova-compute
- 仮想マシンの vNIC の MAC アドレスを使用する複数の Neutron ポートを作成します。
neutron port-create network --name port --tenant-id project-id --mac-address vm-mac [--fixed-ip ip_address=vm-ip]
注: 複数のポートを作成するには、Neutron ポートの作成コマンドを繰り返し実行する必要があります。同じ Neutron ネットワーク上に作成することも、異なる Neutron ネットワーク上に作成することもできます。このシナリオは、仮想マシンの vNIC 接続要件によって異なります。オプション 説明 network
仮想マシンを接続した Neutron ネットワークの名前を入力します。
--name
ポートの名前を入力します。
--tenant-id
ポートを作成する際に、プロジェクトの UUID を指定します。
--mac-address
手順 2d で記録した仮想マシンのネットワーク アダプタの MAC アドレスを入力します。
--fixed-ip
仮想マシンの IP アドレスを入力します。
既存の IP アドレスを保持しない場合、または仮想マシンに IP アドレスが設定されていない場合は、このパラメータを省略できます。
- VMware Integrated OpenStack vAPI エンドポイントに接続します。
エンドポイントは、デプロイのプライベート OpenStack エンドポイントにあります。
dcli +server https://internal-vip:9449/api +i
- VMware Integrated OpenStack に仮想マシンをインポートします。
- 単一の 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]
- 複数の 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 に自動バインドできます。 - 複数の 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 になります。
- kubectl -n openstack get vioshim vioadmin1 -o json | jq .status.processedSpec.conf.vioshim.DEFAULT.enabled_backends コマンドを実行すると、VIO 環境の
オプション 説明 --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
VIO 環境内の
vcenter obj name
を入力します。--cinder-az
ディスクをインポートする Cinder アベイラビリティ ゾーン
--default-volume-type
インポートされたボリュームのデフォルトのボリューム タイプ ID
--flavor
NOVA インスタンス メタデータに保存されているフレーバー ID
--volume-type
ディスク パスとボリューム タイプのマッピング情報
注: コマンドを実行すると、DCLI により、 vCenter Server インスタンスの管理者認証情報の入力を求められます。ユーザー名とパスワードを毎回入力せずにすむように、これらの認証情報を保存することができます。 - 単一の vNIC を使用して仮想マシンを VIO にインポートするには、次のコマンドを使用します。
- ボリューム タイプについて、VMware Integrated OpenStack から必要な複数のボリューム タイプを作成し、ボリューム タイプの ID を記録します。
openstack volume type create vol-type-ssd
- ボリューム タイプに応じて仮想マシンを VIO にインポートします。
- デフォルトのボリューム タイプを使用して仮想マシンをインポートします。
たとえば、次のコマンドを使用できます。
"com vmware vio vm unmanaged importvm --vm vm-183 --root-disk '[vdnetSharedStorage] 2nic-001/2nic-001.vmdk' --nics '[{"port_id":"5b8f18e7-f77b-457f-9618-4dcb5fccb833"}, {"port_id": "96a26fe8-1458-4a25-ba85-9a7dcaac88fe"}]' --default-volume-type '059c97ce-f5ef-47fa-8552-1c7eeeac058b' --flavor 0a3cf2a0-754c-4a64-9ce5-a9eb2ef34e0c --tenant admin"
- 各ディスクのボリューム タイプを指定して仮想マシンをインポートするには、次のコマンドを使用します。
com vmware vio vm unmanaged importvm --vm vm-moid --nic -net-id network-uuid --nic -port-id port-uuid --tenant project-name --volume-type '[{"disk_path":"[datastore1] dir/disk_1.vmdk", "type_id": "volume-type1-uuid"}, {"disk_path":"[datastore1] dir/disk_2.vmdk", "type_id": "volume-type2-uuid"}]' "
例: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 --volume-type [{"disk_path":"[datastore1] dir/disk_1.vmdk", "type_id": "096ef8ea-85ca-40f4-ba7f-9637f5fe95d2"}, {"disk_path":"[datastore1] dir/disk_2.vmdk", "type_id": "9969dd48-23dc-4010-a852-716f173fd59b"}]' --tenant admin
- デフォルトのボリューム タイプを使用して仮想マシンをインポートします。
- フレーバー部分について、既存のフレーバー タイプの ID を記録します。
- フレーバー タイプに応じて仮想マシンを 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