瑞典马工

老板,你的数据中心挂了

 近半年业界发生了各种机房故障,带来的业务影响实在有点大,我觉得迷恋于构建数字世界的人们都应该重新审视自己的建设思维。

一、数字世界的底层----物理基础环境,并不如你想象的稳定

1、2022年9月16日下午4时,长沙42层电信大楼火灾,楼内电信机房断电,附近居民电信信号中断或闪断。

Image

2、2022年12月18日,由于阿里云香港Region可用区C所在的电讯盈科机房冷却系统失效,包间温度逐渐升高,导致机房温度达到临界值触发消防系统喷淋,电源柜和多列机柜进水,服务器被动停机,机器硬件损坏,香港可用区C的ECS、EBS、OSS、RDS等云服务受影响。Image

3、2023年3月29日,广东省政务云东涌机房故障(路边社消息-发生火灾),导致广东省多政府部门公众号提醒:“因设备故障,今天服务暂停 ”

Image

Image

4、2023年3月29日凌晨,广州电信机房冷却系统故障,腾讯旗下的微信和QQ等业务曾出现崩溃状况,包括微信语音对话、朋友圈、微信支付,以及QQ文件传输、QQ空间和QQ邮箱在内的多个功能无法使用,故障持续时间数小时。

Image

二、数字世界的自身,也不如你想象那样能包容一切错误

1、依赖忽略

   根据已披露故障处理过程的2022年12月18日阿里云故障,“自定义镜像数据服务依赖可用区C的单AZ冗余版本的OSS服务”、“部分RDS实例依赖了部署在香港Region可用区C的代理服务”、“大量可用区C的客户在香港其他可用区新购ECS实例,从12月18日14:49开始,ECS管控服务触发限流,可用性最低跌至20%”的几个描述可知,各种潜在或被忽略的依赖导致故障影响面扩大,影响时间增长。而暂未揭露故障处理细节的政务云和腾讯云,根据其故障影响时间之长,影响服务类别之多,估计也存在各种未关注的依赖导致其影响面扩大。

2、时间不足

      像最近故障最多的制冷系统故障,随着现在服务器功率的大幅上升和PUE要求的不断提高,机柜密度大幅提升,进风和出风温度不断提升,导致机房的制冷量冗余度急剧下降,一旦发生制冷系统的全面瘫痪(如本次的阿里云和腾讯云),越新设计的机房可能升温速度就越快,导致服务器保护性宕机速度就越迅速,可能5-10分钟就大面积宕机。在此过程,一个机房内部署的所有服务能否在这么极短时间内完成切换,数字世界的建设者都需要反思是否具备此能力。即使阿里云香港机房可能由于是非新建机房,机柜密度不高,机房制冷量有一定冗余空间,但也在挣扎处理了N个小时后,仍未完整切换成功。
3、数据损坏

 长沙电信机房、东涌机房的火灾断电,阿里云的喷水宕机,都可能造成数据的损坏,而这些损坏,数字世界是否能容纳,并通过切换完成服务的持续提供?

三、数字世界建设的反思

1、敬畏墨菲定律

   墨菲定律原话:If there are two or more ways to do something, and one of those ways can result in a catastrophe, then someone will do it.(如果有两种或两种以上的方式去做某件事情,而其中一种选择方式将导致灾难,则必定有人会作出这种选择。)

   定律的根本内容就是“凡是可能出错的事有很大几率会出错”,作为数字世界建设者,不能将服务的可用性寄托在“不会有问题的”、“这种低概率事件怎么可能发生”的几率学,寄托在“我的设计没问题的”、“我们已经完全掌控”的盲目自信心,寄托在“风险可承受,ROI值得”的风险经济学上。毕竟发生几率是万一,但发生在你身上就一万了,君不见,阿里云故障后,组织架构调整了,腾讯云故障后,一堆高层被处罚了,而你,是否想成为那个“幸运儿”?

  数字世界建设者,请保有敬畏之心,具体可参见我的上一篇公众号文章《担心成为时代的阻碍者,不如避免成为公司的掘坟者》。

2、俯下身段,关注基础设施
   数字服务是由基础设施到硬件、到软件等各部分去全栈构建,其相辅相成,缺一不可,作为共同目标路上的队友,数字世界建设者不应在资源投入和人才投入厚此薄彼,目前看机房人员的收入就明显低于研发人员,而在基础设施的技术发展和变革上看,也是远落后于软件业的变革。希望国内大厂此类大量使用机房基础设施的巨头,能俯下身段,投放更多的资源,不只是追求机房基础设施的高效能比,也需要多关注基础设施的可靠性建设,并将产品运营的理念尝试应用到基础设施运维上,从而带领国内机房基础设施迈向一个更高的标准。
3、识别依赖、减少依赖
      依赖是将你拉入被动的绳索,而最可怕的就是隐形的绳索,所以你需要知道自己不知道,然后发现你未发现的依赖,持续评估你已知依赖的变化情况,包括但不仅限于物理依赖,服务依赖、数据依赖、组件依赖、人员依赖、供应商依赖甚至法规依赖,然后尽量的减少依赖,往双向依赖->单向依赖->取消依赖的依赖改进方向前进,那么你构建的数字世界将更加自如和可靠。
   另外,你依赖别人的同时,也可能成为别人的依赖。请设身处地、换位思考,当你是别人不可或缺的依赖时,请你尽力加强自己的健壮性。

4、举一反三、知识沉淀、全面落实

   看上去,最近这些机房故障自身都很严重和极端,那么导致了这些应用服务中断是否情有可原?当然每个故障均有其偶然性和特殊性,但如果你翻看历史,其实这些服务中断的故障都高度的似曾相识,是不是应该能举一反三,早有警醒,早加预防。
1、2016年阿里云香港的另一个机房(名气通2号数据中心)因断电已出现过长时间服务中断

Image

2、2010、2015腾讯电信机房也都出现过机房故障导致QQ等主要产品的服务异常。

Image

Image

   那么大厂们是不是没有任何能力和经验去处理这些事呢?感觉也不是。因为在腾讯云的官网上,我们是能发现是曾经有详细的数据中心制冷系统处理案例分享的:

Image

  如果这个经验有在腾讯各机房落实到位,3月29日的腾讯故障是否能避免或者减少故障影响呢?我不得而知。

结语:数字世界的建造者为社会提供了各种美好的数字服务,希望能多底线思维、多关注底层基础、多关注自身高可用设计、多投入、多积累、多应急演练,最终构建更稳定、更好的数字服务。