一种Neutron拓扑结构

在生产环境部署了一套Openstack测试平台,使用Havana版本,网络由Neutron管理,网络插件是OpenVSwitch,传输模式是GRE Tunnel。云环境的网络地址如下:

外网IP段:58.215.xx.0/24

内网IP段:10.21.144.0/24

每台服务器有2块网卡,eth0是外网,eth1是内网。

与云环境隔离的生产环境的网络地址如下:

外网IP段:58.215.xx.0/24

内网IP端:10.20.165.0/24

云环境与生产环境的内网通过三层交换机连接起来。在三层交换机上,设置好2个内网段的路由规则。我们设置为2个网段的IP可以直接通信。交换机上绑定的Gateway地址是:

GW1: 10.21.144.1

GW2: 10.20.165.1

在测试环境里,使用内网IP段作为虚拟机的Floating IP,此时虚拟网络桥接在eth1上。在正式环境里,Floating IP一般是公网IP。

虚拟机的网络地址:

Fixed IP: 10.21.145.0/24

Floating IP: 10.21.144.xx – 10.21.144.xx  (起止范围自己指定)

需求一:虚拟机可以访问互联网

我们的内网并没有出口网关,此时需要配置一台Linux服务器来充当网关。这里在Neutron Controller服务器上,运行如下命令配置一个NAT网关:

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

然后,在neutron创建external虚拟子网时,指定如下参数:

–gateway=10.21.144.5

10.21.144.5是Neutron Controller的内网地址。

需求二:虚拟机可以与生产环境的内网互通

除了三层交换机上配置好路由外,在生产服务器上添加如下自定义路由:

route add -net 10.21.144.0/24 gw 10.20.165.1

在neutron创建external虚拟子网时,指定如下参数:

destination=10.20.165.0/24,nexthop=10.21.144.1

10.21.144.1是交换机上的GW地址。

需求三:网络性能

期望虚拟网络之间、虚拟网络与物理子网之间、虚拟网络与外部互联网之间的传输速率越高越好。我们做了许多性能测试,并不断优化配置,结果是这3者之间的传输速率可以达到900Mbps左右(物理网络是千兆)。

优化的配置至少包括:

  • 在Neutron Controller的eth0、eth1上都关闭GRO(用ethtool工具)
  • 设置VM网卡的MTU为1400(在DHCP服务器指定)

最终的网络拓扑结构图如下,图中绿色线条表示物理网络,黄色线条是虚拟网络。点图放大查看。

Home

此条目发表在Common分类目录,贴了标签。将固定链接加入收藏夹。