Macvtap 机制驱动¶
ML2 插件的 Macvtap 机制驱动通常会提高实例的网络性能。
请考虑此机制驱动程序的以下属性,以确定其在您的环境中的实用性
仅支持实例端口。用于 DHCP 和层 3(路由)服务的端口必须使用其他机制驱动程序,例如 Open vSwitch (OVS)。
仅支持未标记(flat)和标记(VLAN)网络。
缺乏对安全组的支持,包括基本(合理性)和反欺骗规则。
缺乏对层 3 高可用性机制的支持,例如虚拟路由器冗余协议 (VRRP) 和分布式虚拟路由 (DVR)。
只有计算资源可以通过 macvtap 附加。附加其他资源,如 DHCP、路由器等是不支持的。因此,请在控制器节点上以 VLAN 或 flat 模式运行 OVS。
实例迁移需要在每个计算节点上,
physical_interface_mapping配置选项的值相同。有关更多信息,请参阅 https://bugs.launchpad.net/neutron/+bug/1550400。
先决条件¶
您可以使用 OVS 机制驱动程序以及仅提供商网络或提供商和自助服务网络,将此机制驱动程序添加到现有环境。您可以更改现有计算节点的配置,或添加使用 Macvtap 机制驱动程序的计算节点。示例配置假定将使用 Macvtap 机制驱动程序的计算节点添加到 Open vSwitch:自助服务网络 部署示例。
添加具有以下组件的一个或多个计算节点
三个网络接口:管理、提供商和叠加。
OpenStack Networking Macvtap layer-2 代理及其任何依赖项。
注意
为了支持与部署示例的集成,此内容将 Macvtap 机制驱动程序配置为使用叠加网络,用于未标记(flat)或标记(VLAN)网络,以及诸如 VXLAN 之类的叠加网络。您的物理网络基础设施必须支持叠加网络上的 VLAN (802.1q) 标记。
架构¶
Macvtap 机制驱动程序仅适用于计算节点。否则,环境类似于先决条件部署示例。
示例配置¶
使用以下示例配置作为模板,以向现有的运行环境添加对 Macvtap 机制驱动程序的支持。
控制器节点¶
在
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替换为适当的数值。
重新启动以下服务
服务器
网络节点¶
无更改。
计算节点¶
安装 Networking 服务 Macvtap layer-2 代理。
在
neutron.conf文件中,配置常用选项[DEFAULT] core_plugin = ml2 auth_strategy = keystone [database] # ... [keystone_authtoken] # ... [nova] # ... [agent] # ...
请参阅您的 OpenStack 版本的 安装教程和指南 和 配置参考,以获取
[DEFAULT]、[database]、[keystone_authtoken]、[nova]和[agent]部分的适当附加配置。在
macvtap_agent.ini文件中,配置 layer-2 代理。[macvtap] physical_interface_mappings = macvtap:MACVTAP_INTERFACE [securitygroup] firewall_driver = noop
将
MACVTAP_INTERFACE替换为处理 Macvtap 机制驱动程序接口的底层接口的名称。如果使用先决条件部署示例,请将MACVTAP_INTERFACE替换为处理叠加网络的底层接口的名称。例如,eth1。启动以下服务
Macvtap 代理
验证服务操作¶
获取管理项目凭据。
验证代理的存在和运行情况
$ openstack network agent list +--------------------------------------+--------------------+----------+-------------------+-------+-------+---------------------------+ | ID | Agent Type | Host | Availability Zone | Alive | State | Binary | +--------------------------------------+--------------------+----------+-------------------+-------+-------+---------------------------+ | 31e1bc1b-c872-4429-8fc3-2c8eba52634e | Metadata agent | compute1 | None | True | UP | neutron-metadata-agent | | 378f5550-feee-42aa-a1cb-e548b7c2601f | Open vSwitch agent | compute1 | None | True | UP | neutron-openvswitch-agent | | 7d2577d0-e640-42a3-b303-cb1eb077f2b6 | L3 agent | compute1 | nova | True | UP | neutron-l3-agent | | d5d7522c-ad14-4c63-ab45-f6420d6a81dd | Metering agent | compute1 | None | True | UP | neutron-metering-agent | | e838ef5c-75b1-4b12-84da-7bdbd62f1040 | DHCP agent | compute1 | nova | True | UP | neutron-dhcp-agent | +--------------------------------------+--------------------+----------+-------------------+-------+-------+---------------------------+
创建初始网络¶
此机制驱动程序只是更改了实例的虚拟网络接口驱动程序。因此,您可以参考先决条件部署示例的 创建 初始 网络 内容。
验证网络操作¶
此机制驱动程序只是更改了实例的虚拟网络接口驱动程序。因此,您可以参考先决条件部署示例的 验证 网络 操作 内容。
网络流量流¶
此机制驱动程序只是删除了计算节点上的安全组处理。因此,您可以参考先决条件部署示例的网络流量流场景。