SR-IOV または DirectPath I/O パススルーを許可するようにポートを設定してから、物理ハードウェア インターフェイスを使用する OpenStack インスタンスを作成できます。

重要:

この機能は、VMware Integrated OpenStack Carrier Edition でのみ提供されています。詳細については、VMware Integrated OpenStack のライセンスを参照してください。

この手順では、OpenStack Neutron を使用して、ネットワーク デバイスのパススルーを有効にします。ネットワーク以外のデバイスについては、ネットワーク以外のデバイスのパススルーの設定を参照してください。

前提条件

  • vSphere で SR-IOV または DirectPath I/O を有効にします。

  • SR-IOV デバイス専用のコンピューティング クラスタを作成します。これらのデバイスに DRS ルールは適用されません。

  • 物理デバイスの MAC アドレスを維持するには、デバイス上でダイレクト パススルーを有効にする前に、コンピューティング ノードとしてクラスタを追加します。ダイレクト パススルーがすでに有効な場合は、これを無効にして、クラスタを再起動し、ダイレクト パススルーを再度有効にすることができます。

手順

  1. OpenStack 管理サーバviouser としてログインします。
  2. NSX-T Data Center デプロイを使用している場合は、SR-IOV が有効なコンピューティング クラスタごとに Distributed Switch を指定します。
    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_dvs_moid パラメータをコメント解除します。
    4. デプロイ内の各コンピューティング ドライバの DNS 名およびコンピューティング ドライバに関連付けられている VDS の管理対象オブジェクト ID (MOID) を指定します。

      例:

      nova_dvs_moid:
         compute01: dvs-35
         compute02: dvs-36

      各コンピューティング ドライバの名前の前に 3 つのスペースがあることに注意してください。

    5. 更新された設定をデプロイします。
      sudo viocli deployment configure

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

  3. root ユーザーに切り替えて、クラウド管理者の認証情報ファイルをロードします。
    sudo su -
    source ~/cloudadmin.rc
  4. SR-IOV デバイスのプロバイダ ネットワークを作成します。
    • NSX Data Center for vSphere デプロイの場合は、VLAN ネットワークまたはポート グループ ネットワークを作成します。

    • NSX-T Data Center デプロイの場合は、VLAN ネットワークまたは不透明ネットワークを作成します。

    neutron net-create network-name --tenant-id project-uuid --provider:network_type {vlan | portgroup | nsx-net} --provider:physical_network physical-id [--provider:segmentation_id vlan-id]

    オプション

    説明

    network-name

    ネットワークの名前を入力します。

    --tenant-id

    ポートを作成するプロジェクトの UUID を指定します。openstack project list コマンドを実行して、プロジェクトの UUID を検索できます。

    --provider:network_type

    VLAN ネットワークの場合は vlan、ポート グループ ネットワークの場合は portgroup、不透明ネットワークの場合は nsx-net と入力します。

    --provider:physical_network

    • NSX Data Center for vSphere の VLAN ネットワークの場合は、Distributed Switch の管理対象オブジェクト ID (MOID) を指定します。

    • NSX-T Data Center の VLAN ネットワークの場合は、VLAN トランスポート ゾーンの UUID を指定します。

    • ポート グループ ネットワークの場合は、ポート グループの MOID を指定します。

    • 不透明ネットワークの場合、論理スイッチの UUID を指定します。

    --provider:segmentation_id

    VLAN ベース ネットワークを作成する場合は、VLAN ID を入力します。

  5. パススルーが有効なポートを作成します。
    neutron port-create network-id --tenant-id project-uuid --name port-name --vnic_type {direct | direct-physical}

    オプション

    説明

    network-id

    ポートを作成するネットワークの UUID を指定します。openstack network list コマンドを実行して、ネットワークの UUID を検索できます。

    --tenant-id

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

    --name

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

    --vnic_type

    SR-IOV の場合は direct、ダイレクト パススルーの場合は direct-physical と入力します。

    注:

    direct ポートおよび direct-physical ポートではポート セキュリティはサポートされていません。作成したポートに対するポート セキュリティは自動的に無効になります。

タスクの結果

この手順で変更したポートを使用してパススルーが有効な仮想マシンを構成し、デプロイできます。