弹性文件服务解密 -- 数据可靠性设计,N+M数据存储
【摘要】 弹性文件服务SFS的数据存储技术,是建立在分布式、节点间冗余的基础上的。数据进入系统之后,首先被切分为N个数据条带,然后计算出M个冗余条带,并最终保存在N+M个不同的节点中。由于同一条带的数据保存在不同节点中,所以SFS中的数据不仅能支持硬盘级的故障,而且能够支持节点级的故障,保证数据不丢失。只要系统中同时故障的节点数不超过M,系统就可以持续提供服务。
相比于传统的RAID方式,弹性文件服务SFS在提供高可靠性的同时也能够提供更高的磁盘利用率。传统RAID把数据存放在一个RAID组内的不同硬盘上,当其中有硬盘损坏时,通过RAID重构,重构坏盘上的数据。
图1 传统RAID数据存储技术
这类存储系统常用的RAID方式有RAID-0\1\5\6等,其中可靠性最高的RAID-6最多只能支持2块硬盘同时发生故障。另外一方面,这类存储系统使用控制器执行RAID数据存储,为了预防控制器故障,它们通常使用双控制器的方式来保证服务的可用性,但当2个控制器同时发生故障时,还是会导致服务中断。虽然这类系统还可以通过在多个节点间进行同步/异步的数据复制,进一步提高系统可靠性,但这会导致硬盘利用率很低,让用户承担较高的TCO(总体拥有成本)。
弹性文件服务SFS的数据存储技术,是建立在分布式、节点间冗余的基础上的。数据进入系统之后,首先被切分为N个数据条带,然后计算出M个冗余条带,并最终保存在N+M个不同的节点中。
图2 SFS N+M数据存储技术
由于同一条带的数据存储在不同节点中,所以SFS中的数据不仅能支持硬盘级的故障,而且能够支持节点级的故障,保证数据不丢失。只要系统中同时故障的节点数不超过M,系统就可以持续提供服务。通过数据重构过程,系统可以重构出损坏的数据,重构整系统的数据可靠性。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
作者其他文章
评论(0)