何为高可用性?是指在规定的条件和规定的时刻或时间区间内,数据中心处于可执行规定功能状态的能力,它是数据中心可靠性、可维修性及可维护性的综合体现,一般用MTBF(mean time between failure)和MTTR(mean time to repair)两个可量化的参数衡量。容灾就是容忍灾难,即在灾难袭来时从容不迫,应付自如。对于数据中心来说,容灾就是使一个数据中心具有应对一定灾难袭击,保持系统持续或不间断运行的能力。这些灾难包括天灾(水灾、火灾、地震、龙卷风、海啸、环境恶化)和人祸(操作失误、程序缺陷、软件错误或故障、硬件老化或次品、蓄意破坏、病毒、黑客攻击、恐怖袭击、战争)。衡量一个数据中心的高可用性以及容灾的水平,应该考虑三方面的内容。
灵活的流量管控
数据流量是数据中心的生命线,一旦流量转发不了或者有缺失对应用肯定会有影响,所以数据中心一定要保证数据不能丢失。然而,数据中心拥有的各种设备成千上万,不可避免会出这样那样的问题,要保证数据流量不受影响,就需要对流量进行灵活管控。首先要对数据流量进行监控,实时监测网络重要端口数据流量的变化,当出现明显的波动时要引起高度注意;其次要有管控手段,当出现流量异常时,通过调整网络路由或者网络聚合端口路径,避开问题链路和转发路由表,让应用业务不受影响。很多的数据中心会考虑在网络侧做转发路径的负载分担或者备份,当其中的部分数据链路出问题时,及时切换;最后是严格过滤数据流量,避免异常流量入侵,对数据中心造成攻击。很多的病毒攻击都是通过异常流量进入数据中心内部的,最终造成系统的瘫痪,所以在数据中心的入口要做严格管控,从网络协议的数据链路层直到应用会话层均要做防御,通过防火墙、网络设备、入侵检测等设备,将异常流量拒之门外。所有这些灵活的流量管控方法,将大大提升数据中心的高可用性。
单元化的业务部署
传统数据中心业务量少,往往通过一个数据机房的数十台服务器和存储设备就可以搞定,系统一旦出现故障,很多数据也就可能丢失了。然而,现在随着信息数据对人们的工作和生活变得至关重要,数据信息变得异常珍贵。数据中心动不动就将很多数据丢失或者泄露的话是没法玩的,迟早关门大吉。而且,现在的数据增长飞快,海量的数据需要及时处理和保存,不能出差错,这时就要从数据层面考虑如何部署。数据中心引入了单元化的设计思想,即将一种数据业务进行细分,形成一个个的单元,这个单元往往处于一个数据中心之内,而具有相同数据的单元处于其它机房或数据中心中,单元之间的数据通过实时交互,保持数据准确性。数据中心进行单元化业务部署之后,应用系统实际上在多个数据中心上都在运行,数据被存放到各个数据中心内,在每个数据中心内部到处也都是单元化的功能模块,相互之间耦合的地方很少,这样同样可以大幅提升数据中心的高可用性。
故障容忍能力
数据中心对业务故障的容忍能力决定了数据中心的建设等级,要求数据中心全年故障时间越短的数据中心等级越高。提升一个数据中心的故障容忍度,将是数据中心容灾高能力的体现。数据中心可以在三个地方做容灾:一个是数据中心内部。数据中心内部在服务器、网络、存储方面做各种冗余设计,达到容灾目的,当其中某个环节出现故障,自动进行业务切换,确保业务层面不受影响,当将故障排除后,再将业务切回。第二个是同城的数据中心。有些时候数据中心遇到的可能是整体性的故障,比如供电中断或者空调故障等,导致整个数据中心无法稳定运行,这时就可以将业务通过调整路由,转移到同城的数据中心上。在同城的数据中心里有故障之前备份过来的数据,有相同的应用软件提供,同城数据中心直接接管系统,向外提供服务。第三是异地数据中心。有些时候故障可能是全城的范围,比如遇到了极端天气,比如地震、海啸、洪水、飓风等等,这些灾害将对某个地区的数据中心都造成影响,多个数据中心都可能陷入瘫痪之中,这时通过异地数据中心做灾备最安全。不过,由于数据中心在异地,有的设计为了安全,距离可达数万公里,这样网络延迟对业务就会产生影响,所以做异地灾备时,要将延迟时间考虑进去。比如一些数据库数据做异地复制,可忍受的时效性延迟是3秒。在做异地灾备时,就要考虑延迟时间是否满足。通过在数据中心内部,同城和异地都部署备份,这将大大提升数据中心的容灾水平。
数据中心通过以上三方面的建设和优化,将可大幅提升数据中心的高可用性及容灾水平,这是提升数据中心等级水平的最有效方式。