就在支付宝因为光纤线缆被挖断导致服务不可用没多久,2015年5月28日,携程网宕机了,所有动态页面都无法访问,首页指向一个404错误的静态页面,历时12个小时之后,故障得以排除,携程网站恢复正常。在此期间,部分用户被引导至携程近期收购的艺龙网。这是一个IT运维史上的大事件,该事件引起了广泛的争论,本不受重视的IT运维安全得到了前所未有的关注。
宕机原因分析
携程网出现故障后,网上就浮现了各种有技术有论证的故障原因,最先传出的消息是数据库的数据和备份被物理删除,其后传出各个节点的业务代码被删除,即便重新部署,部署后也因未知原因被立刻删除。也有分析说是工程师误操作,导致系统业务不可用。最后传出是内部离职员工对公司进行报复恶意破坏和黑客攻击所为。下面我们就分析一下这几种原因。
1.数据库物理删除说。这是第一个被传播的故障原因,用了一个普通用户比较熟悉的“物理删除”概念,以文件被删除恢复比较困难的常识来暗示,这个故障恢复起来需要较长的周期甚至于无法恢复。实际上,任何一个网站系统,尤其是携程这种量级的网站系统,其数据库的备份采用了多级备份:本地高可用备份、异地备份、磁带备份。而数据库的管理员、操作系统管理员、存储管理员三者的权限更是分离的,从理论上说,一个人很难拥有这么高的权限把所有的备份数据都删除。即便上海海事大学的校园一卡通数据库,都是分布在不同地点的三个备份拷贝,很难短时间内获取到三个地点的权限进行删除。所以说这个原因是站不住脚的。
2.内部员工破坏说。实际上鉴于国内刑法的威慑和携程网站的影响力,正常情况下人们都不可能冒如此大成本去人为删除或者破坏整个网站系统,而且也不可能有这么高的权限去删除或进行物理破坏。所以说,这个猜测也是不可靠的。
另外是黑客攻击说。黑客攻击一般不会去破坏被入侵系统,一旦系统被破坏了则失去了入侵的意义。而且攻击携程这种大型网站系统必然会引起携程报案通过法律途径解决,更给自己造成麻烦。因此黑客攻击说也是不可靠的。
最后,人们发现,其真实原因是:人为故障。5月29日,携程官方微博发布公告称:“经携程技术排查,确认此次事件是由于员工错误操作导致。由于携程涉及的业务、应用及服务繁多,验证应用与服务之间的功能是否正常运行,花了较长时间。”而且携程称已经在系统上做了改进,规范并杜绝技术人员错误删除生产服务器上代码的操作。
如有观点所述,大型网站,远不是把几台应用和数据库服务器凑在一起那么简单。看似很久都没有变化的一个网站,后台是一个由SOA(面向服务)架构组成的庞大服务器集群。在平时的运维过程中,对于常见的故障都会有应急预案。但像携程这次所有系统包括数据库都需要重新部署的极端情况,显然不可能在应急预案的范畴中。在仓促上阵应急的情况下,技术方案的评估和选择问题,不同技术岗位之间的管理协调问题,不同应用系统之间的耦合和依赖关系,还有很多平时欠下的技术债都集中爆发了,更不用说很多不常用的子系统,可能上线之后就没人动过,一时半会可能都找不到能处理的人。更要命的是,网站的核心系统,可能会依赖某个平时根本没人关注的应用,想绕开边缘应用只恢复核心业务都做不到。更别说在这样的高压之下,各种噪音和干扰很多,运维工程师的反应也没有平时灵敏。
特别声明:本站注明稿件来源为其他媒体的文/图等稿件均为转载稿,本站转载出于非商业性的教育和科研之目的,并不意味着赞同其观点或证实其内容的真实性。如转载稿涉及版权等问题,请作者在两周内速来电或来函联系。