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

仮想マシンのインポートには、Datacenter Command Line Interface (DCLI) を使用します。これは VMware Integrated OpenStack 管理サーバにパッケージにされており、VMware Integrated OpenStack vAPI プロバイダによって動作します。

インポートされた仮想マシンは OpenStack インスタンスになりますが、いくつかの点でインスタンスとは異なります:
  • インポートされた仮想マシンに複数のディスクがある場合:
    • Nova スナップショットの作成はサポートされません。
    • Nova のサイズ変更操作はサポートされません。
  • 既存のネットワークはプロバイダ ネットワーク タイプのポート グループとしてインポートされ、DHCP で作成されたサブネットは無効になります。 これによって、OpenStack の DHCP ノードと外部 DHCP サーバの競合を防ぎます。
    注: : リースの更新中に DHCP サーバが同じ IP アドレスを維持できなくなると、OpenStack のインスタンス情報には正しくない IP アドレスが示されます。そのため、既存の DHCP サーバ上では静的な DHCP バインドを使用することを推奨します。また、インポートされたネットワーク上で新しい OpenStack インスタンスを起動することは、外部サーバからの DHCP アドレスがあると OpenStack と競合する可能性があるため推奨されません。
  • インポートされた仮想マシンのフレーバーは正しい CPU とメモリを示しますが、ルート ディスクの容量が 0 GB と誤って表示されます。

前提条件

  • VMware Integrated OpenStack バージョン 4.0 を実行していることを確認します。
  • VMware Integrated OpenStack がデプロイされており、動作していることを確認します。
  • インポートする仮想マシンが同じ vCenter 内にあることを確認します。
  • 仮想マシンのインポートは NSX および Neutron の VDS プラグインでサポートされます。
    注: : VMware Integrated OpenStack 3.0 を実行している場合は、 NSX の論理スイッチでバックアップされている仮想マシンをインポートすることはできません。ネットワークのバックアップには通常の分散ポート グループを使用する必要があります。この機能は VMware Integrated OpenStack 3.1 以降でサポートされています。

手順

  1. VMware Integrated OpenStack デプロイに、インポートする仮想マシンが含まれているクラスタを追加します。
    1. vSphere Web Client で、インポートする仮想マシンが含まれているクラスタを識別します。
    2. クラスタを Nova コンピューティング クラスタとして VMware Integrated OpenStack デプロイに追加します。
    3. 必要に応じて、他のクラスタにこれらの手順を繰り返します。
    クラスタを Nova コンピューティング クラスタとして追加すると、仮想マシンをインポートすることができます。
  2. SSH を使用して VMware Integrated OpenStack Manager にログインします。
  3. VMware Integrated OpenStack vAPI エンドポイントに接続します。
    エンドポイントはローカルで実行します。
    dcli +server http://localhost:9449/api +i
    このコマンドはインタラクティブ シェル ( dcli) を開きます。
  4. VMware Integrated OpenStack vAPI プロバイダのすべてのネームスペースをリストします。
    dcli> com vmware vio 
    The vio namespace provides namespaces to manage components related to OpenStack and vSphere
    Available Namespaces:
    vm
  5. (オプション) 非管理対象の仮想マシンのインポートに関連するコマンドをリストします。
    非管理対象の仮想マシンとは、 VMware Integrated OpenStack 内で OpenStack インスタンスとして管理されていない仮想マシンです。この場合、非管理対象の仮想マシンには、コンピューティング ノードに追加したクラスタの仮想マシンが含まれます。
    dcli> com vmware vio vm unmanaged 
    The Unmanaged namespace provides commands to manage virtual machine not under OpenStack
    Available Commands:
    importall   Imports all unmanaged virtual machines into OpenStack
    importvm    Imports given virtual machine into OpenStack
    list        Enumerates the list of unmanaged virtual machines
  6. (オプション) Nova コンピューティング ノードに追加した特定のターゲット クラスタにある、非管理対象の仮想マシンをすべてリストします。
    com vmware vio vm unmanaged list --cluster <vcenter cluster mor-id>

  7. 仮想マシンを VMware Integrated OpenStack にインポートします。
    すべての仮想マシンまたは特定の仮想マシンをインポートすることができます。
    1. すべての仮想マシンをインポートするには:
      com vmware vio vm unmanaged importall [-h] --cluster CLUSTER [--tenant-mapping {FOLDER,RESOURCE_POOL}] [--root-folder ROOT_FOLDER]
                                                   [--root-resource-pool ROOT_RESOURCE_POOL]
      オプション 説明
      --cluster CLUSTER

      仮想マシンがある Nova コンピューティング クラスタを指定します。

      --tenant-mapping {FOLDER,RESOURCE_POOL}

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

      このパラメータはオプションです。テナント マッピングが指定されない場合、インポートされた仮想マシンは OpenStack 内の [import_service] プロジェクトのインスタンスになります。

      --root-folder ROOT_FOLDER

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

      • 指定されたルート フォルダの仮想マシンが、サブフォルダに含まれる仮想マシンも含めてすべてインポートされます。
      • 仮想マシンは、指定されたルート フォルダと同じ名前を持つ OpenStack プロジェクトにインスタンスとしてインポートされます。
      • ルートのサブフォルダに仮想マシンが含まれている場合、それらの仮想マシンはサブフォルダと同じ名前を持つ OpenStack プロジェクトにインポートされます。
      注: : ルート フォルダを指定しない場合、クラスタの最上位レベルのフォルダの名前がデフォルトで使用されます。
      --root-resource-pool ROOT_RESOURCE_POOL

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

      • 指定されたルートのリソース プールの仮想マシンが、子のリソース プールに含まれる仮想マシンも含めてすべてインポートされます。
      • 仮想マシンは、指定されたルートのリソース プールと同じ名前を持つ OpenStack プロジェクトにインスタンスとしてインポートされます。
      • ルートの子のリソース プールに仮想マシンが含まれている場合、それらの仮想マシンは子のリソース プールと同じ名前を持つ OpenStack プロジェクトにインポートされます。
    2. 特定の仮想マシンをインポートするには:
      com vmware vio vm unmanaged importvm [-h] \
           --vm VM [--tenant TENANT] [--nic-mac-address NIC_MAC_ADDRESS] \
           [--nic-ipv4-address NIC_IPV4_ADDRESS]
      オプション 説明
      --vm VM

      インポートする特定の仮想マシンの vm-<id> を指定します。

      com vmware vio vm unmanaged list コマンドを実行すると、インポートされるすべての仮想マシンの ID 値を確認できます。

      --tenant TENANT

      インポートされる仮想マシンが OpenStack インスタンスとして常駐する OpenStack プロジェクトを指定します。

      このパラメータはオプションです。指定しない場合、インポートされた仮想マシンは OpenStack 内の [import_service] プロジェクトのインスタンスになります。

      --nic-mac-address NIC_MAC_ADDRESS

      オプションとして、仮想マシンの NIC の MAC アドレスを指定します。

      インポート プロセスでこの値を検出できない場合、インポートは失敗します。このパラメータを使用すると、NIC の MAC アドレスを手動で入力することができます。

      注: : 指定する場合は、 nic-ipv4-address パラメータも指定する必要があります。
      --nic-ipv4-address NIC_IPV4_ADDRESS

      オプションとして、仮想マシンの NIC の IP アドレスを指定します。

      インポート プロセスでこの値を検出できない場合、インポートは失敗します。このパラメータを使用すると、NIC の IP アドレスを手動で入力することができます。

      注: : 指定する場合は、 nic-mac-address パラメータも指定する必要があります。
  8. (オプション) custom.yml ファイルを修正して、インポートされた仮想マシンの配置および名前の変更を有効または無効にすることができます。
    このオプションはデフォルトで有効です。
    1. custom.yml ファイルを実装していない場合は実装します。
      sudo mkdir -p /opt/vmware/vio/custom
      sudo cp /var/lib/vio/ansible/custom/custom.yml.sample /opt/vmware/vio/custom/custom.yml
    2. インポートされた仮想マシンの配置および名前の変更を無効にするには、custom.yml ファイルの次のパラメータをコメント解除します。
      nova_import_vm_relocate: false
    3. custom.yml ファイルを保存します。