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

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

インポートされた仮想マシンは OpenStack インスタンスになりますが、いくつかの点でインスタンスとは異なります。

  • 仮想マシンに複数のディスクがある場合、ディスクは Cinder ボリュームとしてインポートされます。

  • 既存のネットワークは、タイプ portgroup のプロバイダ ネットワークとしてインポートされ、アクセス先は指定したテナントに限定されます。

  • 特定のネットワーク バッキングが設定された仮想マシンをインポートすると、別のプロジェクトに同じネットワークをインポートできなくなります。

  • Neutron サブネットは、DHCP を無効にして自動的に作成されます。

  • Neutron ポートは、仮想マシン上のネットワーク インターフェイス カードの IP アドレスと MAC アドレスに基づいて自動的に作成されます。

注:

リースの更新中に DHCP サーバが同じ IP アドレスを維持できなくなると、OpenStack のインスタンス情報には正しくない IP アドレスが示されます。この問題を回避するには、既存の DHCP サーバ上では固定の DHCP バインドを使用するものとし、インポートされたネットワーク上では新しい OpenStack インスタンスを実行しないでください。

OpenStack 管理サーバ 上の Data Center Command-Line Interface (DCLI) を使用して、仮想マシンをインポートします。

前提条件

インポートする仮想マシンが同じ vCenter Server インスタンス内にあることを確認します。

手順

  1. vSphere で、目的の仮想マシンが含まれているクラスタをコンピューティング クラスタとして VMware Integrated OpenStack デプロイに追加します。手順については、OpenStack デプロイへのコンピューティング クラスタの追加を参照してください。
  2. OpenStack 管理サーバviouser としてログインします。
  3. インポートされた仮想マシンが再配置されたり名前を変更されないようにするには、デプロイ構成を更新します。
    1. デプロイで custom.yml ファイルを使用していない場合は、テンプレート custom.yml ファイルを /opt/vmware/vio/custom ディレクトリにコピーします。
      sudo mkdir -p /opt/vmware/vio/custom
      sudo cp /var/lib/vio/ansible/custom/custom.yml.sample /opt/vmware/vio/custom/custom.yml
    2. テキスト エディタで /opt/vmware/vio/custom/custom.yml ファイルを開きます。
    3. nova_import_vm_relocate パラメータのコメントを解除し、その値を false に設定します。
    4. 更新された設定をデプロイします。
      sudo viocli deployment configure

      設定をデプロイすると、OpenStack サービスが一時的に中断されます。

  4. VMware Integrated OpenStack vAPI エンドポイントに接続します。
    dcli +server https://mgmt-server-ip:9449/api +i

    サーバに接続できない場合は、DCLI からサーバに接続できないを参照してください。

  5. 非管理対象の仮想マシンを VMware Integrated OpenStack にインポートします。
    注:

    コマンドを実行すると、DCLI により、vCenter Server インスタンスの管理者認証情報の入力を求められます。ユーザー名とパスワードを毎回入力せずにすむように、これらの認証情報を保存することができます。

    • 非管理対象のすべての仮想マシンをインポートするには、次のコマンドを実行します。

      com vmware vio vm unmanaged importall --cluster cluster-name [--tenant-mapping {FOLDER | RESOURCE_POOL} [--root-folder root-folder | --root-resource-pool root-resource-pool]]

      オプション

      説明

      --cluster

      インポートする仮想マシンを含むコンピューティング クラスタを入力します。

      --tenant-mapping {FOLDER | RESOURCE_POOL}

      インポートされた仮想マシンを OpenStack プロジェクトにマッピングするときに、フォルダ内の場所を基準にするか、リソース プール内の場所を基準にするのかを指定します。

      このパラメータを含めない場合、インポートされたすべての仮想マシンはデフォルトで [import_service] プロジェクトのインスタンスになります。

      --root-folder ROOT_FOLDER

      --tenant-mapping パラメータに FOLDER を指定した場合、インポートする仮想マシンが含まれるルート フォルダの名前を指定することができます。

      指定されたフォルダ内またはそのサブフォルダ内のすべての仮想マシンは、それらが配置されているフォルダと同じ名前で OpenStack プロジェクトにインスタンスとしてインポートされます。

      注:

      --tenant-mapping FOLDER を指定して --root-folder を指定しない場合、クラスタの最上位レベルのフォルダの名前がデフォルトで使用されます。

      --root-resource-pool ROOT_RESOURCE_POOL

      --tenant-mapping パラメータに RESOURCE_POOL を指定した場合、インポートする仮想マシンが含まれるルート リソース プールの名前を指定することができます。

      指定されたリソース プール内またはその子リソース プール内のすべての仮想マシンは、それらが配置されているリソース プールと同じ名前を持つ OpenStack プロジェクトにインスタンスとしてインポートされます。

    • 指定された仮想マシンをインポートするには、次のコマンドを実行します。

      com vmware vio vm unmanaged importvm --vm vm-id [--tenant project-name] [--nic-mac-address nic-mac --nic-ipv4-address nic-ip] [--root-disk root-disk-path] [--nics specifications]

      オプション

      説明

      --vm

      インポートする仮想マシンの ID を入力します。

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

      --tenant

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

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

      --nic-mac-address

      仮想マシン上のネットワーク インターフェイス カードの MAC アドレスを入力します。

      このパラメータを含めない場合、インポート プロセスは、MAC アドレスおよび IP アドレスを自動的に検出します。

      注:

      このパラメータを含める場合は、nic_ipv4_address パラメータも含める必要があります。

      --nic-ipv4-address

      仮想マシン上のネットワーク インターフェイス カードの IP アドレスとプリフィックスを入力します。CIDR 表記(たとえば、10.10.1.1/24)の値を入力します。

      このパラメータは、--nic-mac-address パラメータとともに使用する必要があります。

      --root-disk

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

      --nics

      複数の NIC を持つ仮想マシンの場合は、各 NIC の MAC アドレスと IP アドレスを JSON 形式で指定します。

      次のキーと値のペアを使用します。

      • mac_address︰標準形式の NIC の MAC アドレス

      • ipv4_address:CIDR 表記の IPv4 アドレス

      例:

      --nics '[{"mac_address": "00:50:56:9a:f5:7b", "ipv4_address": "10.10.1.1/24"}, {"mac_address": "00:50:56:9a:ee:be", "ipv4_address": "10.10.2.1/24"}]'