上周微软曾承认Windows Live Hotmail出现故障,导致用户邮箱被完全清空并且声称该问题已经解决。日前,微软详细解释了Hotmail故障的始末,并100%恢复了丢失数据。微软Hotmail团队Mike Schackwitz解释说:“Hotmail服务器健康度监控中有一种方式是通过自动化测试进行的。我们创建一些不同配置的帐号,然后使用自动化测试进行记录这些帐号,让它们模拟正常用户活动和行为,系统会在遇到错误时告警。我们通过脚本批量创建和删除这些测试帐号,而删除测试帐号的方式是从一组将用户和新邮件指向正确邮箱地址的目录服务器中删除它的记录。
在12月30日,我们的一个脚本代码意外地将部分真实用户的帐号与测试帐号一并从目录服务器上删除了。但那些受影响用户的邮件和文件夹实际上是没有 被删除的,只是他们指向正确邮箱的位置的记录被删除了。当这些用户登录后,系统(因找不到邮箱位置)自动为他们创建了新的邮箱,而新的存储服务器是不包括 他们之前的邮件和文件夹的。这也就是为什么这些帐号收到了‘欢迎使用 Hotmail’的初始邮件。”
随后的1月1日,不断有用户向微软报告这个问题,微软因此开始重视该问题,并且与当晚查清了故障根源。“我们***步是恢复这些用户在目录服务器上的 记录项(1月2日早晨),然后又合并了故障发生之初至1月1日早晨之间的新邮件与旧的邮件。这个过程需要多次执行才能获得所有的帐号和对应的邮件,对于一 些用户来说,直到5日才完全恢复。我们在1 月2日完成了16035个帐号的合并,并在5日完成了剩下1320名用户的合并。”
编辑提醒:这件事情再次说明了,运维工程师们对线上环境的脚本一定要慎之又慎!
【编辑推荐】