第五章 增加高可用灵活性(网络冗余)
在前面的章节中,我们不仅介绍了当隔离响应触发时的隔离检测,还介绍了误报的影响。当隔离响应设置为“关闭电源“或者“关机”时,主机变成隔离状态,HA将重新启动主机上的虚拟机。但是,这也意味着没有适当的冗余性。隔离响应也许没有必要触发,而造成停机时间应该可以被预防。
为了提高网络的灵活性,VMware在虚拟化层为VMkernel和虚拟机网络设计了网卡绑定的概念,当讨论HA,它对于管理网络来说特别重要。
引用
端口组是几个物理网卡组成的一个单一的逻辑网卡,可用于网络容错和负载均衡。
使用这个机制,它可以增加管理网络的冗余性,降低隔离事件发生的机会,当然,也可以为其它的端口组提供冗余,但这不是本章的主题。另一个选择是配置一个额外的管理网络,在另一个VMkernel端口上启用管理网络,有一个事实是,如果多个VMkernel在同一个子网,HA将会使用所有的端口来管理流量,即使只指定一个用于管理!
虽然有很多配置和支持,我们建议了一个简单但具有高度弹性的配置。在我们的例子将包括vMotion,当把vMotion和管理网络结合到一个虚拟交换机是非常通用的配置,也是业内接收的最佳实践。
需求
2个物理网卡
VLAN trunking
建议
2个物理交换机
如果可以,开启“链路状态跟踪”功能,确保链路发生故障时发出报告
虚拟交换机配置如下
vSwitch 0: 2个物理网卡(vmnic0 和 vmnic 1)
2个端口组(管理网和vMotion)
管理网vmnic 0 active /vmnic 1 standy
vMotion vmnic 1 active / vmnic 0 standy
故障恢复设置为否
每个端口组标记一个vlan ID,在自己的专有网卡上运行,只有在发生故障的情况下,才切换到备用网卡,我们强烈建议故障恢复设置为否,这样可以避免不必要的孤立事件,当物理交换机启动时路径上没有流量,但是端口组被报告为“up”,这样就会发生孤立事件。
优点:
管理网络和vMotion只需要2个网卡,在刀片环境中尤其重要,且易于配置
缺点
只有一个单一的活动路径的心跳
接下来描述active/standy这种场景
图24:管理网络的active-standy设计
为了增加弹性,我们还建议实施中在高级选项下设置网卡端口使用不同的PCI总线—最好是不同品牌不同型号的网卡,当使用不同的网卡时,甚至可以减少网卡发生的驱动故障。
高级设置
das.isolationaddressX = <ip-address>
隔离地址的设置在第4章详细讨论,总之,如果主机在网络中没有收到其他的心跳而造成隔离,它是HA代理ping该地址来确认身份的,如果多个VMkernel的网络被用在不同的子网,我们建议每一个子网设置一个隔离地址,这样每一个都能够验证主机的身份。
基本设计原则
利用vSphere提供的端口组功能,结合不同的物理网卡可以增加整体解决方案的弹性。
链路状态跟踪
这已经在列表中有提到过,但它的功能不是我们要强调的地方,我们已经注意到,人们往往忘记这个功能,尽管许多交换机都提供这种能力,尤其在刀片服务器的环境中。
链路状态跟踪将反应上行链路与下行链路的状态,让我们看下图
图25:链路状态跟踪原理
图25描述了这样一个场景,一台核心交换机的上行发生故障,如果没有开启链路状态跟踪,边界交换机到vmnic 0的连接会被通告为“up”,而开启了链路状态跟踪,边界交换机将会反应链路状态给核心交换机,并标记为“down”,你可能想知道为什么这如此重要,但你仔细想想,许多vSphere的功能发起依赖于网络,虚拟机也同样依赖,如果状态信息没有反应,许多功能可能会失效,举个例子,上图中如果流量必须经过核心交换机,那么网络心跳就会失败,我们称这种情况为“黑洞”:主机由于相信链路状态正常,它把流量发送到链路,但是上行链路出现故障,流量永远都到不了目的地址。
基本设计原则
了解您的网络环境,同网络管理员交谈,确保像链路状态跟踪等高级的功能被开通使用,以增加架构的弹性。