10.6. 创建 NIC 配置模板
通过修改 Red Hat OpenStack Platform (RHOSP)附带的示例 Jinja2 模板的副本来定义您的 NIC 配置模板。
先决条件
-
访问
stack
用户的 undercloud 主机和凭据。
流程
-
以
stack
用户的身份登录 undercloud。 Source
stackrc
文件:$ source ~/stackrc
复制示例网络配置模板。
从
/usr/share/ansible/roles/tripleo_network_config/templates/
目录中的示例复制 NIC 配置 Jinja2 模板。选择最符合 NIC 要求的值。根据需要进行修改。在 NIC 配置模板中,如
single_nic_vlans.j2
,添加您的 DPDK 接口。注意在示例 NIC 配置模板
single_nic_vlans.j2
中,节点只使用一个网络接口作为 VLAN 的中继。原生 VLAN (未标记的流量)是 control plane,每个 VLAN 对应于 RHOSP 网络之一:内部 API、存储等。示例
... - type: ovs_dpdk_bond name: dpdkbond0 mtu: 9000 rx_queue: 1 ovs_extra: - set Interface dpdk0 options:n_rxq_desc=4096 - set Interface dpdk0 options:n_txq_desc=4096 - set Interface dpdk1 options:n_rxq_desc=4096 - set Interface dpdk1 options:n_txq_desc=4096 members: - type: ovs_dpdk_port name: dpdk0 driver: vfio-pci members: - type: interface name: nic5 - type: ovs_dpdk_port name: dpdk1 driver: vfio-pci members: - type: interface name: nic6 ...
将自定义网络配置模板(如
single_nic_vlans.j2)
添加到裸机节点定义文件,如您在 第 10.5 节 “创建裸机节点定义文件” 中创建的overcloud-baremetal-deploy.yaml
。示例
- name: ComputeOvsDpdk count: 2 hostname_format: compute-%index% defaults: networks: - network: internal_api subnet: internal_api_subnet - network: tenant subnet: tenant_subnet - network: storage subnet: storage_subnet network_config: template: /home/stack/templates/single_nic_vlans.j2 ...
可选: 您可以使用 TuneD 配置集
cpu-partitioning-powersave
,将 OVS-DPDK 配置为在没有转发数据包时进入睡眠模式。要配置
cpu-partitioning-powersave
,请确保在 NIC 配置模板中设置了队列大小。示例
... - type: ovs_dpdk_bond name: dpdkbond0 mtu: 9000 rx_queue: 1 ovs_extra: - set Interface dpdk0 options:n_rxq_desc=4096 - set Interface dpdk0 options:n_txq_desc=4096 - set Interface dpdk1 options:n_rxq_desc=4096 - set Interface dpdk1 options:n_txq_desc=4096 members: - type: ovs_dpdk_port name: dpdk0 driver: vfio-pci members: - type: interface name: nic5 - type: ovs_dpdk_port name: dpdk1 driver: vfio-pci members: - type: interface name: nic6 ...
- 请注意您创建的 NIC 配置模板的路径和文件名。您稍后会在部署 overcloud 时使用此文件。
后续步骤
其他资源