本周二,亚马逊AWS位于弗吉尼亚州的数据中心出现故障,影响数千个在线服务,Netflix、Airbnb、Slack、Spotify、雅虎网络邮箱等互联网服务受到明显影响。亚马逊AWS报告称,云存储服务S3出现了“高错误率”。亚马逊将S3定位为“简单存储解决方案”,数据显示,S3被近15万家网站使用,此次故障影响范围极广。
但是尽管如此,就像人会生病一样,尽管采取了各种预防措施,人还是会生病一样,此次S3出现的问题其实也不过是曲折中前进必须经历的步骤,对此,腾讯云对象存储COS团队也从专业的角度给出了专业分析。
腾讯云是国内大的云存储服务提供商之一,腾讯云的对象存储COS,为“微信朋友圈”等海量业务提供云存储服务,腾讯云有什么样的对策?
腾讯云对象存储COS团队认为,本次事故是亚马逊的一个数据中心出现了事故,引发了云存储服务的中断,事故是一个结果,问题可能出现在任何一个方面,“而容灾是应对这类问题的解决方案,磁盘级别容灾,服务器级别容灾,集群级别容灾可以在数据中心的事故发生前避免问题,而机房级别容灾和跨地域容灾则在机房事故发生后解决问题”。
针对类似事件,腾讯云可以提供上述5大容灾服务,分别从磁盘、服务器、集群、机房、跨地域等五个方面,为云存储提供全方位的可用性保障:
磁盘级别容灾:多备份数据冗余
对于保存在腾讯云存储服务中的每个数据块,都实现了“RAID”备份,即一份数据会存在多个副本或者校验码。同时利用底层磁盘的接口将其每个磁盘且分为多个扇区,并监控各个扇区的情况。
一旦检测出磁盘部分扇区发生异常,会停止针对该扇区的写入和读取,然后利用冗余数据对原有的扇区进行修复。在这个修复过程中用户仍然可以读取冗余数据,服务持续可用。
服务器级别容灾:条带化打散数据
腾讯云利用“条带化”技术,将多备份的用户数据分解成多个数据块均匀放置在不同服务器之间。一旦检测出单台服务器出现异常,会停止对整个集群的数据写入,将数据写入迁移到同机房的其他集群中,随后集群内部针对异常服务器启动坏盘修复。
如果修复失败,7*24值班的运维人员将人工介入,更换坏盘。在修复过程中,用户可以从异常集群中健康的服务器中持续获取数据,服务持续可用。
集群级别容灾:不同集群互为主备
腾讯云在每一个机房中会配备多个集群,每个集群可以提供完整服务,用户的数据块被分布在不同集群的不同服务器中。如果某个特定集群失去服务能力,修复方式如同服务器异常。该集群整体暂停数据的写入和读取,保留异常现场,将数据写入迁移到同机房的其他集群中,集群内部开始自动修复逻辑模块或者存储模块。在修复过程中,用户可以从其他健康集群中持续获取数据,服务持续可用。
机房级别容灾:可用区物理隔离
腾讯云目前在每个存储大区配备了多个可用区,每个可用区之内配备多个机房。每个可用区保证一定物理距离,当发生爆炸,洪水等恶劣的物理情况或者小规模运营商网络瘫痪,腾讯云将自动调度数据的写入和读取,暂停灾难受影响区域的机房使用,保留存量数据不改变。
在灾难过程中新的数据写入和读取,将迁移到同城的其他机房或者临近城市的机房,整体存储大区的服务不中断。同时腾讯云提供跨机房跨可用区的数据冗余备份能力。
跨地域级别容灾:跨地域自动备份
腾讯云已经在华北大区,华南大区,华东大区,西南大区和东南亚大区提供了数据存储服务,并且提供“主备数据中心”的解决方案,用户可以选择将主站的数据服务保留在某一区域,同时在上千公里之外保留备份数据,腾讯云将代替客户将主数据中心的数据在短时间内自动搬迁到备份数据中心。
当发生运营商网络大规模瘫痪或者大面积灾难来临,用户可以将服务指向备份数据中心存储区域,应对异常问题。
用户未来还可以选择腾讯云即将推出的离线存储服务,以极低的成本享受到灾备数据的保护。
目前,腾讯云已经向大众点评,广东气象局、芒果TV、CNTV等多家企业提供可靠稳定的服务。