丝析发解丨分布式存储系统基本原理


云和恩墨
云和恩墨 2024-01-26 09:51:25 50638
分类专栏: 资讯

图片

什么是分布式存储?先给他下个定义,满足下面四个特征的存储系统,就是分布式存储:

  • 【软件+服务器 => 专业存储】分布式存储是通过网络连接起来的多个服务器,运行特殊软件,构成像磁盘阵列那样的专业存储系统。

  • 【用软件整合硬盘 => 存储池】不同服务器节点的软件之间协同工作,把服务器上的硬盘都整合起来,成为一个大的存储池。

  • 【容忍故障】这个存储系统可以容忍硬盘故障,也可以容忍服务器故障。

  • 【可扩展】存储池容量不足,或者性能不足,可以通过增加硬盘,或者增加服务器,来扩展存储池的容量,或者扩展性能。

软件怎么整合硬盘呢?怎么容忍故障呢?下图是一个容易想到的方法,三个服务器节点构成一个组,把数据在这三个节点之间复制三份,用Raft这类共识协议来保证一致性。当其中一个节点故障了,换一个新节点进来;一个硬盘故障了,就换一个硬盘进来。这样,上面4个特征的前3个都可以满足。
图片
唯独无法满足第4个特征【可扩展】,怎么办呢?
实际上,按照硬盘来构成Raft组,也无法扩展。解决扩展性问题的方法是:把硬盘分为小盘,用小盘来构成多个Raft组。每3个小盘构成的一个组,在Ceph中被叫做PG(Placement Group),放置组。在 zStorage 中借用了Ceph的概念,也被称为PG。zStorage与Ceph的不同在于:zStorage用了Raft,Ceph使用了自定义的共识协议。
如下图所示,每个硬盘被划分4个小盘,3个节点,一共6个硬盘,24个小盘。每3个小盘构成1个Raft组,这24个小盘构成8个Raft组。
图片
如下图所示,增加一个服务器节点之后,小盘总数量不变,还是24个。但是以前3个节点中的部分小盘中的数据,被迁移到了新的服务器节点上,这样每个硬盘中只有3个小盘了,那么每个小盘的空间也就自动扩大了。就是通过这种方式,实现自动扩容的。
图片
如下图所示,4个节点的情况下,如果一个节点故障了,那么再把这个故障节点上的小盘的数据,迁移到剩下的3个节点上,当然,前提是剩余存储空间足够。这样迁移之后,数据还能保持三副本。
图片
分布式存储系统如何把数据分散(Sharding)存到不同的Raft组中(也叫做PG)?
分布式存储系统对外提供的接口有三种:对象接口、块接口、文件接口。下面以块接口为例,讲一下如何分散(Sharding)存数据。
所谓块接口,在客户端看来就是,它里面有多个虚拟的硬盘,存储术语叫做LUN。其实,每个虚拟的硬盘,就是从这个高可靠的、可扩展的存储池中,划分出的一部分存储空间。也就是,客户端看到虚拟硬盘的所有磁道(sectors),在存储池中都对应一个Raft组。每个Raft组里面都承载了很多个磁道(sector)。
这些Sector与Raft组怎么对应呢?如下图所示,每个虚拟的硬盘,有一个Lun_ID;每个磁道,有一个LBA地址。把LUN_id和LBA地址这两个值,交给hash算法,可以计算出一个PG_id,用这个PG_id就可以寻址唯一Raft组了(Raft组也叫做PG)。
图片
如果读完了以上这三条,那么恭喜,您已经掌握了90%分布式存储系统基本原理。

作者简介

 

黄岩,云和恩墨分布式存储软件总架构师,十余年存储研发经验,在NAS和备份领域有深入钻研,曾担任某NAS产品性能SE,负责产品性能调优工作,该产品在2011年打破了SPESsfs性能测试世界纪录。

网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。

本文链接:https://www.xckfsq.com/news/show.html?id=35827
赞同 11
评论 0 条
云和恩墨L3
粉丝 0 发表 25 + 关注 私信
上周热门
如何使用 StarRocks 管理和优化数据湖中的数据?  2966
【软件正版化】软件正版化工作要点  2885
统信UOS试玩黑神话:悟空  2856
信刻光盘安全隔离与信息交换系统  2743
镜舟科技与中启乘数科技达成战略合作,共筑数据服务新生态  1277
grub引导程序无法找到指定设备和分区  1244
华为全联接大会2024丨软通动力分论坛精彩议程抢先看!  169
2024海洋能源产业融合发展论坛暨博览会同期活动-海洋能源与数字化智能化论坛成功举办  168
点击报名 | 京东2025校招进校行程预告  164
华为纯血鸿蒙正式版9月底见!但Mate 70的内情还得接着挖...  161
本周热议
我的信创开放社区兼职赚钱历程 40
今天你签到了吗? 27
信创开放社区邀请他人注册的具体步骤如下 15
如何玩转信创开放社区—从小白进阶到专家 15
方德桌面操作系统 14
我有15积分有什么用? 13
用抖音玩法闯信创开放社区——用平台宣传企业产品服务 13
如何让你先人一步获得悬赏问题信息?(创作者必看) 12
2024中国信创产业发展大会暨中国信息科技创新与应用博览会 9
中央国家机关政府采购中心:应当将CPU、操作系统符合安全可靠测评要求纳入采购需求 8

加入交流群

请使用微信扫一扫!