NetApp Tech OnTap NetApp Logo NetApp Logo
NetApp Tech OnTap
     
NetApp 与 Red Hat 联手推出 pNFS
Pranoop Erasani
기술 담당 이사, NFS
Justin Parisi
技术营销工程师

访问共享数据对于各种科学、工程、业务和财务应用程序性能来说至关重要。虽然网络文件系统 (Network File System, NFS) 是最广泛使用的共享数据访问标准,但是对于大规模计算集群而言,却会构成瓶颈,因为它会令作为共享文件系统中所有文件的单一访问点的文件服务器不堪重负。

大多数可以提供高性能和共享数据访问的解决方案或多或少地受到专利保护,并且无法获得 NFS 等标准协议已经实现的异构系统支持和广泛采用。

并行 NFS (pNFS) 标准是 NFS 版本 4.1 协议规范 (RFC 5661) 的一个子功能,可以解决单个服务器瓶颈问题并且极有希望成为并行数据访问的标准化解决方案。在本文中,我们将介绍 pNFS 的工作原理、NetApp 和 Red Hat 为了推动 pNFS 发展所付诸的努力,以及如何在集群模式 NetApp® Data ONTAP® 中实施 pNFS。

什么是 pNFS?

通过 pNFS 协议,客户端可以直接访问在两个或更多数据服务器之间拆分的文件。通过并行访问多个数据服务器,客户端可以显著加快 I/O。无论是按客户端,还是按文件划分,pNFS 均可提供优越的性能扩展,同时也不会影响向后兼容标准 NFS 协议;不具有 pNFS 扩展的客户端依然可以访问数据。

pNFS 架构和核心协议

pNFS 架构包含三个主要组件:

  • 元数据服务器处理所有非数据流量。它负责保留说明每个文件的存储位置和方式的元数据。
  • 数据服务器存储文件数据并且直接响应客户端读写请求。可以在多个数据服务器之间拆分文件数据。
  • 一个或多个客户端基于从元数据服务器收到的元数据中的信息,能够直接访问数据服务器。

在客户端、元数据服务器和数据服务器之间使用三种协议:

  • 控制协议用于同步元数据服务器和数据服务器。该协议在 pNFS 规范中无定义,而且随供应商而异。
  • pNFS 协议在客户端和元数据服务器之间使用。该协议实际上就是包含一些 pNFS 专有扩展项的 NFSv4. 协议。使用该协议可以检索和控制布局,其中包含的元数据用于描述访问存储于多个数据服务器中的文件所需的位置和存储访问协议。
  • 一组存储访问协议,由客户端用来直接访问数据服务器。pNFS 标准目前定义三种存储协议类别:基于文件 (RFC5661)、基于数据块 (RFC5663) 和基于对象 (RFC5664)。集群模式 Data ONTAP 目前支持基于文件的存储协议,并且使用 NFSv4.1 访问数据服务器。

pNFS 的元素。客户端使用 pNFS 协议从元数据服务器请求布局,然后使用存储访问协议直接访问数据服务器。

图 1)pNFS 的元素。客户端使用 pNFS 协议从元数据服务器请求布局,然后使用存储访问协议直接访问数据服务器。

要访问某个文件,客户端必须与元数据进行通信,打开该文件并请求文件布局。客户端收到文件布局后,将使用该信息和相应的存储访问协议在数据服务器之间直接并行执行 I/O,而不必更多地牵涉元数据服务器。pNFS 客户端将缓存布局,直至完成并行 I/O 操作。如果服务器无法承诺对服务器进行并行访问,pNFS 服务器有权撤销文件布局。而且,对于元数据访问,pNFS 不用修改 NFS 服务器中的现存机制。

NetApp 和 Red Hat 共同打造 pNFS

pNFS 解决方案需要客户端和服务器组件,才能发挥作用。NetApp 和 Red Hat 与上游社区展开广泛的合作,打造出首个标准化端到端 pNFS 解决方案。

NetApp 通过将存储集群与 pNFS 相结合,解决了扩展难题。运行集群模式 Data ONTAP 8.1 或更高版本的 NetApp FAS 和 V 系列存储可以从区区数 TB 数据扩展到 69 PB,并且可以作为单个存储实体进行管理,不仅简化了 pNFS 环境的管理,而且有助于消除计划内和计划外停机。

借助市面上首款全面支持的 pNFS 客户端(随 Red Hat Enterprise Linux® 提供),您可以开始规划和设计基于 pNFS 的新一代可扩展的文件系统解决方案。应用程序工作负载可以充分利用 pNFS,而无需修改,因此现有应用程序可以实现无缝过渡。

pNFS 和集群模式 Data ONTAP

从集群模式 Data ONTAP 8.1 开始,NetApp 采用了 pNFS 实施。(未提供 7-模式或 Data ONTAP 7G 实施)。在集群模式 Data ONTAP 中实施 pNFS,可以带来以下诸多优势:

  • 简化的基础架构。与 Lustre 和 GPFS 等其他并行文件系统相比,pNFS 的整体基础架构更为简单,除了存储之外,不再需要大量专用服务器。
  • 易管理性。通常,pNFS 包含多个必须单独进行管理的文件服务器。在集群模式 Data ONTAP 中,您可以将所有服务器端 pNFS 组件作为一个系统进行管理。
  • 无中断运行。NetApp 集群中部署的 pNFS 可像其他任何工作负载一样受益于无中断运行,执行存储故障转移、逻辑接口 (Logical Interface, LIF) 迁移和无中断卷移动等维护以及负载平衡操作。
  • 所有节点都可以用作元数据服务器。在集群模式 Data ONTAP 实施中,存储集群中的每个节点都可以用作元数据服务器和数据服务器。这消除了单个元数据服务器带来的潜在瓶颈问题,并且有助于在集群之间分布元数据。

基于 Data ONTAP 的 pNFS 与 NFS。每个节点都可以用作元数据服务器和数据服务器。

图 2)基于 Data ONTAP 的 pNFS 与 NFS。每个节点都可以用作元数据服务器和数据服务器。

要了解 pNFS 如何在集群模式 Data ONTAP 中工作,请假设客户端从集群中的一个节点装载了 pNFS 文件系统。为了访问某个文件,它向该节点发送了元数据请求。pNFS 实施将收集并返回到达该位置所需的信息,包括位置、文件布局和网络信息。客户端使用这些信息直接从数据所在的一个或多个节点访问数据。通过提供指向卷的直接路径,pNFS 可以帮助应用程序实现更高的吞吐量和更低的延迟。

pNFS 与集群模式 Data ONTAP 无中断运行无缝集成,包括 LIF 迁移、存储故障转移和卷移动。当执行其中一个操作时,pNFS 客户端和服务器会自动协商指向服务器的新直接 I/O 路径,这样有助于保持相同的吞吐量,同时又不会中断应用程序。这为存储管理员带来了巨大的优势,因为当他们在集群上执行维护操作时,不必再明确地配置指向文件系统的网络路径。因此,pNFS 与集群模式 Data ONTAP 相结合,不仅可以提高性能,而且还有助于简化维护操作期间的管理工作流。在配置和部署大型集群时,这会成为一项必不可少的功能。

Flexvol pNFS

图 3)在不采用 pNFS 的情况下,元数据路径和数据路径几乎都处于静止状态。借助 pNFS,可以在多个节点之间分布元数据服务,同时数据路径定向至文件所在节点的网络接口。当数据移动时,数据路径会自动调整,以保持最佳性能。

最佳实践

请注意采用下面几项最佳实践,实现最佳 pNFS 性能:

  • 有关 NFSv4.1 和 pNFS 客户端的最新兼容信息,请参见 NetApp 互操作性表
  • 每个支持 pNFS 的集群节点都应配置至少一个逻辑接口,以便于 pNFS 客户端直接访问存储在该节点上的卷。
  • 对于元数据密集型工作负载,应该将 pNFS 客户端配置为在集群中的所有节点之间分布装载,以使这些节点都可以用作元数据服务器。可以使用外部循环域名服务器 (Domain Name Server, DNS) 或者在集群模式 Data ONTAP 中通过机箱内 DNS 负载平衡完成上述操作。

有关基于 NetApp 存储部署 pNFS 的更多信息,请参阅 TR-4063

Red Hat pNFS 客户端

2011 年,在 Red Hat Enterprise Linux (RHEL) 版本 6.2 内核中首次发布了 Red Hat pNFS 客户端。从名号上来说,RHEL 6.2 和 RHEL 6.3 均为 pNFS 的"技术预览"版本。

RHEL 6.4 于 2013 年 2 月发布,包括首个 pNFS 公开发布版。有关基于运行 NFS 或 pNFS 的 NetApp 存储使用 Red Hat 客户端的完整信息,请参阅 TR-3183( 本技术报告目前正在修订中,因此在本文发表之时,可能无法立即查阅。请稍后查看)。

pNFS 用例

除了明显适用于高度并行的科学和工程应用程序之外,pNFS 独一无二的功能也是各种企业用例的最佳选择。

业务关键型应用程序

根据定义,业务关键型应用程序需要最高的服务级别。存储带宽和容量必须根据服务器要求无缝增长。随着 NetApp 存储卷透明地迁移到 NetApp 集群中功能更加强大的控制器,Red Hat Enterprise Linux pNFS 客户端会自动遵循数据移动进行自我调整,并重新优化数据路径。最终结果是停机时间近乎为零,并且不需要重新配置服务器或应用程序。

多租户存储解决方案

并行数据访问意味着多租户异构工作负载可以直接受益于 pNFS。数据驻留在 NetApp 集群中,并且未绑定到特定 NetApp 控制器。借助 pNFS,Red Hat Enterprise Linux 服务器可以查找最佳数据路径,并自动进行调整,以实现最佳吞吐量。

混合客户端和工作负载

使用 NFSv4.1 和 pNFS,可以灵活地从集群命名空间的任意位置装载文件系统。可以通过 pNFS 装载集群应用程序,同时仍可通过 NFSv3 装载传统应用程序。可以采用不同的 NFS 版本将客户端装载到从存储中导出的文件系统,因此这些文件系统可以共存,而无需对访问数据的应用程序进行任何重大更改。这样可以降低频繁更改管理方面的开销。

虚拟化环境

虚拟机管理程序和使用 Red Hat Enterprise Linux pNFS 客户端的虚拟机可以为每个会话保持多个连接,从而在多个网络接口 之间分布负载。可以将其认为是 NFS 的多路径,只是不需要单独的多路径驱动程序或配置。

结论

NetApp 是 NFSv4.1 和 pNFS 的主要推动者,同时负责两个工作组的工作。此外,NetApp 还撰写和编辑了大部分 NFSv4.1 规范。我们充分践行了使用行业标准解决存储问题的承诺。

最近在发布的 RHEL 6.4 中全面推出了 pNFS 客户端,您现在可以通过结合使用 Red Hat 客户端和 NetApp 集群模式 Data ONTAP 来部署 pNFS,从而进行测试和(或)生产。

 对 pNFS 有任何见解?

请在 NetApp 社区中在线提出问题、交流观点、分享看法。

作者:NFS 技术总监 Pranoop Erasani 和技术营销工程师 Justin Parisi

Pranoop 是 NetApp 协议技术工程组织的首席 NFS 架构师,负责 Data ONTAP 的 NFS 协议开发工作。他专注于为集群模式 Data ONTAP 设计 pNFS。Pranoop 强烈主张在集群系统中利用 NFSv4.1/pNFS。他参加了大量与 pNFS 互联网工程任务小组 (Internet Engineering Task Force, IETF) 标准相关的讨论,并且经常在各种 NFS 互操作性活动上发言。他是技术营销和产品管理方面的主要技术顾问,为正在实施的客户部署和存储软件解决方案提供指导。

Justin 的工作地点在三角研究园 (Research Triangle Park, RTP),过去 5 年一直在 NetApp 全球支持团队工作,担任技术支持工程师兼紧急问题解决办法专家级工程师。他专注于集群模式 Data ONTAP 并且撰写了故障排除课程资料和大量知识库文章。他兴趣广泛,涉足 CIFS、NFS、SNMP、OnCommand® System Manager、Unified Manager、SnapDrive® 和 SnapManager® 以及 Microsoft® Exchange、SQL Server®、Active Directory®、LDAP 等众多技术领域,是名副其实的多面手。

Tech OnTap
立即订阅
Tech OnTap 每月发布一次,为用户提供 IT 见解,以及对实际应用的最佳实践、技巧和工具、幕后技术访谈、演示、同行评论等的独家访问。.

访问 NetApp 社区中的 Tech OnTap ,立即订阅。

Explore
Explore
了解关于 pNFS 的更多信息

想要详细了解 pNFS 以及如何部署 pNFS 来加速 IT 环境?请访问以下链接:

Explore
 
TRUSTe
联系我们   |   如何购买   |   反馈   |   招聘  |   订阅   |   隐私政策   |   © 2013 NetApp