股票代码: 836286    股票简称: 易云股份
官方微信

扫一扫关注易云捷讯官方微信

备案 |       管理控制台

pNFS全解读

简介

顾名思义,pNFS(Parallel NFS)是NFS的并行实现,它弥补了传统 NFS 协议在设计上的不足,把传统NFS的性能提高了好几个数量级。

可以通过“布局”, 向上提供基于文件,对象,甚至是块设备的访问方式。

传统 NFS 遇到的挑战

下图是传统 NFS 协议的简单架构图:

1.jpg

从图中可以看出,NFS 文件的读写操作和元数据的相关操作,都需要从客户机传到NFS 服务器,NFS 服务器再执行最终的所有 I/O 操作(文件读写,元数据修改)。

这样就会有一个问题,因为 NFS 服务器能同时接受多个客户端的请求, 当大量的客户端需要同时对 NFS 上的文件进行 I/O 的时候,很明显,NFS 服务器就成为了系统瓶颈,使得系统性能大大降低。

pNFS 就是为了从根本消除这个系统瓶颈而出现的。

pNFS 的架构

下图描述的是 pNFS 的简单架构图:

2.png.jpg

从上图中可以看到,客户端直接对物理存储进行读写,数据流不需要经过 pNFS服务器。pNFS 服务器的作用,仅仅是用来控制文件的元数据和协调多个客户端的快速访问。

服务器通过一个叫 “布局” 的东西来向客户端描述文件元数据,当客户端想要访问一个文件的时候,首先会向服务器发送一个请求,获取布局和文件的授权,得知这些信息之后,就可以直接向存储设备进行数据读写了,这个时候完全不需要 pNFS 服务器的干预。布局可以缓存到每个客户机,使得进一步提升了性能。

pNFS 的优势

使用传统的NFS,数据的每个比特都要通过NFS服务器,导致性能很低。如果使用pNFS,就把NFS服务器从主数据通路中移出来了,这使得客户端能够自由快速地存取数据,完全消除了NFS的系统瓶颈,多个客户端同时访问服务器的性能得到很大的提高,且系统容量能够容易扩展而不影响总性能。

pNFS 的不足

纵观各路网络/分布式文件系统(e.g. ceph, gfs 等),元数据服务器(MDS)都是一个很大的问题,各种文件系统使用了不同的手段来消除其带来的瓶颈。比如 GlusterFS破天荒的消除了MDS,ceph 把 MDS 也分布式了。但是在 pNFS 上还没有看到过这方面的讨论,在大量小文件的存储系统上可能带来一些问题(FIX ME if I am wrong)。

进一步的分析有待讨论。

pNFS 的现状和未来

pNFS已经成为NFS 4.1标准的一个扩展,并且客户端的代码已经合并到kernel 2.6.37的版本中。

在 linux 发行商方面,RedHat已经宣布RHEL 6.4 支持文件布局的pNFS客户端了。

据说曾经世界上最快的超级计算机,称号为Roadrunner 的机器使用的并行文件系统,就是以pNFS 标准为核心构建的,虽然我不太认同,但是很多人认为该技术可能引导未来并行存储甚至是未来存储技术的主导。


二维码.gif

关注易云微信号,浏览更多技术文档


© 2011-2017 易云捷讯科技(北京)股份有限公司, 版权所有 | © 2011-2017 Eayun,Inc. All rights reserved.

京公网安备 11010802022475号 | 京ICP备 11028869号

业务咨询:400-606-6396