【openstack】openstack网络详解(Essex版)

本文详细介绍了OpenStack的FlatDHCP和VLAN网络模式。FlatDHCP模式下,每个运行nova-network的节点是一个独立的网络,缺点是单节点故障和无二层隔离。为了克服这些缺点,文章讨论了多种HA方案,包括Multi-host模式。在VLAN模式中,网络与租户关联,每个租户拥有独立的固定IP段,增加了网络隔离。文中还探讨了多nova-network主机部署的VLAN模式下的通信流程及配置细节。此外,文章还介绍了浮动IP的分配、变化及通信流程,强调了网络配置的重要性及其潜在风险。
摘要由CSDN通过智能技术生成

openstack网络详解

声明:

本博客欢迎转发,但请保留原作者信息!

新浪微博:@孔令贤HW

博客地址:http://blog.csdn.net/lynn_kong

内容系本人学习、研究和总结,如有雷同,实属荣幸!



这篇文章基本是参考了 http://www.mirantis.com/blog/的几篇英文blog,进过翻译和整理,详细介绍了openstack Essex版的网络模型,虽然在Folsom版启动了Quantum,但并不成熟,如果是部署中没有用到网络高级特性,建议大家还是使用nova-network。

1      Flat

Flat模式和FlatDHCP模式其实区别不大,都是基于网桥网络,只是FLat模式需要管理员手动配置(包括配置网桥和外部的DHCP设备).



 

2      FlatDHCP

这种模式下与Flat模式不同的地方在于有一个DHCP进程,每一个运行nova-network进程的节点(网络控制节点/nove-network主机)就是一个单独的网络。Nova会在nove-network主机建立网桥(默认名称br100,配置项flat_network_bridge=br100),并给该网桥指定该网络的网关IP,同时Nova在网桥处起一个DHCP进程,最后,会建立iptables规则(SNAT/DNAT)使虚拟机能够与外界通信,同时与一个metadata服务器通信以取得cloud内的信息。

计算节点负责创建对应节点的网桥,此时的计算节点网卡可以不需要IP地址,因为网桥把虚拟机与nove-network主机连接在一个逻辑网络内。虚拟机启动时会发送dhcpdiscover以获取IP地址。如下图:



 

      图中的虚线(两个计算节点的eth0)表示节点之间的网络,可选。虚拟机通往外界的数据都要通过nove-network主机,DHCP在网桥处监听,分配fixed_range指定的IP段。

2.1    Drawback

这种部署方式的缺点之前说过----单节点故障、无二层隔离(即所有的虚拟机都在一个广播域)。

2.2    HA方案

为了解决单节点故障问题,有如下几个方案可供选择:

Ø  Option 1: Failover

NTT实验室的工作人员通过配置网络控制节点使用主备模式实现HA,但宕机需要4秒的时间恢复,不能用于实时应用

Ø  Option 2: Multi-nic

这种模式使虚拟机桥接到不同的网络,每个网络中为虚拟机创建网卡、指定IP,每个网络可以有自己的nove-network主机作为网关。虚拟机可能会有多个路由,如果一个失败,可以选择使用另一个,该方式的缺点是对于用户来说,需要感知多个网络,同时指定切换策略。同时,必须为每一个网卡关联floating_ip。

Ø  Option 3: HW Gateway

可以配置dnsmasq使用外部硬件网关作为虚拟机网关。可以配置dhcpoption=3,<ip of gateway>。这需要人工干预,即需要在外部网关设备上设置IP的转发规则(而不是在nove-network主机).该方式把HA的任务交给更可靠的硬件设备,但nova-network仍需要负责floating_ip natting和DHCP,所以仍需要主备策略保证。

Ø  Option 4: Multi-host

该方式被认为是最佳的解决方案。即在每个计算节点上部署nova-network,这样每个计算节点为自己主机上的虚拟机负责,为每个计算节点创建网桥并为网桥指定不同的IP(从fixed_ip中取)作为虚拟机网关,在每个主机起DHCP服务,同时要求每个计算节点至少两个物理网卡,每个计算节点负责自己的虚拟机与外网的通信。如下图:



 

      在每个计算节点:

«  从“flat”IP池中取出一个给网桥

«  创建dnsmasq DHCP服务并在网桥IP监听

«  在该节点上创建的所有虚拟机的默认网关为网桥IP



 

      FlatDHCPManager在每个计算节点上创建一个静态的租约文件记录虚拟机的私有IP,文件的数据是从DB中获取,包括MAC、IP、虚拟机名。每个dnsmasq只负责为本节点的虚拟机发放IP,所以从”instance”表的”host”字段过滤即可。如下图所示,每个计算节点的虚拟机都有一个默认网关:



 

登录虚拟机查看验证:

root@vm_1:~# route -n

Kernel IP routing table

Destination    Gateway     Genmask Flags Metric Ref Use Iface

0.0.0.0        10.0.0.1     0.0.0.0 UG     0   0   0 eth0

 

root@vm_3:~# route -n

Kernel IP routing table

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值