SR-IOV または DirectPath I/O パススルーを許可するようにポートを設定してから、物理ハードウェア インターフェイスを使用する OpenStack インスタンスを作成できます。
この手順では、OpenStack Neutron を使用して、ネットワーク デバイスのパススルーを有効にします。ネットワーク以外のデバイスについては、ネットワーク以外のデバイスのパススルーの設定を参照してください。
前提条件
vSphere で SR-IOV または DirectPath I/O を有効にします。
SR-IOV デバイス専用のコンピューティング クラスタを作成します。これらのデバイスに DRS ルールは適用されません。
物理デバイスの MAC アドレスを維持するには、デバイス上でダイレクト パススルーを有効にする前に、コンピューティング ノードとしてクラスタを追加します。ダイレクト パススルーがすでに有効な場合は、これを無効にして、クラスタを再起動し、ダイレクト パススルーを再度有効にすることができます。
手順
- OpenStack 管理サーバ に
viouser
としてログインします。
- NSX-T Data Center デプロイを使用している場合は、SR-IOV が有効なコンピューティング クラスタごとに Distributed Switch を指定します。
- デプロイで 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
- テキスト エディタで /opt/vmware/vio/custom/custom.yml ファイルを開きます。
- nova_dvs_moid パラメータをコメント解除します。
- デプロイ内の各コンピューティング ドライバの DNS 名およびコンピューティング ドライバに関連付けられている VDS の管理対象オブジェクト ID (MOID) を指定します。
例:
nova_dvs_moid:
compute01: dvs-35
compute02: dvs-36
各コンピューティング ドライバの名前の前に 3 つのスペースがあることに注意してください。
- 更新された設定をデプロイします。
sudo viocli deployment configure
設定をデプロイすると、OpenStack サービスが一時的に中断されます。
root
ユーザーに切り替えて、クラウド管理者の認証情報ファイルをロードします。
sudo su -
source ~/cloudadmin.rc
- SR-IOV デバイスのプロバイダ ネットワークを作成します。
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 を入力します。 |
- パススルーが有効なポートを作成します。
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 ポートではポート セキュリティはサポートされていません。作成したポートに対するポート セキュリティは自動的に無効になります。
タスクの結果
この手順で変更したポートを使用してパススルーが有効な仮想マシンを構成し、デプロイできます。