位置:主页 > J滴生活 >揭开腾讯云数据遗失事件真相,官方还原人为失误全过程!

揭开腾讯云数据遗失事件真相,官方还原人为失误全过程!

揭开腾讯云数据遗失事件真相,官方还原人为失误全过程!
腾讯云网站截图

腾讯云官方微信公众号发了《关于客户「前沿数控」数据完整性受损的技术复盘》,对「数据遗失事件」全过程进行了还原。

「数据遗失事件」 指的是北京清博数控科技有限公司所属「前沿数控」平台一块作业系统云端硬碟发生故障,导致档案系统中介资料损坏此事件,而该公司购买的正是腾讯云的服务。

据了解,这是腾讯云继  8 月  6 日上午《关于用户「前沿数控」数据完整性受损及腾讯云补偿措施的说明》之后的第二次官方回应。此前声明见文章: 腾讯云回应「数据丢失事件 」

据观察,此次腾讯云发布的「复盘通知」主要有 4 点:

1、还原了故障过程

2、解释了故障原因

3、公布了改进措施

4、提出了客户建议

腾讯云指出,「前沿数控」平台数据遗失除了物理因素外,人为失误是重要原因,腾讯云为此做了深刻检讨:

复盘发现,该故障缘起于因磁盘 Silent error 导致的单备份数据错误,再加上数据迁移过程中的两次不规範的操作,导致云端硬碟的三备份安全机制失效,并最终导致客户数据完整性受损。

「前沿数控」平台数据丢失,发生在 2018 年  7 月  20 日,当天腾讯云维运人员是如何发现,又是如何尝试组织技术专家修复的呢?

还原故障过程及故障原因

且看腾讯云还原的全过程:
当天上午 11:57,我们的维运人员收到仓库 Ⅰ空间使用率过高告警,準备发起搬迁扩容;

在 14:05 时,维运人员从仓库 Ⅰ选择了一批云端硬碟搬迁至新数据库 Ⅱ,为了加速搬迁,手动关闭了迁移过程中的数据校验;

在 20:27 搬迁完成之后,维运人员将客户的云端硬碟访问切至数据库  Ⅱ,同时为了释放空间,对仓库 Ⅰ 中的原始 码 启动回收步骤;

到  20:30 监控发现仓库  Ⅱ 部分云端硬碟出现 IO 异常。

这个过程中涉及多次人为操作步骤,但「磁碟 Silent error 导致的单副本数据错误」此物理过程,维运人员是无法控制的,只有当中两次操作是出了「大问题」的:

第一是正常数据搬迁流程默认开启数据校验,开启之后可以有效发现并规避数据异常,保障搬迁数据正确性,但是维运人员为了加速完成搬迁任务, 违规关闭了数据校验。

第二是正常数据搬迁完成之后,源码数据库应保留  24 小时,用于搬迁异常情况下的数据恢复,但是运维人员为了尽快降低仓库使用率, 违规对源仓库进行了数据回收 。

腾讯云后续如何改进?降低人工干预、优化巡检机制

实际上,这件事给腾讯云带来了不小的公关负担,市场形象颇受影响。在复盘通知里,腾讯云诚恳地给出了一些加强和改进措施:

首先,我们将全面审视所有的数据流程,涉及数据安全的流程自动化闭环,进一步提升我们常规运维自动化和流程化,降低人工干预。同时把全流程的数据安全校验作为系统的常开功能,不允许被关闭。

其次,针对物理硬碟静态数据错误,在当前用户访问路径数据校验自癒的基础上,我们优化现有巡检机制,透过优先巡检主备份资料段、跳过近期用户访问过的正确资料段等方法,加速发现该类错误,进行数据修复。

公告最后,腾讯云提醒客户,实际上,腾讯云自  2016 年  3 月以来一直在提供免费的快照功能,可以对重要数据进行定期备份。同时出于对客户数据隐私性和安全性的考虑,客户可以自由选择开启或者不开启此免费功能。腾讯云呼吁客户开启此功能,进一步提升自身数据的安全性。

双方商量恢复营运方案:和解金额未透露,未公布责任员工名单

此前,「前沿数控」平台基于自身评估就此次故障对腾讯云提出了高达 11,016,000 元人民币的索赔要求,腾讯云认为这明显高于他们能够提供的方案,这也是此次双方此前未能达成一致的主要原因之一。

眼下,据腾讯云方面透露,他们正在「积极与前沿数控方商量恢复营运的方案」。

现在看来,关键的一点是,他们最终会达成多少金额的赔偿方案,先前腾讯云 14 万人民币的赔偿 +补偿方案遭拒,这次会是多少?

因为,这不是个案,后期其他云端厂商也会遇到类似的问题,市场都会关注腾讯云的处理方式。

值得注意的是,对于这次事件中误操作的工作人员,腾讯云没有点名,也没有公布处罚方式,预计已做内部处理。

何为磁盘 Silent Error?腾讯云两次公告都提及

腾讯云两次公告都提及一个原因:磁碟 Silent error。究竟这是什幺类型的错误?元兇是什幺?

Martin Petersen 和 Sonny Singh 在书中曾指出,数据损坏经常发生在写入磁碟驱动器的时候。磁碟驱动器损坏有两种基本类型:

第一种是潜在扇区错误,通常由物理磁碟驱动器故障导致。例如,磁碟阵列报告的档案系统读取错误。这种类型的损坏通常由 I/O 路径中的错误更正码 或循环冗余校验检测到,常常会自动纠正。

第二种是静态数据损坏,可在没有警告的情况下发生,可以定义为组件故障或管理操作疏忽所导致的非恶意数据遗失。静态数据损坏发生在读取或写入无效数据时,不会导致 I/O 操作失败。这种类型的损坏是最具灾难性的,如果没有端到端的数据完整性检查,是没有有效的方法来检测它的。

使用虚拟伺服器和多核处理器,会增大故障储存单元导致错误的可能。如果在应用程序或数据中心工作人员不知情的情况下发生这样的错误,就称为静态数据损坏。儘管静态数据损坏相对比较少见,但它可能长时间不被发现,从而导致代价高昂的关键业务功能无法使用的损失。

导致静态数据损坏的常见元兇包括:

1、作业系统,包括核心操作系统和设备驱动程式

2、储存硬体和韧体

3、管理错误

那幺「静态数据损坏」发生的机率有多少呢?

《Silent data corruption in SATA arrays: A solution -- Josh Eddy August 2008》一书曾对 silent error 进行了解释。该文提供了一组数据:

一项针对 NetApp 数据库中 150 万个硬碟驱动器的学术研究在  32 个月内发现, 8.5%的 SATA 磁碟会产生静态损坏。某些磁碟阵列运行后台进程,以验证数据和 RAID奇偶校验是否匹配,并且可以捕获这些类型的错误。然而,该研究还发现,后台验证过程中错过了 13%的错误。

这意味着没有被发现的那些错误,最终会让企业为此承担风险、付出代价。实际上,随着网路安全越来 越 重要,关于「静态数据损坏」这个领域,相当值得各大云端厂商加以关注并投入研究。