Openstack J版DVR搭建流程(RDO)
作者: sina微博@北京-小武,欢迎转载,转载请注明作者和个人信息,否则追究其版权责任。
提示: 本步骤只确保最终可以实现,可能中间有冗余步骤,有任何问题欢迎随时讨论,
个人邮箱night_elf1020@163.com,个人博客http://blog.csdn.net/night_elf_1020地址
搭建过程比较简单(https://wiki.openstack.org/wiki/Neutron/DVR/HowTo):
1. Rdo装整个openstack系统,主要需要在answer file里讲每个节点都做网络节点配置,使
用ML2的Vxlan隔离;
最近因为rdo的answer file文件没有了tunnel range的配置选项(CONFIG_NEUTRON_OVS_TUNNEL_RANGE,暂时不清楚原因),需要手工编辑vi /etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini添加
(在local_ip =172.168.10.250 后面配置即可:)
vxlan_udp_port=4789
tunnel_type=vxlan
tunnel_id_ranges=1:1000
tenant_network_type=vxlan
br-tun和对应端口的配置文件无需编辑,只需要编辑br-ex和对应端口的配置文件即可!
关闭ethtool -K ens34 tso off
ethtool -K ens34 sg off
ethtool -K ens34 gso off
ethtool -K ens34 gro off
ethtool -K ethX tso off lro off gro off gso off
2. 安装完毕后,配置主网络节点(或和控制节点在一个服务器里);
a) 将每个节点的/etc/neutron/neutron.conf里 router_distributed = True,
dhcp_agents_per_network = 计算节点+网络节点数;
b) 将每个节点的/etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini的如下设置打开:
enable_distributed_routing = True
l2_population = True
tunnel_types = vxlan
//arp_responder = True
c)将计算节点的/etc/neutron/l3_agent.ini里的agent_mode = dvr;网络节点的设置为
dvr_snat;每种不同的含义解释为:
legacy: this preserves the existing behavior where the L3 agent is deployed on a centralized
networking node to provide L3 services like DNAT, and SNAT. Use this mode if
you do not want to adopt DVR.
dvr: this mode enables DVR functionality, and must be used for an L3 agent that runs on
a compute host.
dvr_snat: this enables centralized SNAT support in conjunction with DVR. This mode must
be used for an L3 agent running on a centralized node (or in single-host deployments,
e.g. devstack).
d) 网络节点和控制节点的/etc/neutron/plugins/ml2/ml2_conf.ini中
mechanism_drivers =openvswitch,l2population
3. 按照原来的网络配置方式配置网络,然后重启所有服务器;
4. 配置好后,创建镜像、网络和路由器,以及虚拟机;可以看到如下类型的拓扑显示:
5. 网络节点(该称为特指不具有计算节点属性的网络接地)的用户名空间:
计算节点:
6. 下面可以分析不同类型流量的流程了:同路由东西方向(跨计算节点服务器):不同路由东西方向(跨路由器):南北方向及带有浮动IP南北方向流量。