腾讯云磁盘故障导致“前沿数控”数据丢失一事,有关各方进行了一系列解读,但大多没有摆脱借题炒作之嫌,真正地技术解读倒是被弃之一旁,这也是一种悲哀!
在国内环境条件下,对于故障进行技术解读是一个很困难的事情,主要障碍在于事件的信息披露,牵涉到追责的问题,当事方常常不能如实透露事件真相,从而让技术解读成为了无源之水。
为腾讯云点赞!
与国内大多数故障事件不同,腾讯云对于云磁盘故障信息披露,实事求是的态度值得点赞!
试想如果腾讯云坚持以“部分云硬盘IO异常”为由进行搪塞,那么真相就不会公之于众,更谈不上什么技术分析。就像人会生病一样,IT系统会发生故障,其实是最正常不过的事情,没有什么好隐瞒的!
在8月8日声明中,腾讯云故障进行了还原。
首先是云存储系统扩容要进行数据迁移,在数据迁移过程中,为了追求速度,人为/运维违章操作,没有进行数据校验,原有数据过早删除。恰逢磁盘静默错误,导致数据无法恢复!
这里提到了磁盘静默错误,简单说就是数据处理过程都是正常的,但是使用时才会发现数据错误,造成静默数据错误,磁盘本身的原因主要是固件错误以及硬盘介质本身的原因(如噪声、电磁等)。
横向扩展和数据迁移
此次故障原因清楚了,但也衍生、延展出来更多技术话题。
首先,数据迁移是由存储系统扩容引起的。对于云存储来说,不是横向扩展Scale out吗?扩容就是了,为什么要进行数据迁移呢?
这是一个非常有意思的话题。
为此,我也请教了软件定义存储的专业厂商,得到鹏云网络、华云网际等厂商专家的支持!在技术方面,他们是很有实力的厂商。以鹏云网络为例,创始人陈靓曾长期担任美国亚马逊AWS 核心构架师,带领团队进行 S3 云存储系统 优化,并主持 Glacier 存储系统的设计和研发。
专家提示说,软件定义存储或者称云存储有不同的技术实现方式,有Paxos /Raft 、Zookeeper、DHT(Distributed Hash Table)等不同元数据管理方法。
其中,DHT是根据一致性哈希的方式计算出来,其好处是极大降低了元数据服务存储压力和访问压力。但弱点在于对于容量规模要有很好的预计,如果涉及添加节点,移除节点,添加磁盘,移除磁盘的情况,由于哈希环会发生变化,一部分数据需要重新分布,会在集群中产生不必要的数据迁移,而且数据量往往非常大。
这也是为什么,有推测认为腾讯云存储采用了DHT方式来构建,当然推测未经过证实。
实际上,即使不采用DHT。云存储单一资源池的规模也是有上限的,也就是说,集群内节点数量是由最佳实践的。以VSAN为例,有64个节点数量的限制;Ceph(DHT)是256,超过出这个限,节点之间网络通信的复杂度,以及效率都难以得到保障。
对于腾讯云存储来说,对外提供公有云服务,同时支持多个用户,数据规模和增长速度达到上限,这是可以想象的事情。因此,数据迁移在所难免!这一点,鹏云网络、华云网际的专家都是肯定的。
数据迁移的话题
专家指出:数据迁移不是灾难,磁盘静默错误也不是大问题,甚至违章操作关闭检验也不是致命的问题!
那么数据是怎么丢的呢?
实际上,磁盘静默错误是非常小概率的事件,是个别磁盘问题。要知道云存储数据有多副本保护,完全可以应对小概率事件导致的错误。
试想一下,如果是对云存储系统进行完整的数据迁移,即使关闭了校验,仍然有三副本(或者两副本)数据存储,应该可以应对磁盘静默错误。
那么,副本为什么没有发挥作用呢?
据专家推测,其数据迁移的过程并没有进行完整的数据迁移;估计就是迁移了主数据样本,并制作了三副本保护,迁移过程违章关闭了检验。如果主数据有误,其制作的副本数据也是错误的。加上,原有数据删除过早,造成了难以挽回的错误。
所以数据迁移、静默错误、关闭校验都不是问题的元凶!一系列问题叠加才是数据丢失的根本原因。
试想,腾讯云支持租户众多,为什么只有“前沿数控”中招了呢?只能说这是一个小概率事件!
“对于云存储或称软件定义存储,高性能和高可扩展度是必须考虑的因素,以鹏云ZettaStor DBS为例,可从几台服务器起步,扩展至上百万台服务器规模 , 且保持稳定和高性能。从底层进行磁盘性能优化,实现了同样数量磁盘3倍以上的性能表现。”专家说。
全流程数据校验更是需要着重考虑问题。分布式缓存一致、全流程数据校验、磁盘修复等全方位技术手段,也是鹏云ZettaStor DBS的显著特征。
快照和备份的话题
当事件发生之后,数据保护肯定是一个绕不开的话题。
很可悲的是,很多云租户会认为:备份、快照是云存储天生具备的属性,这样的想法就太天真了。
一来不是所有的应用都需要保护的;二来如果作为默认的属性,那么由此导致的价格提升,这是用户愿意承受的吗?
有人指出:作为一家1000万元业务规模的公司,“前沿数据”不知都对数据进行保护,数据处于近乎“裸奔”的状态,这样的经营意识也是没谁了!咎由自取!
类似的事情很多,很多时候,也不是水平和意识的问题,还是跟钱有关系。
数据保护是要花钱的!而且应对的是小概率事件!
铤而走险,有时候也是无奈之举。
那么,腾讯云不是提供了免费的快照服务吗?
既然,如此当事者就应该责怪自己,为什么不在快照的选项上打个√呢?即使打了√,用户也应该知道并不是万事大吉的。
快照有它的作用和限制。
首先,没有办法无限制的打快照,因为会影响性能;二来,快照只是记录了磁盘数据变化的一种状态,数据恢复需要依赖磁盘原始的数据;单纯依赖快照是没有办法恢复数据的。
有关数据备份,所针对的包括硬件故障,其这一点的作用和副本是相同;不同之处在于,数据备份还可以针对逻辑故障,在这种情况下,错误不是硬件造成的,而是人员操作失误造成的,如输入错误,删错数据等。借助快照、日志等数据备份,可以对错误进行修正。
一句话,不同的应用需要不同的数据保护。从双活数据中心,到CDP、备份,等级不同,效果和作用也不同,当然其费用支出也不同。因此,铤而走险也是可以的,需要的前提是:你的运气足够好!
小结
亡羊补牢,从中汲取教训是当务之急!
但是更加重要的,还是应该是对于技术的掌握和了解!相同的是:它们都叫软件定义存储或者云存储,不同的是,他们的技术方案不尽相同。以校验为例,鹏云网络的方案设计、华云网际、VASN、Ceph的方案设计各不相同。
对于这些不同设计方案的选型,其实没有捷径的方法可以选择!惟有不断地了解技术,并根据应用的实际情况加以选择,别无他法!
免责声明:本网站内容主要来自原创、合作伙伴供稿和第三方自媒体作者投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。任何单位或个人认为本网站中的网页或链接内容可能涉嫌侵犯其知识产权或存在不实内容时,应及时向本网站提出书面权利通知或不实情况说明,并提供身份证明、权属证明及详细侵权或不实情况证明。本网站在收到上述法律文件后,将会依法尽快联系相关文章源头核实,沟通删除相关内容或断开相关链接。