首页 理论教育 私有云架构:实践分布式存储后端

私有云架构:实践分布式存储后端

时间:2026-01-26 理论教育 小谭同学 版权反馈
【摘要】:分布式存储是现在云平台架构的基础功能之一,借助于集群主机的复用,私有云能够轻易实现基础架构中计算、存储乃至网络资源的“超融合”。目前国内私有云平台使用最多的分布式存储是Glusterfs和Ceph,它们先后被RedHat收购,另一种与QEMU高度集成的Sheepdog不如前两者适用范围广,所以本书将不做相关介绍。分布式存储的内容繁多,笔者经验有限故不能对其进行全面的描述,所以仅就这三种存储的关键字与核心部分予以介绍,详细内容可以参考官方文档与手册。

分布式存储是现在云平台架构的基础功能之一,借助于集群主机的复用,私有云能够轻易实现基础架构中计算、存储乃至网络资源的“超融合”。

目前国内私有云平台使用最多的分布式存储是Glusterfs和Ceph,它们先后被RedHat收购,另一种与QEMU高度集成的Sheepdog不如前两者适用范围广,所以本书将不做相关介绍。它们默认提供的存储服务有所区别(仅就本书成文时的版本且不考虑增加第三方插件的情况),比如Glusterfs以共享文件系统为主,而Ceph除共享文件系统外,也支持块存储和对象存储。

分布式存储的内容繁多,笔者经验有限故不能对其进行全面的描述,所以仅就这三种存储的关键字与核心部分予以介绍,详细内容可以参考官方文档与手册。

在开始之前,笔者先就无元数据的分布式存储中的核心数据结构DHT(Distributed Hash Table,分布式哈希表,一致性哈希的一种实现)做简单介绍,它在Glusterfs和Ceph中的类似实现分别是Elastic Hash和CRUSH。

假设我们算出一个32位的哈希值,即一个[0,232__1]的空间,现将它首尾相接,即构成一个环形。现有4个存储区域,每一个存储区域B都对应一个哈希值H,表示为(B,H),4个文件v的哈希表示为(k,v),那么可以将其位置关系表示如图7-4。

然后在文件v的值k后顺时针搜索,找到最为接近的H,然后文件v会被保存至B,如图7-5所示。

假如存储区域B3所在的主机退出存储集群,则与B3关联的文件v3会被重新映射,期间遵循的原则是所有文件的映射关系改变尽可能小,如图7-6所示。

图示

图7-4 文件与存储区域的位置关系(https://www.xing528.com)

图示

图7-5 文件与存储区域的存储映射关系

图示

图7-6 文件v3被重新映射

相应的,如果Glusterfs的砖块数目或者Ceph的OSD(PG)数目发生改变时,且用户手动执行了平衡负载的操作,则会将所有文件均衡地移动到存储区域中,其技巧是创建与物理存储区域B对应虚拟存储区域B′,然后将这些文件重新映射。图7-7即是将原本存储的B2中的v2、v3以及B4中的v3、v4进行重新映射,平衡操作后v2、v3会被存储到B2中,v1、v4被存储到B4中。

图示

图7-7 集群平衡负载过程示意图

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈