弹性文件服务解密 -- 数据读写设计,数据条带化后并发读写性能最大化

网友投稿 576 2022-05-28

SFS 底层采用分布式集群存储系统,系统内的每个节点之间都是平等的,每个文件读写操作都可能同集群中的多个节点进行交互,为了方便表述,我们可以将集群中任意一个节点涉及到业务IO的模块表述为以下的模型。

I/O模型

如上图所示,软件层面,分为两层,上层为文件系统服务,下层为存储资源池;上层文件系统服务层负责NAS协议的解析,文件操作语义的解析,文件系统元数据管理;下层存储资源池层负责节点上磁盘资源的分配管理和数据的持久化;

当一个客户端连接到一个物理节点上进行一个写文件操作。首先这个操作被文件系统服务层处理,文件系统服务层首先从文件路径+文件名查找到文件的元数据信息,从而得到文件的布局信息和保护级别。

SFS对于文件的数据保护是采用跨节点跨硬盘保护的,一个文件首先被切分为分条(Stripe),每个Stripe是由N个条带+M个冗余校验条带构成;一个分条中的不同条带是放置在不同节点不同硬盘上的。参考下图,文件系统服务层获得了文件的布局信息和保护级别后,就将收到的数据按照分条的粒度,计算出冗余数据条带来,然后并发通过后端网络写入不同节点的不同硬盘中,每个硬盘上只写入一个条带的数据。

写数据流程

上面的写流程中,我们可以看到:

1:SFS具备很好的并发性,每个物理节点都可以同时接入很多的客户端;这些客户端可以并发的进行文件访问操作;

弹性文件服务解密 -- 数据读写设计,数据条带化后并发读写性能最大化

2:高带宽特征,SFS将一个文件切分为分条,每个分条交给不同的节点,不同的硬盘来存储,并通过高效的布局,使得即使同一个文件的不同分条也分布在不同的硬盘上,可以充分的发挥集群中多节点多硬盘的能力,大大增强文件访问的性能。

弹性文件服务 存储

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:云计算实践(十五)
下一篇:【C 语言】文件操作 ( C 语言中的文件操作函数 | 磁盘与内存缓冲区 | 缓冲区工作机制 )
相关文章