今天咱们开始学习 OVS 如何实现 Neutron VxLAN,关于 VxLAN 的概念以及 Linux Bridge 实现,你们能够参考前面相关章节。
Open vSwitch 支持 VXLAN 和 GRE 这两种 overlay network。由于 OpenStack 对于 VXLAN 与 GRE 配置和实现差异不大,这里只讨论如何实施 VXLAN。网络
在 /etc/neutron/plugins/ml2/ml2_conf.ini 设置 vxlan network 相关参数。学习
指定普通用户建立的网络类型为 vxlan,同时 enable l2population mechanism driver,而后指定 vxlan 的范围。spa
上面配置定义了 vxlan vni 的范围是 1001 - 2000,这个范围是针对普通用户在本身的租户里建立 vxlan network 的范围。 由于普通用户建立 network 时不能指定 vni,Neutron 会按顺序自动从这个范围中取值。ip
对于 admin 则没有 vni 范围的限制,admin 能够建立 vni 范围为 1-16777216 的 vxlan network。部署
在 [agent] 中配置启用 vxlan 和 l2population。it
最后在 [ovs] 中配置 VTEP。io
vxlan tunnel 对应的网桥为 br-tun。
local_ip 指定 VTEP 的 IP 地址。
devstack-controller 使用 166.66.16.10,此 IP 配置在网卡 eth1 上。
devstack-compute01 则使用 166.66.16.11,此 IP 配置在网卡 eth1 上。配置
Neutron 服务重启后,经过 ovs-vsctl show 查看网络配置:plugin
br-int 与 br-tun 经过 patch port “patch-tun” 和 “br-tun” 链接。 目前网络结构以下所示:network
准备就绪,下一节咱们建立 vxlan 并部署 instance。