关于“腾讯云用户数据丢失故障”最新公告的一些细节的疑问

2018-08-08 11:44:19 +08:00
 mhycy

前言

源公告贴地址在此: 关于客户“前沿数控”数据完整性受损的技术复盘

昨日在 "腾讯云的事,是不是很多人以为三副本就是备份,不应该丢数据,很靠谱...." #28 帖子中做出了一些个人的推断

甚至有点怀疑是不是有人手动的“ rm -rf ”然后后续业务直接写花了集群

今天的这份公告的信息算是印证了部分的猜测

正文

公告中提到的部分细节因经验不足产生疑问,希望各位大佬可拍砖指教


疑问 1

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

一个按照高可用、高可靠、数据可信的原则构建的存储架构
显然读取过程中的块级校验是必不可少的,否则数据的可信性无从谈起
(因为根本不知道读取出来的数据是否为异常数据)

校验过程必然需要消耗一定的资源
类似于 ZFS, 需要大量的 CPU 资源进行读取过程中的校验
所以一般的实现方案会把存储与计算分离开来, 降低互相之间的影响

在公告中提到的一点 "为了加速搬迁"
为了实现读取过程中的校验,必然需要消耗一定的资源
独立的存储平台,自然也需要为了这个消耗的资源配备足量的运算资源
读取校验理应默认开启, 且对性能影响近乎无感 (增加了运算延迟)
而在这个公告中提到的"为了加速搬迁"...
那么....


疑问 2

在 20:27 搬迁完成之后,运维人员将客户的云盘访问切至仓库Ⅱ,同时为了释放空间,对仓库Ⅰ中的源数据发起了回收操作;


疑问 3

在 20:27 搬迁完成之后,运维人员将客户的云盘访问切至仓库Ⅱ 到 20:30 监控发现仓库Ⅱ部分云盘出现 IO 异常。

(不了解腾讯云底层的实现架构, 学艺不精没想通, 望各位大佬回帖指教)

14365 次点击
所在节点    云计算
118 条回复
johnjiang85
2018-08-08 15:22:30 +08:00
@mhycy #59
我并不是 CBS 存储的产品和研发部门的,是其他部门的,细节要看后续有没有架构分享之类的内容了。
回这篇帖子主要是也了解过分布式存储的一些东西,虽然没有做过,并且这个帖子是在讨论技术,而不是在互怼。
xud6
2018-08-08 15:45:02 +08:00
@mhycy #58
这里有问题的是读取部分。迁移的读缓存命中率肯定是很低的,不过缓存很正常。另一边的写肯定会过回写缓存。
yanhao1991
2018-08-08 15:49:03 +08:00
一直以为他们宣传的三副本是指数据很安全。。。
xud6
2018-08-08 15:51:33 +08:00
@yanhao1991
三副本只是 RAID10 的升级版而已。而且云存储硬盘的可靠性要比普通企业级低,比企业级 raid10 高不了太多。
autogen
2018-08-08 15:59:05 +08:00
迁移完成之后要做好验证,灰度切流量,发现错误马上回滚;
把磁盘容量告警调低一些,留出 1~7 天的写入量,这样就不用急着删;
要按照公司的规定来做事,出事了可以怪研发 怪测试 怪服务器供应商,免得砸自己饭碗
mhycy
2018-08-08 16:04:14 +08:00
@xud6 #62
想了想有道理,然而绕开缓存以后还是绕不开主控节点...
这个能关掉读取校验的巨锅....唉~

@xud6 #64
三副本该不会是单节点 0 吧?感觉 RAID61 才更为合理,不然可靠性依旧巨坑
且存储节点自身用 ZFS 能更上一层楼的避免各种异常...具体能否实现就看实验了

望科普!
mhycy
2018-08-08 16:06:23 +08:00
@autogen
在线迁移迁移过程中就能出问题了
疑问三依旧没有合理解答
如果正如现在公告描述的情况,暴露出来的问题真的不少...
mhycy
2018-08-08 16:13:38 +08:00
@johnjiang85 #60
SSD 的低延迟架构说实在有点超出我的知识范围了,期待各位大佬的科普
autogen
2018-08-08 16:15:38 +08:00
@mhycy 公告里说是“磁盘静默”,意思是,写入的时候磁盘没有报错
mhycy
2018-08-08 16:17:40 +08:00
@autogen #69
建议重新阅读坛内的过往的回复...
johnjiang85
2018-08-08 16:30:13 +08:00
@mhycy #68
这个我也不清楚了。

#67
可能之前没有正确理解的意思,疑问 3 是否是迁移过程中仓库 I 的读取到这个磁盘的请求也一直没有报出 I/O 错误?
我的理解可能是这样的,首先是只是部分数据读出来的不一致,并不是所有数据,且这部分数据大部分数据是冷数据,存在读取很少或根本没有读取到情况;仓库 I 一直正常的完整读取,即使是读取到这个副本的错误数据,校验失败,但是直接读取其他两个正常的副本进行了校验,在业务方看来读取是正常的,错误数据占比非常小,根本达不到报警的阈值, 只是排队去做异步修复了。
只是个人推测。
johnjiang85
2018-08-08 16:31:53 +08:00
因为磁盘可以正常读取,不会报错,只是读出来的数据不对,也不会触发硬件的异常告警。
xud6
2018-08-08 16:37:15 +08:00
@mhycy #66
作为参考 azure 在三向镜像之下用的 raid5。而且按微软说法 raid5 只是为了维护方便(blind swap),在数据安全性上的意义不大。
mhycy
2018-08-08 16:38:59 +08:00
@xud6 #73
果然是用最省钱的方案构造最可靠的云...
mhycy
2018-08-08 16:39:51 +08:00
@johnjiang85
问题泄露出来了底层架构的不合理, 加紧改善吧....
jianpanxia
2018-08-08 17:00:29 +08:00
看楼主一直拿 ZFS 来反推,我就问问楼主对分布式存储很了解?分布式存储就类 ZFS 一种架构? TX 用的就和 ZFS 架构一样?
mhycy
2018-08-08 17:02:44 +08:00
@jianpanxia 望科普!
johnjiang85
2018-08-08 17:26:24 +08:00
@mhycy 75
目前从实际应用来看架构上除了存储集群太小(具体多大算大 /小 /合适,这个数据我也没接触过,不清楚)之外,对应的疑问 2,其他的没看到什么硬伤,毕竟运行了这么多年,更多的是流程、规范和细节上(比如计算资源配比、存储容量告警阈值等)可优化的点。
mhycy
2018-08-08 17:34:38 +08:00
@johnjiang85
疑问二其实是个商业问题,直接点说就是超售严重

至于架构上的问题,不能说运行多年相安无事就是合理且优质的
至少从这个事件上看,还有提升的空间

希望将来能有对应的技术分享
让我们可以深入了解云平台架构设计的前因后果
这也能让客户可以更加的放心
nullornull
2018-08-08 18:04:46 +08:00
@mhycy 楼主,我有个建议,不知是否合适,我通读完这个主题,准备把你的疑问以及大家目前认可的答案,以及对此合理的推测,相关建议整理出来,但是我发现这个还是楼主做比较合适,不知道楼主有什么看法,这样对关注此问题的人也很有帮助.
当然我也和楼主一样期望腾讯云后续会有更细节的技术分享,这样不仅可以让使用腾讯云的客户放心,也可以表明腾讯云对这方面的态度.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/477885

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX