浙江大学:基于智能故障转移策略的高可用DNS架构研究
针对当前高校DNS域名系统服务器单点故障、出口链路单点故障、流量无法负载均衡、扩展性能差等问题,在分析已有系统架构的基础上,提出了以基于智能故障转移策略为核心的高可用DNS集群架构,通过服务器负载均衡架构、链路故障实时转移等部署,实现基于DNS系统服务器与网络链路状态的统一处理,该设计方案在校园网实际部署中,能较大提高域名服务业务连续性与可用性,保障高校在线业务的稳定运行。
1、引言
DNS是互联网最重要的基础设施之一,其业务连续性和可用性影响了几乎所有的业务系统应用,国内大部分高校基于校内在线业务安全考虑自主建设DNS系统,但往往对DNS服务器自身的稳定性和互联出口网络缺少整体规划和应急响应措施,其中单点故障(SPOF)为最关键的风险之一,由于整体网络架构缺陷,使得其中一个故障导致整个业务及网络停止运行,从而对高校全校的在线办公系统和相关核心业务系统安全造成较大隐患。
2、高校DNS目前主要问题
单点架构(SPOF)普遍存在以下主要问题:
(1)非高可用:单个Master一旦发生故障或异常,服务就会受到影响。
(2)不可扩展:并行扩展性差,不能进行有效的可持续弹性扩容。
(3)性能瓶颈:服务性能有局限,单点的性能上限往往就是整个系统的性能上限
结合高校校园网实际情况,校内DNS建设与运维工作中存在两个主要安全与性能隐患:DNS实体服务器单点故障、递归链路单点故障。
2.1 服务器单点故障
在高校始建DNS初期,基本采用单台服务器架构,单点Master的设计,虽然会大大简化系统设计,但没有考虑HA高可用场景,随着学校业务复杂和师生用户量逐年增加,单台服务器往往无法满足实际需求,同时针对DNS安全漏洞的攻击也越来越多,同时增加了DNS服务器的流量过载和宕机风险,单台服务器如果物理损坏数据就丢了,同时业务也停顿了,一些高校可能会有备用服务器,但无法及时对生产服务器进行短时间切换,同样也会影响全校业务。
2.2 链路单点故障
在实践中实现高可用性时,计划外网络中断是高可用性系统的另一个可能的故障点,为可能的故障制定冗余网络策略非常重要。校内递归DNS服务器需要与出口网络联通以获取互联网域名数据,在与DNS服务器对接的学校出口网络出现故障情况下,单台DNS服务器往往无法及时发现并自行进行应急处理,导致全校师生用户的所有域名请求无法应答,影响校内业务正常运转。
3、基于智能故障转移的DNS架构
3.1 技术框架
基于高可用、可扩展、高性能等需求,构建了包含负载均衡层、缓存服务(权威服务)层、递归服务层、多出口链路层的多层次分布式的高可用DNS架构,负载均衡层与缓存服务(权威服务)层解决DNS实体服务器单点故障问题,递归服务层与多出口链路层解决DNS递归服务出口链路的单点故障问题,总体技术架构如图1。
图1 总体技术框架
3.2 基于LVS+KeepAlived的服务器故障转移
Keepalived基于VRRP协议来实现高可用解决方案,避免单点故障,至少需要两台服务器运行Keepalived,即一台为MASTER(主),另一台为BACKUP(备),但对外表现为一个VIP(虚拟IP),MASTER会发送特定消息给BACKUP,当BACKUP收不到该消息时,则认为MASTER故障了,BACKUP会接管虚拟IP,继续提供服务,从而保证了高可用性。从具体实践来讲,采用两台服务器可实现成本与功能精简可靠的LVS+Keepalived架构,两台服务器互为主备,通过心跳机制可主备角色互换,同时通过策略分摊DNS请求流量,解决了单点故障与流量负载均衡,技术架构如图2。
图2 LVS+KeepAlived双机负载均衡
两台Realserver(真实DNS服务器)互为热主备且共享同一个对外服务VIP(10.10.0.21),校内用户DNS请求都通过VIP(10.10.0.21)来访问负载均衡服务器集群,负载均衡服务器集群通过MASTER(10.10.0.22)或BACKUP(10.10.0.23)分摊DNS请求流量,同时将解析结果通过VIP返回给校内用户。
3.3基于实时状态监控的链路故障转移
递归DNS集群策略对递归链路进行实时健康监测,当某个校区递归链路出现故障,自动将导向故障区域的DNS流量转移到其他校区正常出口链路,当故障校区链路恢复正常,自动将用户请求流量回迁,要求故障智能处理时长不超过6秒钟,策略架构如图3。
图3 链路故障智能探测选路策略
在多台缓存实体DNS服务器中设置策略如下:
(1)每6秒钟探测目前默认使用的出口链路递归DNS服务器1,若返回状态正常,则维持默认优先链路1递归服务器不变;
(2)若目前默认优先链路1递归服务器返回状态异常,则根据预先设置的链路递归服务器列表(多链路递归DNS服务器列表可根据学校跨校区出口链路分布情况设置)探测链路2服务器状态,若链路2服务器返回正常,则自动更改缓存DNS服务器配置,将默认使用转发的递归服务器切换为链路2递归服务器。
(3)若链路2递归服务器返回状态异常,则继续探测链路3递归服务器,若链路3递归服务器返回正常,则自动更改缓存DNS服务器配置,将目前默认使用的递归服务器切换到链路3递归服务器。
(4)每台缓存DNS实体服务器均需实施以上设定策略。
4、结束语
DNS的稳定运行是校园网整体运行可靠性的关键之一,针对高校在DNS建设中可能存在的单点故障(SPOF)问题,部署基于LVS+KeepAlived的服务器负载均衡和基于实时状态监控的多链路冗余架构,实现DNS实体服务器的多机之间实时故障切换和多出口冗余递归链路状态的故障实时监控和智能链路切换,能有效提升校园网整体基础网络支撑系统的高可用性和可扩展性。
(作者:单康康,张华,王佶,洪波,徐锋,单位为浙江大学信息技术中心)
点图进专题>>2019高校信息化创新实践方案展示
本网站转载的文章版权归原文作者所有,如有侵权请联系我们删除。