6.3. NIC のパーティション設定(テクノロジープレビュー)
この機能は、本リリースでは テクノロジープレビュー として提供しているため、Red Hat では全面的にはサポートしていません。これは、テスト用途にのみご利用いただく機能で、実稼働環境にデプロイすべきではありません。テクノロジープレビュー機能についての詳しい情報は、「対象範囲の詳細」を参照してください。
Red Hat OpenStack Platform ホストが Virtual Function (VF) を使用できるように、Single Root I/O Virtualization (SR-IOV) を設定することができます。
1 つの高速 NIC を複数の VF に分割する場合、NIC をコントロールプレーンおよびデータプレーントラフィックの両方に使用することができます。その後、必要に応じて QoS (Quality of Service) 優先度の値を VF インターフェースに適用することができます。
手順
オーバークラウドデプロイメント用のテンプレートを作成する際に、以下の手順を実施するようにしてください。
os-net-configロールファイルでインターフェース種別sriov_pfを使用して、ホストが使用できる Physical Function(PF)を設定します。- type: sriov_pf name: <interface name> use_dhcp: false numvfs: <number of vfs> promisc: <true/false> #optional (Defaults to true)- type: sriov_pf name: <interface name> use_dhcp: false numvfs: <number of vfs> promisc: <true/false> #optional (Defaults to true)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記numvfsパラメーターは、ネットワーク設定テンプレートのNeutronSriovNumVFsパラメーターに代わるものです。Red Hat では、デプロイ後のNeutronSriovNumVFsパラメーターまたはnumvfsパラメーターの変更をサポートしません。デプロイメント後にいずれかのパラメーターを変更すると、その PF に SR-IOV ポートを持つ実行中のインスタンスが中断する可能性があります。この場合、これらのインスタンスをハードリブートして、SR-IOV PCI デバイスを再び利用可能にする必要があります。
インターフェース種別
sriov_pfを使用して、ホストが使用できるボンディングで VF を設定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow VLAN タグは、共通の PF デバイスに属するすべての VF を通じて一意でなければなりません。VLAN タグをインターフェース種別に割り当てる必要があります。
- linux_bond
- ovs_bridge
- ovs_dpdk_port
- 適用可能な VF ID の範囲はゼロで始まり、VF の合計数から 1 を引いた数値で終了します。
仮想マシンに VF を確保するには、
NovaPCIPassthroughパラメーターを使用します。ホストではなく仮想マシンインスタンスが使用する VF を特定するには、正規表現の値をaddressパラメーターに割り当てる必要があります。これらの値は
lspciから取得できます。この情報を取得するには、事前にコンピュートノードを Linux 環境で起動する必要がある場合があります。lspciコマンドは、各デバイスのアドレスを<bus>:<device>:<slot>の形式で返します。これらのアドレスの値を、以下の形式でNovaPCIPassthroughパラメーターに入力します。NovaPCIPassthrough: - physical_network: "sriovnet2" address: {"domain": ".*", "bus": "06", "slot": "11", "function": "[5-7]"} - physical_network: "sriovnet2" address: {"domain": ".*", "bus": "06", "slot": "10", "function": "[5]"}NovaPCIPassthrough: - physical_network: "sriovnet2" address: {"domain": ".*", "bus": "06", "slot": "11", "function": "[5-7]"} - physical_network: "sriovnet2" address: {"domain": ".*", "bus": "06", "slot": "10", "function": "[5]"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow NIC の分割が必要なすべてのノードで
IOMMUを有効にします。たとえば、コンピュートノードに NIC 分割を設定する場合は、そのロールの KernelArgs パラメーターを使用して IOMMU を有効にします。parameter_defaults: ComputeParameters: KernelArgs: "intel_iommu=on iommu=pt"parameter_defaults: ComputeParameters: KernelArgs: "intel_iommu=on iommu=pt"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
VF の数を確認します。
[root@overcloud-compute-0 heat-admin]# cat /sys/class/net/p4p1/device/sriov_numvfs 10 [root@overcloud-compute-0 heat-admin]# cat /sys/class/net/p4p2/device/sriov_numvfs 10
[root@overcloud-compute-0 heat-admin]# cat /sys/class/net/p4p1/device/sriov_numvfs 10 [root@overcloud-compute-0 heat-admin]# cat /sys/class/net/p4p2/device/sriov_numvfs 10Copy to Clipboard Copied! Toggle word wrap Toggle overflow Linux ボンディングを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow OVS ボンディングを一覧表示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow OVS の接続を表示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
NovaPCIPassthrough を使用して VF をインスタンスに渡した場合には、SR-IOV インスタンスをデプロイして テストを行います。