OpenStack支持机密虚拟机使能vhost_user加速
OpenStack使能机密虚拟机支持OVS+DPDK只需占用不超过3G大小内存大页,目前机密虚拟机仅支持1G大小大页内存,大页内存未绑定NUMA节点,不支持混合部署virtCCA机密虚拟机和普通虚拟机。
- 参考机密虚拟机支持DPDK-OVS网络加速准备环境。
- 其中执行ife_topology.sh时需指定OpenStack的对外网卡br-ex,命令如下:
sh ife_topology.sh clean ife_topology.sh normal BDF br-ex
- clean/normal:ife_topology.sh脚本clean方法用于清理ovs网桥配置,normal方法用于配置OVS+DPDK。
- BDF:指定DPDK使用的网卡BDF号。
- br-ex:OpenStack使用的外部网桥名称。
- libvirt启动的虚拟机在配置好网卡直通的网络后,同网段IP地址网络连通性正常,证明基础环境部署完成。
首次部署环境可参考机密虚拟机支持DPDK-OVS网络加速,重启计算节点后,原DPDK接管的网卡会重新由内核管理,因此需重新使用DPDK接管网卡,重启后需执行以下命令,其中${BDF}为对应网卡的BDF号。dpdk-socket-mem根据NUMA节点数量修改。
modprobe uio_pci_generic dpdk-devbind.py -b uio_pci_generic --force ${BDF} dpdk-devbind.py -s service openvswitch restart ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-init=true other_config:dpdk-socket-mem="4096,4096,4096,4096" other_config:dpdk-lcore-mask="0x1F" other_config:pmd-cpu-mask="0x1E" other_config:dpdk-pmd-driver=/lib64/librte_pmd_hinic.so other_config:vhost-iommu-support=true service openvswitch restart systemctl restart neutron-openvswitch-agent.service
- 其中执行ife_topology.sh时需指定OpenStack的对外网卡br-ex,命令如下:
- 修改openstack-nova配置文件。
- 打开配置文件。
vim /etc/nova/nova.conf
- 按“i”进入编辑模式,参考如下内容修改配置文件。
[DEFAULT] reserved_huge_pages=node:0,size:1GB,count:4 reserved_huge_pages=node:1,size:1GB,count:4 reserved_huge_pages=node:2,size:1GB,count:4 reserved_huge_pages=node:3,size:1GB,count:4
- 按“Esc”键退出编辑模式,输入:wq!,按“Enter”保存退出文件。
- 重启计算节点openstack-nova-compute服务。
systemctl restart openstack-nova-compute
- 需使用cat /sys/devices/system/node/node*/meminfo|grep HugePages命令查看NUMA节点数量和每个NUMA节点总大页HugePages_Total和可使用大页HugePages_Free的数量,HugePages_Total-HugePages_Free的值填到上述count处。
- 通常情况DPDK会占用16*1G内存大页。
- 打开配置文件。
- 修改neutron-openvswitch-agent配置文件。
- 打开配置文件。
vim /etc/neutron/plugins/ml2/openvswitch_agent.ini
- 按“i”进入编辑模式,参考如下内容修改配置文件。
[ovs] datapath_type = netdev vhostuser_socket_dir = /var/run/openvswitch
- 按“Esc”键退出编辑模式,输入:wq!,按“Enter”键保存退出文件。
- 重启neutron-openvswitch-agent服务。
systemctl restart neutron-openvswitch-agent
- 打开配置文件。
- 创建vhost_user相关flavor。
openstack flavor create dpdk-cca-flavor --vcpus 4 --ram 8192 --disk 50 \ --property hw:mem_page_size=1GB \ --property trait:HW_CPU_AARCH64_HISI_VIRTCCA=required \ --property hw:mem_secure=true \ --property sw:qemu_cmdline="tmm-guest,id=tmm0,num-pmu-counters=1"
- 创建vhost_user机密虚拟机。
openstack server create --image openEuler-image --flavor dpdk-cca-flavor --network public-network dpdk-vm
- 验证机密虚拟机通过OpenStack使能vhost_user。
网卡添加网络配置后,虚拟机和IP地址同网段的另一台服务器可互相连接,网卡可用。
父主题: 配置OpenStack支持机密虚拟机