做好冗余备份,从容应对故障
数据中心要做备份系统是老生常谈了,重要性不言而喻。数据中心是由成千上万台电子设备组成的,这些设备难免运行中出现这样那样的问题,系统具备冗余备份非常重要。比如一个拥有上万台服务器的数据,几乎每天可能都有服务器损坏,要保证系统的运行不受影响,必须做备份,当一台服务器故障时,其它服务器可以自动接管,业务不受任何影响。
不过,要将数据中心从头到脚整个系统都做好备份谈何容易,不仅仅是要投入大量资金,还要投入人力去维护,耗费的精力往往让绝大部分的数据中心望而却步,所以数据中心往往在部分设备、部分系统上实现了冗余备份,故障时业务能平滑切换。
就在上个月底,阿里云发生了一次较大规模、较长时间的故障,很快在网上引发了热议,很多的云用户业务全部中断一小时,带来了很大损失。且不论原因如何,至少阿里云业务自身并未做好备份。当发现故障后,并没有及时将业务切换到备份系统中,或者备份系统就是缺失的。现在的云全天候都有业务,时刻不能停歇,这给数据中心提出了极大挑战,让成千上万台设备上跑的业务一直正常,异常的时候还可以自动自愈,这需要大量的技术来保障,如果系统设计的不够好,往往就会出问题。
要保证数据中心业务不中断,只有采用冗余备份技术一条路可走,并将备份技术渗透到数据中心的每个环节才行,确保任何一个环节故障,系统业务都能正常运转。这就好比一架飞机,飞机的发动机、机翼、通风系统等等都有备份,以便在发生故障时,飞机使用备用系统,也能够保持继续正常飞行,这样的设计使得飞机成为世界上最安全的设备,是冗余备份做的最好的系统。与飞机相比,数据中心的复杂性更高,零部件和设备数量更多,要做好整个系统的冗余备份就更加困难。
做数据中心备份对资金的需求量很大,最简单的冗余备份就是再建一个灾备数据中心或者重要设备都有冗余备份,显然这样会使得数据中心的支出大幅增加,原来需要10个亿,考虑到各个环节甚至整个数据中心做备份,就需要20个亿甚至更多,但这样的投入并不能将收入提升一倍,这也是很多数据中心投入过多的原因。
灾备数据中心往往都是一些金融银行这些完全不差钱的金主才会去建设,灾备数据中心可以在一个数据中心发生故障时,将业务整体切换到灾备数据中心,平时灾备数据中心完全是陪太子读书,不去承载任何业务,但还是要正常维护。所以,这样建设和后期运维投入资金都是蛮大的。如果做不到数据中心的备份,那就对核心设备和业务做备份,当核心设备故障时,可以直接将业务切换到备份设备来继续运行,保证数据中心业务不受影响。这就要根据数据中心的资金情况,有选择地去选择冗余备份的设备和系统,尽可能用最少的钱做更加完备的冗余。
除了资金,引入冗余备份的技术亦十分重要。当主用设备或系统故障时,能否感知到并平滑切换到备用系统,这也是需要很多技术保证的,否则备份设备和系统依然形同虚设。如果不能自动检测和切换,采用手工切换也是一种办法,总之要保证主用系统出故障时,业务能平滑切换到备份系统上,这样的冗余备份才是有效的。
还有除了设备备份,从技术角度出发,也可以达到冗余备份的效果,比如网络层面部署等价路由,服务器部署集群和虚拟机,当路由出问题时,流量可以切换到其它网络链路上,当虚拟机出问题时,可以自动迁移到正常的服务器上运行,通过引入备份技术来减少设备资金上的投入。不过,也要注意,不要引入过多的冗余技术,这样会使得整个系统运行低效,而且设计过于复杂后,非常不便于运维,出了问题排查起来非常困难,一旦主用系统故障后无法切换到备用系统,排查和恢复业务可能会无从下手,反而造成业务更长时间的中断,如此得不偿失。
所以,部署一些冗余备份技术是必要的,但不要过于复杂,不需要那些看着高大上的技术,要简单有效,主备自动切换自如。现在的数据中心,云计算、软件定义等新技术盛行,这极大地增加了系统复杂度,若引入过多备份技术,系统复杂度将呈几何指数型增加,反倒不利于数据中心业务稳定。
当然并不能因为困难,就不做备份。现在的数据中心,如果不做任何的业务备份,是无法承载任何重要业务的,尤其是互联网业务,已经不由地我们去拒绝,如果数据中心反复频繁出现业务中断,给客户的业务带来损失,在如今信息传递高度发达的今天,负面影响会迅速扩散,很快会让数据中心流失大量客户,最终无法继续运营下去。现在的数据中心,需要全天候24小时都在运转,一刻也不能停歇,不允许有半点中断。比如像阿里云、腾讯云都要和客户签订协议,一旦由于故障引发的业务中断,要做出相应赔偿,若总是中断,赔偿都赔不起了。
我们一定要重视数据中心的业务冗余备份,从设备、网络、业务、系统等方方面面都要考虑冗余,以便在遇到故障时,从容应对,在用户无感知的情况下,处理掉故障。谁也无法预知未来在什么时刻会发生什么样的故障,也许当我们建好备份数据中心后,主用数据中心一次也没有出过大型故障,但也可能在我们没有做备份数据中心时,数据中心发生了致命的无法修复故障,又有谁敢去赌呢?还是乖乖地将冗余备份系统做好吧,虽然要多花费些资金和人力,但值得。