• 快捷搜索
  • 全站搜索

商业银行数据库集群网络配置实践

2017-11-29 15:40:06作者:中国光大银行信息科技部 王志刚 李刚编辑:金融咨询网
高可用、可扩展的数据库集群不同于传统的数据库主备部署方式。如果配置得当,数据库集群可以提高整体可用性,并增强系统的扩展能力;如配置不当,反而会影响运行效率,乃至降低整个数据库系统可用性。

高可用、可扩展的数据库集群不同于传统的数据库主备部署方式。如果配置得当,数据库集群可以提高整体可用性,并增强系统的扩展能力;如配置不当,反而会影响运行效率,乃至降低整个数据库系统可用性。无论是共享存储(Share Disk)架构集群、非共享(Share Nothing)架构集群、或是通过数据库交易日志复制实现的读写分离集群,确保数据库集群稳定高效运行的关键是正确地配置集群的内部通信网络。

集群内部通信网络
  
  集群内部通信网络并非传统意义上的集群心跳线。在数据库集群系统中,内部通信网络承担着传输“集群消息”与“同步数据”双重任务,因此更像一个I/O系统的网络,需要高可靠、低时延、高带宽的传输通路来保证其效率和可用性。
  
  今天,随着网络技术的发展,越来越多的数据库集群选择让内部通信网运行在“共享网络”的环境下,而不是为其配置专用的网络设备。所谓“共享网络”,是指在交换机、网卡等网络设备组成通路中,除了传输数据库集群内部通信流量之外,还会传输其他网络流量,这些流量可能来自其他数据库、中间件、应用、存储、备份等等。共享网络在提高网络设备使用效率的同时,不同类型的网络流量可能互相影响,因此在配置时,需要特别注意。

内部通信网时延和带宽需求
  
  集群内部通信网络对时延(Latency)的要求比较明确,而对带宽(Bandwidth)需求的预估则相对困难。但是,无论是时延还是带宽,都受到应用类型、传输机制、硬件以及数据库自身处理效率等因素的影响。
  
  集群内部通信网络的消息处理时延如果超过一定的阈值,将导致节点剔除和集群重组。不同类型的数据库集群对网络时延阈值都有明确要求,例如:RAC数据库集群缺省的内部通信网络超时缺省阈值为30秒。
  
  在带宽方面,集群内部通信网可以使用千兆、万兆或InfiniBand网卡,并通过链路聚合来实现高可用和负载均衡。但是,各种带宽计算公式只能提供一个相对粗粒度的需求预估,实际带宽占用则与集群在生产环境的工作特性有关。例如:千兆网的满载负荷工作带宽大约是物理带宽上限的80%~90%,在更高负荷下就可能开始丢包。针对任何一种应用场景或特定业务压力,需要我们仔细考察其内部通信网络的流量规律、峰值变化、网络拥塞、以及可能的丢包现象。

VLAN和集群内部通信网
  
  划分VLAN是隔离广播域和组播域的最常用方法,它可以将不在同一物理范围内的主机逻辑上部署在同一子网。配置VLAN时,服务器上的网卡通常采用Access的方式接入网络,当集群中VLAN需要跨越多台网络设备,则可以在数据帧中打上VLAN lD标记。当然,也可以在服务器网卡上打上tag标记后接入交换机,组建Trunk链路。
  
  在数据库集群通信的网络中,使用VLAN对网络进行逻辑隔离时候需注意以下事项。
  
  1.二层接入。服务器必须通过网络二层方式接入到集群内部通信网络。简单地说,只要集群内服务器网卡连接到同一广播域内,我们就可以认为服务器是相邻的。集群数据库通常要求集群中的所有服务器直接连接到接入层交换机或冗余交换机。
  
  2.生成树。生成树协议(STP)的基本功能是防止环路和广播泛洪,并支持在网络设计中提供自动备份的冗余链路,如果主链路发生故障中断,不会造成潜在环路,也不需要管理员手动启用网络中的备份链接。但是,当网络中的交换机或路由器发现故障时,生成树会检测到网络拓扑变化并通告到整个网络。这种事件会在网络中泛洪,并且可能会阻碍网络中所有设备的数据包处理,包括数据库集群内部通信的数据包,严重时造成数据库性能下降甚至服务中断。
  
  生成树事件包括关闭STP协议、通过配置PortFast进行的接口快速收敛、RootGuard根桥保护以及启用BPDU过滤功能等。需要注意,STP收敛的时间必须在数据库集群规定的心跳阈值内。
  
  注意:默认情况下,生成树在每一个端口上运行。通常,生成树协议不能在交换机接口关闭,但可以基于VLAN范围关闭,或在交换机上全局关闭。
  
  3.VLAN裁剪。通过在服务器网卡打上VLAN Tag,使得VLAN扩展到接入交换机和上游汇聚及核心交换机。但是,对于数据库集群内部通信心跳VLAN,不建议全网打通。通过配置VLAN裁剪可以有效避免私有VLAN内的广播和组播流量泛洪到接入层以外的地方。

  如图1所示,用于传输对外服务流量的共有VLAN 10通过Trunk方式接入到核心交换机上,用于传输内部通信流量的私有VLAN 11则不传播到核心或汇聚交换机。图中内部通信VLAN 11在接入交换机之间打了标记,但不在上联汇聚层交换机的Trunk口中,从而过滤掉了内部通信VLAN。

图片1.jpg
图1 VLAN配置、2层接入和Trunk

  4.网络整合。根据我行的部署经验,为了避免性能、安全和可用性方面的隐患,网络流量的整合,尤其是生产环境的网络流量整合,最好限于性能要求和可靠性要求相似的流量。例如对外服务流量整合,内部网络通信流量整合或备份流量整合。
  
  5.过载。以太网环境中的传输往往存在流量突发,所以网络设计时也会考虑过载比。在网络部署配置尤其是在计算网络边缘容量时,经常需要计算过载比。在共享网络环境中,例如交换机共享、接口共享、网卡共享和网段共享时,需要仔细计算数据库集群内部通信流量的利用率、利用率变化趋势曲线及网络性能。网络流量瞬间过载可能影响甚微,但持续的过载则会导致集群性能的下降,进而有可能影响数据库性能,最终导致业务中断。

我行部署实践
  
  根据数据库集群部署需求,经过DBA、系统、网络工程师共同研究分析,我行制订了数据库集群网络交换机配置相关规范,其重点内容如下。
  
  首先,服务器网卡为双网卡主备绑定模式,按照常规的方式进行接入,一个数据中心内每套数据库集群尽量接入到同一组接入交换机上,并且做好相关接口配置描述,如标明数据库集群名称、私有lP地址等特定标识。
  
  数据库服务器集群内部通信地址统一规划分配,使用192.168私有地址段,避免对服务器业务网卡通讯造成影响。
  
  针对我行同城双数据中心并行运行的情况,每个机房为集群系统分配独立的内部通信VLAN,所有VLAN在同一个数据中心交换机上都进行配置,VLAN描述命名方式为DBCL_XXXX_YY(其中XXXX为系统名称缩写、YY表示机房模块代码),如图2所示。

图片2.jpg
图2 光大银行数据库集群内部通信网络部署架构

(文章来源:金融电子化杂志)

扫码即可手机
阅读转发此文

本文评论

相关文章