SR-IOV パススルーを許可するようにポートを設定してから、物理ネットワーク アダプタを使用する OpenStack インスタンスを作成できます。
前提条件
- vSphere で SR-IOV を有効にします。『vSphere ネットワーク』のホスト物理アダプタでの SR-IOV を有効にするを参照してください。
- SR-IOV デバイス専用のコンピューティング クラスタを作成します。これらのデバイスに DRS ルールは適用されません。
- 物理デバイスの MAC アドレスを維持するには、デバイスでパススルーを有効にする前に、コンピューティング ノードとしてクラスタを追加します。パススルーがすでに有効な場合は、これを無効にして、クラスタを再起動し、ダイレクト パススルーを再度有効にすることができます。
- VMware Integrated OpenStack Carrier Edition の機能を有効にします。Carrier Edition の機能の有効化を参照してください。
手順
- Integrated OpenStack Manager に
root
ユーザーとしてログインします。
- Nova コンピューティングの設定を編集します。
viocli update nova-compute
- nova_compute セクションに次の情報を追加します。
pci:
passthrough_whitelist:
type: multistring
values:
- '{"product_id": "*", "vendor_id": "*", "physical_network": "*"}'
- NSX-T Data Center デプロイを使用している場合は、vmware セクションに dvs_moid パラメータを追加します。
dvs_moid の値を、SR-IOV デバイスのコンピューティング クラスタに関連付けられた Distributed Switch の管理対象オブジェクト ID (MOID) に設定します。
- ツールボックスを開き、
admin
アカウントのパスワードを設定します。
toolbox
export OS_PASSWORD=admin-password
- 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 の MOID を指定します。
- NSX-T Data Center の VLAN ネットワークの場合は、VLAN トランスポート ゾーンの UUID を指定します。
- ポート グループ ネットワークの場合は、ポート グループの MOID を指定します。
- 不透明ネットワークの場合、論理スイッチの UUID を指定します。
|
--provider:segmentation_id |
VLAN ベース ネットワークを作成する場合は、VLAN ID を入力します。 |
- ネットワークのサブネットを作成します。
neutron subnet-create network-id --tenant-id project-uuid --name subnet-name
オプション |
説明 |
network-id |
サブネットを作成するネットワークの UUID を指定します。openstack network list コマンドを実行して、ネットワークの UUID を検索できます。 |
--tenant-id |
サブネットを作成するプロジェクトの UUID を指定します。 |
--name |
サブネットの名前を入力します。 |
- --vnic_type direct パラメータを使用して、パススルー対応のポートを作成します。
neutron port-create network-id --tenant-id project-uuid --name port-name --vnic_type direct
オプション |
説明 |
network-id |
ポートを作成するネットワークの UUID を指定します。openstack network list コマンドを実行して、ネットワークの UUID を検索できます。 |
--tenant-id |
ポートを作成するプロジェクトの UUID を指定します。 |
--name |
ポートの名前を入力します。 |
注: パススルー対応ポートではポート セキュリティはサポートされていません。作成したポートに対するポート セキュリティは自動的に無効になります。
結果
この手順で作成したポートにより、SR-IOV デバイスを使用できるようにインスタンスを設定できます。