仮想マシンをデフォルト以外のドメインを使用して vSphere から VMware Integrated OpenStack デプロイにインポートし、OpenStack インスタンスのように管理することができます。
この手順は、デフォルト以外のドメインを含むデプロイに適用されます。NSX-T Data Center のデプロイについては、NSX-T Data Center を使用した VMware Integrated OpenStackを参照してください。
インポートする仮想マシンに対しては、以下の条件が適用されます。
- 仮想マシンに複数のディスクがある場合、ディスクは Cinder ボリュームとしてインポートされます。
- 特定のネットワークバッキングを含む仮想マシンをインポートした後、同じネットワークを使用して別のプロジェクトにインポートすることはできません。ネットワークを複数のプロジェクトに使用する場合、プロバイダ VLAN (Virtual LAN) ネットワークを共有ネットワークとして構成します。
Integrated OpenStack Manager ツールボックスの Data Center Command-Line Interface (DCLI) を使用して、仮想マシンをインポートします。
前提条件
インポートする仮想マシンが同じ vCenter Server インスタンス内にあることを確認します。
手順
- 目的の仮想マシンが含まれているクラスタをコンピューティング クラスタとして VMware Integrated OpenStack デプロイに追加します。
- 仮想マシンを Neutron ネットワークに接続します。
- vSphere Client で [ホストおよびクラスタ] ビューを開きます。
- インポートする各仮想マシンを右クリックして、[設定の編集...] を選択します。
- ネットワーク アダプタの横にあるドロップダウン リストから、使用する Neutron ネットワークを選択します。
- ネットワーク アダプタの設定を展開して、MAC アドレスを記録します。
- 仮想マシンの一時的な不透明ネットワークを作成します。
- NSX-T 2.5 の場合、論理スイッチを作成します。『NSX-T Data Center 管理ガイド』の「論理スイッチの作成」を参照し、次の手順を実行して論理スイッチ ID を取得します。
- [論理スイッチ] 列で、作成したスイッチの名前をクリックします。
- [概要] 列に表示されているとおりにスイッチの ID を記録します。
- NSX-T 3.0 の場合、セグメントを作成します。『NSX-T Data Center 管理ガイド』の「セグメントの追加」の手順に従って、追加したセグメントの名前を記録します。
- Integrated OpenStack Manager に
root
ユーザーとしてログインします。
- Nova コンピューティングの設定を編集します。
viocli update nova-compute
- vmware セクションで、import_net_id パラメータを追加し、値を記録したスイッチ ID またはセグメント名に設定します。
- インポートした仮想マシンの再配置や名前変更を許可しない場合は、import_vm_relocate パラメータを追加し、その値を
false
に設定します。
- 仮想マシンをデフォルト以外のドメインにインポートするには、このドメインでユーザーとプロジェクトを作成し、default_tenant_domain_name パラメータを vioshim ポッドで設定する必要があります。
domain name: import-domain
admin user in import-domain: import-domain
a new project in import-domain: import-proj2
viocli update vioshim
conf:
vioshim:
DEFAULT:
default_tenant_domain_name: import-domain
確認するには、次のポッドにログインします。
osctl exec -it vioadmin1-vioshim-6855dd94b4-s5vzk -c vioshim bash
/etc/viocli/viocli.conf
の内容を確認するには、以下のコード行を使用できます。
default_tenant_domain_name = import-domain
-
admin
アカウントのパスワードを設定します。
export OS_PASSWORD=admin-account-password
- ツールボックスで変数をエクスポートします。
次のコードで指定されているパスワードは参照用です。ツールボックスで変数をエクスポートするには、パスワードを指定する必要があります。
[root@vioadmin1-vioshim-6855dd94b4-s5vzk /]# export OS_PROJECT_NAME=import-proj2
[root@vioadmin1-vioshim-6855dd94b4-s5vzk /]# export OS_PROJECT_DOMAIN_NAME=import-domain
[root@vioadmin1-vioshim-6855dd94b4-s5vzk /]# export OS_USER_DOMAIN_NAME=import-domain
[root@vioadmin1-vioshim-6855dd94b4-s5vzk /]# export OS_PASSWORD=*****
[root@vioadmin1-vioshim-6855dd94b4-s5vzk /]# export OS_USERNAME=import-admin
デフォルトのプロジェクト import-service
を使用して仮想マシンをインポートし、ツールボックスで変数をエクスポートすることもできます。
[root@vioadmin1-vioshim-56f9ddc779-wc4lc /]#
[root@vioadmin1-vioshim-56f9ddc779-wc4lc /]# export OS_PASSWORD=*****
[root@vioadmin1-vioshim-56f9ddc779-wc4lc /]# env | grep -i project
OS_PROJECT_NAME=import-service
OS_PROJECT_DOMAIN_NAME=default
[root@vioadmin1-vioshim-56f9ddc779-wc4lc /]# export OS_PROJECT_NAME=admin
- 指定したプロジェクトで Neutron ポートを作成します。
指定したプロジェクトで Neutron ポートを作成できます。プロジェクト import-proj2
では共有プロバイダ ネットワークが使用され、PortNotUsable の問題を回避するためにポートに --tenant-id を指定する必要があります。
neutron port-create Neutron network name --name port name --tenant-id <project id of import-proj2> --mac-address vm-mac --fixed-ip ip_address=vm-ip
neutron port-create Neutron network name --name port name --tenant-id project id --mac-address vm-mac --fixed-ip ip_address=vm-ip
オプション |
説明 |
Neutron ネットワーク名 |
仮想マシンを接続した Neutron ネットワークの名前を入力します。 |
--name |
ポートの名前を入力します。 |
--tenant-id |
ポートを作成するプロジェクトの UUID を指定します。 |
--mac-address |
仮想マシンのネットワーク アダプタの MAC アドレスを入力します。 |
--fixed-ip |
仮想マシンの IP アドレスを入力します。 仮想マシンに IP アドレスが設定されていないか、既存の IP アドレスを保持しない場合は、このパラメータを省略できます。 |
- VMware Integrated OpenStack vAPI エンドポイントに接続します。
エンドポイントは、デプロイのプライベート OpenStack エンドポイントにあります。
dcli +server https://internal-vip:9449/api +i
- テナント名を指定して、仮想マシンをインポートします。
仮想マシンをインポートするには、--tenant 名を指定する必要があります。ただし、--tenant 名が指定されていない場合、VMware Integrated OpenStack ではデフォルトの --tenant 名 import-service
が使用されます。
com vmware vio vm unmanaged importvm --vm vm-moid --nic-net-id network-uuid --nic-port-id port-uuid --tenant import-proj2
com vmware vio vm unmanaged importvm --vm vm-moid --nic-net-id network-uuid --nic-port-id port-uuid --tenant import-service
オプション |
説明 |
--vm |
インポートする仮想マシンの管理対象オブジェクト ID (MOID) を入力します。 com vmware vio vm unmanaged list コマンドを実行すると、非管理対象のすべての仮想マシンの MOID を確認できます。 |
--nic-net-id |
仮想マシンを接続した Neutron ネットワークの UUID を入力します。 |
--nic-port-id |
仮想マシン用に作成したポートの UUID を入力します。 |
--tenant |
仮想マシンをインポートする OpenStack プロジェクトを指定します。 |
--root-disk |
複数のディスクを持つ仮想マシンの場合は、ルート ディスクのデータストア パスを次の形式で指定します。--root-disk '[datastore1] dir/disk_1.vmdk' |
注: コマンドを実行すると、DCLI により、
vCenter Server インスタンスの管理者認証情報の入力を求められます。ユーザー名とパスワードを毎回入力せずにすむように、これらの認証情報を保存することができます。
結果
指定した仮想マシンが OpenStack デプロイにインポートされ、OpenStack インスタンスとして管理できるようになります。