DoSTOR存储分析 2008 NFS的未来向我们走来
Bill 发表于:08年03月29日 23:17 [原创] 存储在线
DoSTOR存储分析 3月29日国际报道:NFS(网络文件系统)是在1984年由Sun微系统公司设计开发的,目的是为了连接它们的系统。在其发展过程中,通过促成文件系统之间的连接,革命性地改变了存储行业,使得一个环境中的所有文件都能够处于公共视野之下。
回溯到1984年,当时的高速主干网络是10Mb/s以太网,而磁盘驱动器的容量是按照MB计算,而不是GB。NFS满足了需求,并很快就在行业内得到广泛使用,并成为标准。
从那时候起,NFS进行了一些有限的改进,一些是针对性能,但是大部分的改进幅度都是很微小的--许多是针对安全,以及为了跟上其他UNIX标准。我们都熟悉NFSv1,v2,v3,现在是v4版本,而且我们都抱怨NFS的性能,因为网络和存储的性能增长要更快,而NFS却没有跟上步伐。
自从NFS诞生,网络已经从10Mb/s以太网发展到了10Gb以太网(三个数量级的性能增长),存储已经从3Mb/s磁盘驱动器发展到了400Mb/s光纤通道RAID(独立磁盘冗余阵列),这也是133倍的性能增长。而与此同时,NFS只是从4KB数据包发展到了64KB。对于一些不好的网络,大的数据包还可能是个问题,但是当我们需要在高速网络上传输大量数据的时候,我们就需要更好的技术。好消息就是NFS的未来马上就要实现了。
不用担心,NFS v4.1来了
理解NFSv4.1(也被叫做pNFS)的最好方法就是读一些文章。pNFS(并行NFS)是NFSv4.1协议的一部分,可以让数据在设备之间进行高速移动。这原来是在另外一个组中进行开发的。pNFS.com提供了一些关于为什么需要pNFS的背景知识(阅读下面所列出的问题,它们详细的指出了现有的NFS协议所具有的一些问题)。
本图描绘了pNFS系统的架构:
同样重要的是,作为传输机制的一部分,数据和元数据是分开的。因此对于基于块的存储来说,一般情况下,索引节点以及任何非直接的扩展都被聚集在一起,而块地址则是通过使用DMA(直接内存存取)来从网络上直接获得。和NFSv4以及更早版本的NFS在网络上读取文件的方式比起来,这种方式的性能将是一日千里。当然,如果是在10Mb/s以太网,或者1Gb以太网上读取文件,不同方式的差别不会很大,但是你也会感觉到采用新方法所带来的改善。现在,如果你拥有10Gb以太网,或者说DDR(双数据率)IB(InfiniBand),或者说未来更快的网络,那么现有的NFS协议可以让这些高速网络的运行得简直就像在1Gb以太网上一样。
1991年左右,我被一个站点叫去做技术支持。他们有两台Cray超级计算机,通过HiPPI连接(高性能并行接口,800MB),而且他们还由一个FDDI(光纤式分布数据接口,100Mb)。你可能会疑惑,为什么HiPPI的速度不是FDDI的八倍,而是只高出10%呢。他们问,为什么他们花了这么多钱来部署HiPPI,结果却只得到10%的性能提升。我不能给出很好的答案。当然,HiPPI上ftp和rcp的运行要更快。这趟访问的唯一一个好处就是我去了德国,因为我不能给客户以满意的答复。在当时,NFS甚至在高速网络上也运行不快。NFS做了一些细微的调整,使得它在1Gb以太网上也能够被接受,但是它还是不能达到网络的速度。转眼过去15年,我们马上就要进入商品高速网络时代,如10GB以太网,但是目前版本的NFS还是不能胜任。下面是对NFS问题的描述:
"客户对存储I/O带宽的要求的增长远远快于网络文件服务器所能提供的能力。当我们在NFS协议上进行安装时,就会越来越多的遇到这种问题。这个问题可以通过提高服务器带宽的方式来解决。这个草案建议对NFS文件服务进行改进,让NFS文件服务能够随客户群扩展而扩展。建议的方法就是通过并行化文件服务,将所有可能的带宽都集中到一个单一的文件系统上,这样的结果就是多个网络连接到多个要求数据传输的服务器终端。我们要在NFS架构内部实现这种方式,比如通过一个NFSv4协议的次版本"。
显然,IETF的这个声明显示它理解NFS目前的局限,并正努力解决它们。几乎所有的主要厂商都介入到了NFSv4.1(pNFS)的制订,包括但不限于,EMC、IBM、NetApp、Sun,当然还有Linux社团。甚至还有一些网路传言说,微软正准备在未来的Windows版本中考虑NFSv4.1。我对此持怀疑态度。
NFSv4.1的局限
和有些人想的相反,NFS是一个协议,而不是文件系统。NFS允许通用的外部接口进入文件系统。即使它的名字是这样,它也不是一个文件系统。这也就是说你要受到底层文件系统性能的约束。例如,如果微软将NFSv4.1纳入未来某个版本的Windows系统,而你的摄像头连接是在10Gb以太网上,但是这并不是说你可以通过FAT32文件系统在你旧的计算机上以1GB/秒的速度导出数据。这里有很多限制。
事实是,在这里,我们的媒介不能以1Gb/s的速率传输数据,更重要的是,你受制于文件系统的性能。即时你拥有能够以1Gb/s速率传输数据的媒介,鉴于目前的数据格式,FAT32文件系统也不可能支持这种数据速率。
我相信NFSv4.1会使很多文件系统相形见绌。现在,这些NFS文件系统可以借口说它们被目前的NFS性能局限所限制,这可能是实情,但是未来就不是如此了。我一直在尝试的一件事情就是在一台本地NFS文件服务器设备上运行性能测试,以测试我的读写速度究竟能有多快。然后我会观察底层硬件,并判断性能瓶颈是出在文件系统还是硬件上。在这些时间里,我发现,更经常的是,性能瓶颈是在文件系统上而不是硬件上。由于目前的NFS协议有局限,而10Gb以太网则没有,因此,在NFS上连接到服务器的文件系统可以将性能问题归咎于协议,但是这种日子将很快过去。
作为一名悲观论者,我的看法是一些厂商将选择不支持NFSv4.1和10Gb以太网,直到它们能够让它们的文件系统能够和NFSv4.1及10Gb以太网完美配合,使数据传输达到网络的速度。没有一个厂商会希望让自己看起来很糟糕得。拥有高性能文件系统的那些厂商(我们都知道他们它们是谁)可能是最先支持NFSv4.1的厂商。因为你总是被数据通道中最慢的组件所约束,因此那些文件系统不支持高性能数据传输的厂商也可能不支持NFSv4.1。在未来几年中观察NFS4.1的进展是一件非常有意思的事情,特别是如果你理解厂商之所以这么做的原因的话。