目前linux 2.6内核支持nfs 4.0版本。但是很多nfs4.0 rfc中规定的功能(例如open delegation等)并未充分实现。
RHEL已经支持4.1 的file layout的nfs client,red hat宣称未来的发布版中会支持另外两个block和object的layout。
SNIA的报告(www.snia.org/sites/default/files/SNIA_An_Overview_of_NFSv4-3_0.pdf)中宣称suse的sles 11的sp2已经可以支持file layout的NFS client。nfs4.2已经进入proposal阶段了。
nfs4.0主要做了一些性能优化和扩展性的提升(想达到支持成百上千个nfs client的并发操作的规模)。到了nfs 4.1(pNFS),协议本省发生了革命性变化,整个协议的框架已经完全变化了,越来越像一个复杂的分布式文件系统的定义。NFS协议本身语义非常丰富,结构比较复杂。效率也不高,不是直接构建在传输层协议上面,中间还隔了层rpc。4.0的rfc已经将近300页,4.1更是达到600多,这在rfc文档中恐怕是很少出现的情况。
革命性未必是好事,设计也是如此。把原本一个复杂的协议,设计的更加复杂,从标注定义的角度看,显然不是件好事。标准协议本来应该尽量的简洁、高效,复杂的事情留给各个vendor去做。pNFS所想要做的事情,分布式文件系统完全可以做得到。pNFS从技术上看是个美妙的东西,但是目前云计算、云存储的大环境下,pNFS能否得到广泛应用还很难说。个人感觉,在企业级应用领域,DFS+标准的posix接口,或者DFS+集群nas的方式,完全可以实现pNFS的高性能、高扩展性的初衷。还一点不得不提,nfs4.0为了兼容windows而提出了很多新东西,例如share reservation,但是别人未必领情,微软不会做一个windows版的nfs client吧。工程师总是会设计各种各样的接口和功能,很多可能完全用不到,或者中途流产了。
最后八卦一个事情,由于在suse官方的sp2 release notes中未发现关于nfs4.1的说明,本人专门给suse的工程师MR Ralf Dannert发了个邮件,咨询sp2对于pNFS支持的问题。后来竟然如同石沉大海毫无回音,不像德国人的风格啊。
NFS协议发展漫谈
最新推荐文章于 2023-06-20 06:45:22 发布