您可以為虛擬機器 vNIC 設定多 SRIOV 以平衡多個實體網路介面卡 (pnic) 上的工作負載,以避免一個 pnic 上發生網路流量壅塞,而另一個 pnic 上沒有流量。此應用程式可以與 pnic 進行 NUMA 對齊以避免效能損失。兩個 pnic 以實體連線冗餘配對的形式運作,對於不同的流量或 VLAN 以不同的配對形式運作。
備註:
- 在 VMware Integrated OpenStack 7.2 中,如果使用 SRIOV 網路介面卡建立執行個體,則當類型模板中未指定任何
numa.nodeAffinity
時,該執行個體將自動被置於 SRIOV pnic 的同一 NUMA 節點中。如果已在類型模板中指定 numa.nodeAffinity
,則將覆寫 pnic 中的 NUMA 設定。
- 透過使用該功能,可以指定 SRIOV 連接埠可連線到的 SRIOV PF。您可以查看 nova_compute/pci/passthrough_whitelist 中定義的對應資訊。實體網路的 SRIOV 連接埠可以連結到位址指定的 SRIOV PF。
- 部署後,無法變更 ESXi 中的 VF 編號。如果要增加 VF 編號,則必須重新啟動相應的 Nova 運算網繭。不支援在 VMware Integrated OpenStack 中減少 VF 編號。
程序
- 設定
nova-compute.conf
。
對於 Nova 運算 CR 中的 PCI 定義,可以使用以下格式在
values
區段中輸入內容:
'{"address": "<PCI address of vmnicX>", "product_id": "*", "vendor_id": "*", "physical_network":"<uuid of vlan transport zone of provider-network>"}'
viocli update novacompute <nova-compute-cr-name>
conf:
nova_compute:
DEFAULT:
......
pci:
passthrough_whitelist:
type: multistring
values:
- '{"address": "0000:1a:00.0", "product_id": "*", "vendor_id": "*", "physical_network":"bf86b52f-a629-4c07-a8bd-14b4b46ba384"}'
- '{"address": "0000:5e:00.1", "product_id": "*", "vendor_id": "*", "physical_network":"c12a7025-22bc-403c-8ff9-9a25a236704a"}'
- '{"address": "0000:d8:00.0", "product_id": "*", "vendor_id": "*", "physical_network":"801cd687-b65b-449c-9892-c22647851bf3"}'
- '{"address": "0000:d8:00.1", "product_id": "*", "vendor_id": "*", "physical_network":"7ab64053-9e48-416d-8b1e-80e1fccd3dcd"}'
如果您使用 DVS 或
NSX-T Data Center 部署,請在
vmware
區段中新增
dvs_moid 參數。
dvs_moid: sriov-vds-moid
將 dvs_moid 的值設定為與 SRIOV 裝置的運算叢集相關聯的分散式交換器的受管理物件識別碼 (MOID)。
- 建立提供者網路和子網路。
neutron --insecure net-create 3158-net --provider:network_type vlan --provider:physical_network c12a7025-22bc-403c-8ff9-9a25a236704a --provider:segmentation_id 3158
openstack --insecure subnet create --network 3158-net --allocation-pool start=172.17.2.1,end=172.17.2.254 --gateway 172.17.0.1 --subnet-range 172.17.0.0/22 3158-subnet
- 建立 SRIOV 連接埠。
neutron --insecure port-create 3158-net --name 3158-p1 --vnic_type direct
neutron --insecure port-create 3158-net --name 3158-p2 --vnic_type direct
neutron --insecure port-create 3158-net --name 3158-p3 --vnic_type direct
- 啟動具有指定連接埠的執行個體。您可以看到網路介面卡已新增到虛擬機器並連線到
vmnic2
。
nova boot --flavor m1.tiny --image a133ffd7-1601-42e5-a66f-1eb6130db093 --nic port-id=031e14e3-cf06-40e1-addf-3f13f5b5da66 --nic port-id=25c6ce90-2cff-4189-ae21-abc27a131ae7 <vm-name>