用于ML2插件的Macvtap机制驱动程序通常可提高实例的网络性能。
考虑此机制驱动程序的以下属性,以确定您的环境的实用性:
仅支持实例端口。 DHCP和第3层(路由)服务的端口必须使用其他机制驱动程序,如Linux桥或Open vSwitch(OVS)。
仅支持未标记(平面)和标记(VLAN)网络。
缺少对安全组的支持,包括基本(健全)和反欺骗规则。
缺少对诸如虚拟路由器冗余协议(VRRP)和分布式虚拟路由(DVR)之类的第3层高可用性机制的支持。
只有计算资源可以通过macvtap连接。不支持附加其他资源,如DHCP,路由器和其他资源。因此,在控制器节点上以VLAN或平面模式运行OVS或linux网桥。
实例迁移需要每个计算节点上的physical_interface_mapping配置选项具有相同的值。
先决条件
您可以使用Linux网桥或OVS机制驱动程序仅使用提供商网络或提供商和自助服务网络将此机制驱动程序添加到现有环境。 您可以使用Macvtap机制驱动程序更改现有计算节点的配置或添加计算节点。 示例配置假定将具有Macvtap机制驱动程序的计算节点添加到Linux网桥:自助服务网络或Open vSwitch:自助服务网络部署示例。
使用以下组件添加一个或多个计算节点:
三个网络接口:管理,提供程序和覆盖。
OpenStack网络Macvtap第二层代理和任何依赖。
为了支持与部署示例的集成,此内容配置Macvtap机制驱动程序,除了覆盖网络(如VXLAN)之外,还为无标记(平面)或标记(VLAN)网络使用覆盖网络。 您的物理网络基础设施必须在覆盖网络上支持VLAN(802.1q)标记。
架构
Macvtap机制驱动程序仅适用于计算节点。 否则,环境类似于必备部署示例。
配置样例
使用以下示例配置作为模板,以向现有操作环境添加对Macvtap机制驱动程序的支持。
控制节点
1.在ml2_conf.ini文件:
将macvtap添加到机制驱动程序。
[ml2]
mechanism_drivers = macvtap
配置网络映射。
[ml2_type_flat]
flat_networks = provider,macvtap
[ml2_type_vlan]
network_vlan_ranges = provider,macvtap:VLAN_ID_START:VLAN_ID_END
使用macvtap是任意的。 只有自助部署示例需要VLAN ID范围。 使用适当的数值替换VLAN_ID_START和VLAN_ID_END。
2.重启服务
网络节点
无变化
计算节点
1.安装网络服务Macvtap layer-2代理。
2.在neutron.conf文件中,配置通用选项:
[DEFAULT]
core_plugin = ml2
auth_strategy = keystone
[database]
...
[keystone_authtoken]
...
[nova]
...
[agent]
...
3.在macvtap_agent.ini文件中,配置第2层代理。
[macvtap]
physical_interface_mappings = macvtap:MACVTAP_INTERFACE
[securitygroup]
firewall_driver = noop
将MACVTAP_INTERFACE替换为处理Macvtap机制驱动程序接口的底层接口的名称。 如果使用必备部署示例,请将MACVTAP_INTERFACE替换为处理覆盖网络的基础接口的名称。 例如,eth1。
4.启动以下服务
Macvtap 代理
验证服务操作
1.源管理项目凭据。
2.验证代理的存在和操作:
$ neutron agent-list
+--------------------------------------+---------------+----------+-------------------+-------+----------------+---------------------------+
| id | agent_type | host | availability_zone | alive | admin_state_up | binary |
+--------------------------------------+--------------------+----------+-------------------+-------+----------------+---------------------------+
| 7af923a4-8be6-11e6-afc3-3762f3c3cf6e | Macvtap agent | compute1 | | :-) | True | neutron-macvtap-agent |
| 80af6934-8be6-11e6-a046-7b842f93bb23 | Macvtap agent | compute2 | | :-) | True | neutron-macvtap-agent |
+--------------------------------------+---------------+----------+-------------------+-------+----------------+---------------------------+
创建初始网络
此机制驱动程序只是更改实例的虚拟网络接口驱动程序。 因此,您可以参考为先决部署示例创建初始网络内容。
验证网络操作
此机制驱动程序只是更改实例的虚拟网络接口驱动程序。 因此,您可以参考验证网络操作内容的必备部署示例。
网络流量流
此机制驱动程序只是删除处理计算节点上的安全组的Linux网桥。 因此,您可以参考先决部署示例的网络流量场景。