PVFS2:数据复制与读写优化方案解析
1. PVFS2 服务器架构与存储结构
PVFS2 采用典型的客户端 - 服务器模型(C/S 模型),一个 PVFS2 集群包含三个逻辑部分:客户端、元数据服务器和数据服务器。
- 客户端 :运行在用户终端,负责监听并执行用户指令,在指令执行期间访问服务器。
- 元数据服务器 :存储 PVFS2 中文件的元数据,客户端接收到指令后通常需访问元数据服务器获取元数据。
- 数据服务器 :负责数据存储。客户端执行 I/O 指令时,先获取目标元数据,再访问数据服务器传输数据。
一般来说,元数据服务器和数据服务器部署在同一设备上,统称服务器,且在服务器中,二者使用相同进程,客户端通过相同接口访问元数据和数据。
在 PVFS2 中,指令以作业为单位执行,由作业模块管理,该模块存在于客户端和服务器中,协同完成指令。数据传输通过缓冲消息接口(BMI)模块实现,该模块也同时存在于客户端和服务器,支持不同通信协议,如 TCP/IP 或 Infiniband。服务器使用 Trove 模块存储数据和元数据,数据和元数据以相同形式存储,通过句柄访问。
PVFS2 将文件分割成条带以确保 I/O 操作的并行性,条带是逻辑单元,文件分割后的条带在单个服务器中存储为一个数据文件。访问文件特定条带时,需获取条带所在数据文件的位置和偏移量,这些信息存储在元数据中。数据文件和元数据都存储在 Trove 中,访问时需先获取其句柄,数据文件句柄存储在元数据中,元数据句柄通过哈希算法获取。客户端访问文件数据的过程如下: <
PVFS2数据复制与读写优化解析
超级会员免费看
订阅专栏 解锁全文
6326

被折叠的 条评论
为什么被折叠?



