全球旧事资料 分类
数据到物理设备映射的集合,通过Zo
e(区域)、Device(设备)、Partitio
(分区)和Replica(副本)来维护映射信息。
112存储节点
存储节点需要运行accou
t和容器、对象存储等服务。
ObjectServer
对象服务是一个简单的二进制大对象存储服务,可以用来存储、检索和删除本地设备上的对象。在文件系统上,对象以二进制文件的形式存储,它的元数据存储在文件系统的扩展属性xattrs中。这要求用于对象服务的文件系统需要支持文件有扩展属性。

Co
tai
erServer
容器服务的首要工作是处理对象的列表。容器服务并不知道对象存在哪,只知道指定容器里存的哪些对象。这些对象信息以sqlite数据库文件的形式存储,和对象一样在集群上做类似的备份。容器服务也做一些跟踪统计,比如对象的总数,容器的使用情况。

Accou
tServer
帐号服务与容器服务非常相似,除了它是负责处理容器的列表而不是对象。
113认证节点
在存储节点和代理节点接入外网之前,首先要通过一个附加的认证节点对用户进行比对认证。在早期,Swift使用单独的认证服务对用户进行核对,随着Ope
Stack项目的逐渐发展,目前Swift以及结合了Ope
Stack的认证Keysto
e,形成统一的云认证体系。
北京华胜天成信息技术股份有限公司
第5页共52页
fSwift安装测试报告
12部署方式
在官方文档中建议至少使用5个zo
e,一个zo
e就是一组独立节点,官方给出的标配例图如图所示:
13组件间的通信
Swift代理节点与存储节点间的通信方式如下:
北京华胜天成信息技术股份有限公司
第6页共52页
fSwift安装测试报告
14存储原理
Swift利用一致性哈希算法构建了一个冗余的可扩展的分布式对象存储集群,但一致性哈希算法不能保证绝对的平衡,当节点较少的时候,需要存储的对象不能被均匀地映射到节点上,这样每个节点的存储压力不平衡。为了解决这个问题,swift在一致性哈希算法的基础上,引入虚拟节点(partitio
)的概念。虚拟节点是实际节点在环形空间的复制品,一个实际节点对应了若干个虚拟节点,通过中间一层虚拟节点的存储再分配,数据可以比较均匀得分布在各个节点上了。如图所示:
北京华胜天成信息技术股份有限公司
第7页共52页
fSwift安装测试报告
由此可见,Storage
ode与partitio
,partitio
与object间的映射关系如下:在Storage
ode上运行着Li
ux系统并使用了XFS文件系统,逻辑上使用一致性哈希算法将固定总数的partitio
映射到每个Storage
ode上,每个object也使用同样的哈希算法映射到Partitio
上。
2测试环境
21部署r
好听全球资料 返回顶部