虚拟化为NFS提供新机遇

NFS(网络文件系统)诞生已经有三十多年的历史,虽然有众多其他选择,但是很多厂商和解决方案提供商仍然选择NFS作为其虚拟化存储技术,为什么呢?资深专家Paul Venezia从多个角度分析了NFS复兴的原因,可能NFS并不完美,但是新技术并没有足够淘汰NFS的优势。

NFS 是第一个现代网络文件系统(构建于 IP 协议之上)。在 20 世纪 80 年代,它首先作为实验文件系统,由 Sun Microsystems 在内部完成开发。NFS 协议已归档为 Request for Comments(RFC)标准,并演化为大家熟知的 NFSv2。作为一个标准,由于 NFS 与其他客户端和服务器的互操作能力而发展快速。标准持续地演化为 NFSv3,在 RFC 1813 中有定义。这一新的协议比以前的版本具有更好的可扩展性,支持大文件(超过 2GB),异步写入,以及将 TCP 作为传输协议,为文件系统在更广泛的网络中使用铺平了道路。在 2000 年,RFC 3010(RFC 3530 )将 NFS 带入企业设置。Sun 引入了具有较高安全性,带有状态协议的 NFSv4(NFS 之前的版本都是无状态的)。如今,NFS 是版本 4.1(RFC 5661),它增加了对跨越分布式服务器的并行访问的支持。

Paul认为NFS在虚拟化环境中的复兴表明,一些好的想法不会过时:

一些技术的运行得这么好,以至于它们已经成为不朽之作——也许,不是因为它们是完美的,而是因为新技术没有能足够的提高自己的优势来推翻旧技术,即 使它们可以对旧技术产生一定的冲击。NIS就是这方面的一个例子。虽然现在有许多新的网络认证机制可以用,但是NIS仍然是无处不在。另一个例子就是 IPv4,虽然IPv6是更具有扩展性和更加现代化,但是,我们大多数人仍然在使用IPv4,所以,要等待IPv6的到来,我们还需要等待一段时间。再有 就是NFS,它明年就将“年满”30 了。NFS作为一个强大的分布式文件系统非常有用,这使得它仅仅通过做了一些改变就从大型机时代转型到虚拟化时代。如今最常用的NFS是NFSv3,而它 还是18年前的产品。然而,即便如此,它依然在全世界范围内被广泛使用。

曾经有一段时间,NFS的发展陷入了低谷,它只被用于Unix上,服务于各处的Solaris、Linux和FreeBSD的文件系统,但是由于它 太过老旧和不安全被许多厂商避之不及,不能广泛应用。即使是虚拟化时代的到来,当时也没有立刻让NFS立刻火起来,,充其量是文件系统的一个后备选项。 iSCSI现在呈上升趋势,光纤通道是快速访问网络存储资源的媒介,NFS只是的一种。但随着10G网络的广泛使用以及随后的10G端口的价格下 降,NFS已经看到了复兴的希望,特别是在虚拟化领域里。当然,仍然有成千上万的Unix机器使用NFS, 但现在也有数百万通过虚拟机管理程序运行以NFS存储的虚拟化Windows服务器。越来越多的存储厂商出于各种各样的原因,推荐NFS而不是iSCSI 作为虚拟化部署的首选。

Paul分析了NFS复兴的原因:首先,NFS在使用和管理方面远远比iSCSI简单。你没必要移除每一套虚拟化主机的LUNs(或者在某些虚拟机 管理程序中,需要移除每一台机器的LUNs);相反的,你可以仅仅把文件系统导出到一个委托的封闭的存储网络中,这样任何一台主机就都可以正常的玩游戏。 当然了,你也可以没有进行CHAP认证和授权,当然这在许多情况下也不是必须的。在许多数据中心里, iSCSI认证的存在仅仅是为了在扫描的时候,阻止没有访问权限的主机访问LUNs。 现如今通过iSCSI而不是文件系统的存储方式加重了在主机自身上管理并发主机访问的负担。所有的锁管理和写管理都必须在存储阵列以外解决,这意味着当一 台主机出现问题,你就有可能遇上灾难性的后果。

有几次,我已经完全失去了一个iSCSI LUN,这时一场几台ESXi主机之间的冲突刚刚结束,结果导致了LUN上的VMFS导致了严重的损坏。我不得不销毁卷,然后从备份中重新创建。在NFS 中,文件系统层中的所有任务都被阵列来处理,对于多系统的访问,这是一种更加紧密的环境——就像在虚拟化环境中一样。

此外,Paul指出,NFS导出的卷更容易被作为一个整体来管理。如果你需要调整NFS卷上的文件,你可以从一个工作站或者不在卷上运行的虚拟机来 挂载。在Linux上,你可以仅仅使用几条Linux工具箱中的命令来备份整个NFS卷。如果你这样做,你不用担心自己会踩到任何一根脚趾。但是如果你因 为表达格式错误不经意间把iSCSI LUN挂载到错误的机器上,所有的数据都会丢失。在许多情况下,你可能会发现,NFS在性能上击败了iSCSI。根据使用中的传输和存储情况, NFS在某些工作负载的情况下吞吐量可以超过iSCSI,尤其是当写入次数特别频繁的时候。在最坏的情况下,NFS的性能通常与iSCSI相差无几。 iSCSI有先进的工具集,但是对于一些原始操作,一些存储厂商支持基于NFS的VAAI,如完全的复制和卸载克隆。

NFS与光纤通道是两种不同的讨论话题,考虑到光纤通道需要专用HBA和交换机,但是即使这样,在与FCoE(以太网光纤通道)对比中,NFS非常 轻易地就赢得“简单性”方面的胜利。 在恢复性方面, iCSCI和FiBer Channel或者FCoE的冗余的存储路径比NFS更加先进。尽管大多数虚拟机管理程序将允许多个并发的存储路径,而NFS仅限于故障转移和绑定的网卡 聚合。然而,在实践中,这通常不是一个显著的问题。此外,人们希望NFSv4的广泛采用,将给人们带来多路径和附加的安全特征。曾经有几年,iSCSI是 虚拟化世界的宠儿—至少对于那些不要求当时的速度比光纤通道更快的公司是这样认为的。但是,趋势似乎现在正在改变,NFS正在被重新推回到聚光灯下。

This entry was posted in Achitecture. Bookmark the permalink.

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s