Parallel NFS (pNFS)

点击这里在哔哩哔哩bilibili在线观看配套的教学视频

点击跳转到nfs课程所有目录

1 文档

2 我和社区的邮件交流

Question about pNFS documentation

2.1 有没有详细的pNFS环境搭建指导文档?

Chuck Lever 回复内容翻译如下:

我不知道除了你这里列出的文档以外,还有没有其他最新的文档。

请注意,Linux NFS客户端实现了file、block和flexfile layout类型,但Linux NFS服务器仅实现了pNFS block layout类型。

我一直在构建测试,旨在每次发布NFSD时运行这些测试,以检验Linux NFS服务器和客户端对pNFS block layout的支持,因为pNFS block是我们的客户端和服务器之间的共同点。

请查看[1]顶部的9个提交。这些提交包含对kdevops的更改,增加了它设置iSCSI target并在其本地NFS服务器上启用pNFS的能力。如果你能阅读Ansible脚本,这些可能会帮助你形成使用Linux NFS实现及其iSCSI target和initiator来设置你自己环境的配方。

管理员文档(除了kdevops之外)还在待办事项列表中,但尚未开始。

[1] https://github.com/chucklever/kdevops/tree/pnfs-block-testing

注意邮件中说的chucklever/kdevops/tree/pnfs-block-testing)顶部的9个提交也是linux-kdevops/kdevops中的以下几个记录:

9f42f09 docs: Fill out docs/nfs.md
687ed7f fstests: Enable testing with pNFS block layouts
976a759 pynfs: Enable testing with pNFS block layouts
9024573 gitr: Enable testing with pNFS block layouts
f391aed nfsd_add_export: Enable pnfs on capable exports
1dcae17 nfsd: Provision an iSCSI initiator on the kdevops NFS server
af043aa iscsi: Provision a target node to host iSCSI LUNs
6cc895a Shorten the names of devices where exports reside
2172d8e nfsd_add_export: Move storage allocation to separate YML files

2.2 除了block layout外,nfs server有没计划实现其他的layout?

Chuck Lever 回复内容翻译如下:

object layout类型已经被弃用。如果我没记错的话,Linux NFS 客户端几年前就移除了对该类型的支持。服务器端也不计划支持它。

file layout类型通常需要一个集群文件系统作为后端。你可以在 Ceph 或 gfs2 上构建一些东西,但这将是一个重大努力,并且需要用户需求。目前没有任何需求。

NFS 服务器有一个玩具级的 flexfile layout实现,仅仅是一个概念验证。我们确实有一个未规划的待办事项,即研究如何将其扩展以提供测试客户端 flexfile 支持的平台。但这个工作不是优先任务。

3 现状

客户端:

服务端:

4 简介

pNFS的网络结构图如下:

+---------+                                          
| +---------+
| | +---------+                             +---------+
| | |         |            pNFS             |  meta   |
+-| | clients |<--------------------------->|  data   |
  +-|         |                             | server  |
    +---------+                             +---------+
       ^ ^ ^                                     ^     
       | | |                                     | 
       | | |                                     | 
       | | |                                     | 
       | | |                                     | 
       | | | storage                             | 
       | | | protocol  +---------+               | 
       | | +---------->| +---------+             |     
       | +------------>| | +---------+  control  |
       +-------------->| | |  data   |  protocol |
                       | | |  server |<----------+
                       +-| |(storage |      
                         +-| devices)|
                           +---------+