仮想マシンをデフォルト以外のドメインを使用して 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 インスタンス内にあることを確認します。

手順

  1. 目的の仮想マシンが含まれているクラスタをコンピューティング クラスタとして VMware Integrated OpenStack デプロイに追加します。
    手順については、 デプロイへのコンピューティング クラスタの追加を参照してください。
  2. 仮想マシンを Neutron ネットワークに接続します。
    1. vSphere Client[ホストおよびクラスタ] ビューを開きます。
    2. インポートする各仮想マシンを右クリックして、[設定の編集...] を選択します。
    3. ネットワーク アダプタの横にあるドロップダウン リストから、使用する Neutron ネットワークを選択します。
    4. ネットワーク アダプタの設定を展開して、MAC アドレスを記録します。
  3. 仮想マシンの一時的な不透明ネットワークを作成します。
    • NSX-T 2.5 の場合、論理スイッチを作成します。論理スイッチの作成を参照してスイッチを追加してから、次の手順を実行して論理スイッチ ID を取得します。
      1. [論理スイッチ] 列で、作成したスイッチの名前をクリックします。
      2. [概要] 列に表示されているとおりにスイッチの ID を記録します。
    • NSX-T 3.0 の場合、セグメントを作成します。セグメントの追加を参照して、追加したセグメントの名前を記録します。
  4. Integrated OpenStack Managerroot ユーザーとしてログインします。
    ssh root@mgmt-server-ip
  5. Nova コンピューティングの設定を編集します。
    viocli update nova-compute
  6. vmware セクションで、import_net_id パラメータを追加し、値を記録したスイッチ ID またはセグメント名に設定します。
  7. インポートした仮想マシンの再配置や名前変更を許可しない場合は、import_vm_relocate パラメータを追加し、その値を false に設定します。
  8. 仮想マシンをデフォルト以外のドメインにインポートするには、このドメインでユーザーとプロジェクトを作成し、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
  9. admin アカウントのパスワードを設定します。
    export OS_PASSWORD=admin-account-password
  10. ツールボックスで変数をエクスポートします。

    次のコードで指定されているパスワードは参照用です。ツールボックスで変数をエクスポートするには、パスワードを指定する必要があります。

    [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
    
  11. 指定したプロジェクトで Neutron ポートを作成します。

    指定したプロジェクトで Neutron ポートを作成できます。プロジェクト import-proj2 では共有プロバイダ ネットワークが使用され、PortNotUsable の問題を回避するためにポートに --tenant-id を指定する必要があります。

    neutron port-create network --name port --tenant-id <project id of import-proj2> --mac-address vm-mac --fixed-ip ip_address=vm-ip
    neutron port-create network --name port --tenant-id project id --mac-address vm-mac --fixed-ip ip_address=vm-ip
    オプション 説明

    network

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

    --name

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

    --tenant-id

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

    --mac-address

    仮想マシンのネットワーク アダプタの MAC アドレスを入力します。

    --fixed-ip

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

    仮想マシンに IP アドレスが設定されていないか、既存の IP アドレスを保持しない場合は、このパラメータを省略できます。

  12. VMware Integrated OpenStack vAPI エンドポイントに接続します。

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

    dcli +server http://internal-vip:9449/api +i
  13. テナント名を指定して、仮想マシンをインポートします。

    仮想マシンをインポートするには、--tenant 名を指定する必要があります。ただし、--tenant 名が指定されていない場合、VMware Integrated OpenStack ではデフォルトの --tenantimport-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 インスタンスとして管理できるようになります。