pNFS (并行NFS) 详解
- 格式:wps
- 大小:224.50 KB
- 文档页数:7
NFS理论《1》概念:(Network FileSystem)的简称特点:可以实现不同操作的系统之间的共享,主要用于linux服务器与客户之间的共享个别的档案,实现要比samba简单的多。
要实现window与Linux之间的共享还是samba比较容易主配置文件:/etc/exports主要设定这个文档。
系统没有默认,系统不一定会存在,需要手动创建/usr/sbin/exportfs维护分享资源指令/usr/sbin/showmount客户端指令用于查看NFS服务器上的共享资源(showmount -e)/var/lib/nfs/xtab用于查看哪些客户端访问过本机的共享资源相关服务:portmap(端口映射服务)ypserv服务---必要要先启动第一个服务《2》安装及相关配置1如果没有exports档案请手动创立注意名字别错2 共享及权限设置格式(vi /etc/exports)预分享目录主机名1或者IP(参数1,参数2)(a)参数参数1 权限:ro只读rw可读可写参数2no_root_squash:如果想用root分享目录,写入档案还具有保root权限可使用本参数,及其不安全不推荐使用root_squash:在登入NFS主机使用分享目录的使用者如果是root,那么它的身份将会被压缩为匿名用户,用户会变成nobady这个系统账户的身份all_squash不管以什么用户登入,他的身份都会被压缩为匿名用户即nobadyanonuid: *_squash设定用户匿名访问的UID值,通常为nobody,可自行设定必须是你的/etc/passwd当中aonogid:*_squash设定GID用法作用同UIDsync:数据同步写入到硬盘中async:先放于内存中。
NFS实验典型案例1.要将/tmp分享出去。
要就所有人都可以读写,要让root写入还具有root 的权限vi /etc/exprots写入(/tmp *(rw,no_root_squash)注意:A *()中间不可以有空格B root的身份登入你的linux主机,那么你的mount上我这部主机上的/tmp 之后,你在该mount目录中将有root的权限2.要将/home/public分享出去。
nfs服务的工作流程下载温馨提示:该文档是我店铺精心编制而成,希望大家下载以后,能够帮助大家解决实际的问题。
文档下载后可定制随意修改,请根据实际需要进行相应的调整和使用,谢谢!并且,本店铺为大家提供各种各样类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,如想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by theeditor. I hope that after you download them,they can help yousolve practical problems. The document can be customized andmodified after downloading,please adjust and use it according toactual needs, thank you!In addition, our shop provides you with various types ofpractical materials,such as educational essays, diaryappreciation,sentence excerpts,ancient poems,classic articles,topic composition,work summary,word parsing,copy excerpts,other materials and so on,want to know different data formats andwriting methods,please pay attention!NFS(Network File System)即网络文件系统,是 FreeBSD 支持的文件系统中的一种,它允许网络中的计算机之间通过 TCP/IP 网络共享资源。
nfs 存储格式原理
NFS(Network File System)是一种分布式文件系统,它允许不同计算机系统之间共享文件和目录。
NFS的存储格式和原理如下:
1.存储格式:NFS存储文件时,会将文件分成若干个数据块,每个数据块称为一个“数据包”(packet)。
数据包的大小通常为8KB,但也可能将操作分成更小尺寸的分片。
这些数据包在服务器端进行存储,并由客户端进行访问和管理。
2.原理:NFS的工作原理基于客户端/服务器架构。
服务器程序运行在存储设备的计算机上,并向其他计算机提供对文件系统的访问。
客户端程序运行在需要访问共享文件系统的计算机上,用于访问和管理存储在服务器上的文件和目录。
当客户端需要访问服务器上的文件或目录时,它会向服务器发送请求,请求的内容包括要访问的文件或目录的路径、读写权限等。
服务器接收到请求后,会根据请求的内容将相应的数据包传输给客户端。
客户端接收到数据包后,会将其组装成完整的文件或目录,并进行相应的操作。
NFS传输协议用于服务器和客户机之间文件访问和共享的通信。
这个协议确保了客户机能够远程地访问保存在存储设备上的数据,就像访问本地文件一样。
系统架构中,NFS允许计算的客户—服务器模型。
服务器实施共享文件系统,以及客户端所连接的存储。
客户端实施用户接口来共享文件系统,并加载到本地文件空间
当中。
VFS(Virtual File System)确定需求倾向于哪个存储,然后使用哪些文件系统来满足需求。
由于这一原因,NFS 是与其他文件系统类似的可插拔文件系统。
nfs工作流程NFS(Network File System)即网络文件系统,它是一种基于RPC (Remote Procedure Call)协议的分布式文件系统。
它能够允许远程计算机对本地文件进行读、写、执行等操作。
下面将详细介绍NFS的工作流程。
NFS的工作流程可分为以下几个步骤:1.客户端发送请求:当客户端需要访问NFS文件时,它发送一个请求,请求指定要访问的文件系统和文件名,以及执行的操作类型(比如读取或写入)。
2.服务器响应请求:当服务器接收到客户端的请求后,它会查询文件系统是否已经挂载,如果没有挂载,则会拒绝该请求。
如果文件系统已经挂载,那么它会尝试找到指定的文件并执行指定的操作。
3. RPC协议进行通信:NFS主要是基于RPC (Remote Procedure Call)协议进行通信的。
RPC协议是一种用于客户端和服务器之间通信的标准,它允许远程计算机执行本地计算机上的某些操作。
4. NFS响应:当服务器执行所需操作后,它会返回一个NFS响应。
该响应包括请求的状态(成功或失败)、文件内容(如果是读取操作)、错误信息等。
5.客户端处理响应:当客户端收到服务器的响应后,它会进行处理。
如果请求成功,那么客户端将执行所需操作并处理文件内容。
如果请求失败,那么客户端将返回错误信息。
NFS的工作流程主要基于三个主要的协议:NFS协议、RPC协议和挂载协议。
其中,NFS协议用于实现文件共享,RPC协议用于客户端和服务器之间的通信,挂载协议用于实现文件系统的挂载。
NFS工作流程的优点是可以实现远程文件的访问,从而使得远程计算机可以像访问本地文件一样访问远程文件。
并且NFS协议是一种基于标准的协议,使得不同的设备之间通信更加容易和方便。
总的来说,NFS工作流程的基本思路就是让客户端和服务器通过RPC协议进行通信,实现远程计算机对本地文件的操作。
通过这种方式,我们可以方便地访问远程文件,从而实现更加高效的文件共享。
Centos7 特性构架和限制构架只有 64 位硬件支持 Red Hat Enterprise Linux 7.0 安装。
Red Hat Enterprise Linux 7.0 可将 32 位操作系统作为虚拟机运行,其中包括之前的 Red Hat Enterprise Linux 版本。
Red Hat Enterprise Linux 7.0 在以下架构中作为单一套件使用。
:•64-bit AMD•64-bit Intel•IBM POWER7 和 POWER8•IBM System z (支持 IBM zEnterprise 196 硬件或者更新的版本)功能和限制下表列出了 Red Hat Enterprise Linux 7 与之前的版本 5 和版本 6 之间的功能及限制对比。
表 3.1. Red Hat Enterprise Linux 5、6 和 7 的限制软件包及支持变化淘汰的软件包淘汰的软件包删除的软件包删除的软件包淘汰的驱动程序和模块图形驱动程序xorg-x11-drv-ast、xorg-x11-drv-cirrus、xorg-x11-drv-mach64、xorg-x11-drv-mga、xorg-x11-drv-openchrome注:上述图形驱动程序将由内核模式设置(KMS)驱动程序替换。
输入驱动程序xorg-x11-drv-void存储驱动程序3w-9xxx、arcmsr、aic79xx、Emulex lpfc820不再继续使用的内核驱动程序、模块及功能Red Hat Enterprise Linux 6 已从 Red Hat Enterprise Linux 7.0 中删除的驱动程序及模块列表。
存储驱动程序megaraid_mm、cciss、aic94xx、aic7xxx、i2o、ips、megaraid_mbox、mptlan、mptfc、sym53c8xx、ecryptfs、3w-xxxx联网驱动程序3c59x、3c574_cs、3c589_c、3c589_cs、8390、acenic、amd8111e、at76c50x-usb、ath5k、axnet_cs、b43、b43legacy、can-dev、cassini、cdc-phonet、cxgb、de4x5、de2104x、dl2k、dmfe、e100、ems_pci、ems_usb、fealnx、fmvi18x_cs、fmvj18x_cs、forcedeth、ipw2100、ipw2200、ixgb、kvaser_pci、libertas、libertas_tf、libertas_tf_usb、mac80211_hwsim、natsemi、ne2k-pci、niu、nmckan_cs、nmclan_cs、ns83820、p54pci、p54usb、pcnet32、pcnet_32、pcnet_cs、pppol2tp、r6040、rt61pci、rt73usb、rt2400pci、rt2500pci、rt2500usb、rtl8180、rtl8187、s2io、sc92031、sis190、sis900、sja1000、sja1000_platform、smc91c92_cs、starfire、sundance、sungem、sungem_phy、sunhme、tehuti、tlan、tulip、typhoon、uli526x、vcan、via-rhine、via-velocity、vxge、winbond-840、xirc2ps_cs、xircom_cb、zd1211r图形驱动程序xorg-x11-drv-acecad、xorg-x11-drv-aiptek、xorg-x11-drv-elographics、xorg-x11-drv-fpit、xorg-x11-drv-hyperpen、xorg-x11-drv-mutouch、xorg-x11-drv-penmount输入驱动程序xorg-x11-drv-acecad、xorg-x11-drv-aiptek、xorg-x11-drv-elographics、xorg-x11-drv-fpit、xorg-x11-drv-hyperpen、xorg-x11-drv-mutouch、xorg-x11-drv-penmount存储与文件系统存储LIO 内核目标子系统Red Hat Enterprise Linux 7.0 使用 LIO 内核目标子系统,它是块存储的标准开源 SCSI 目标,可用于以下存储介质:FcoE、iSCSI、iSER(Mellanox InfiniBand)和 SRP(Mellanox InfiniBand)。
pNFS (并行NFS) 详解pNFS (并行NFS) 详解pNFS(Parallel Network File System)是一个用于高性能并行文件共享的开放标准。
它的主要目的是通过并行数据访问提高文件系统的性能和吞吐量。
在本文中,我们将深入探讨pNFS的工作原理、优势以及它在实际应用中的作用。
一、pNFS的基本概念和工作原理pNFS是一种新型的文件访问协议,它在NFS(Network File System)的基础上进行了扩展。
传统的NFS是基于客户端-服务器模型的,即客户端通过请求数据块的方式从服务器上获取文件数据。
而pNFS则引入了数据块的并行访问,将文件分割成若干个独立的数据块,并使得不同的客户端可以同时访问这些数据块,从而提高系统的并行性能。
pNFS的工作原理可以简单概括为以下几个步骤:1. 元数据服务(MDS):与传统的NFS类似,pNFS中的文件元数据由MDS进行管理。
MDS负责维护文件系统的目录结构、文件属性等信息,并为客户端提供访问这些信息的接口。
2. 数据服务(DS):在pNFS中,文件的数据块由DS进行管理。
DS负责存储文件的数据块,并提供访问这些数据块的接口。
不同的DS可以分布在不同的服务器上,从而实现数据的并行访问。
3. 客户端:客户端是pNFS系统中的文件访问发起者。
当客户端需要访问一个文件时,它首先查询MDS获取该文件的元数据信息。
随后,根据元数据信息,客户端直接从DS获取所需数据块,从而实现并行访问和高性能的文件共享。
二、pNFS的优势pNFS作为一种开放标准的文件访问协议,具有以下几个显著的优势:1. 高性能:由于采用了并行数据访问的方式,pNFS可以大大提高文件系统的性能和吞吐量。
多个客户端可以同时访问文件数据块,减少了访问瓶颈,提高了整体的并行性能。
2. 扩展性:pNFS支持可扩展的文件系统架构。
因为文件数据块和元数据分离,不同的DS和MDS可以部署在不同的服务器上,从而实现更好的资源利用和灵活的扩展性。
nfs校验机制NFS校验机制NFS(Network File System,网络文件系统)是一种分布式文件系统,它允许不同操作系统的计算机通过网络共享文件和目录。
NFS 校验机制是一种用于保证数据传输的完整性和可靠性的机制。
在NFS中,校验机制对于数据的安全性和准确性至关重要。
NFS校验机制的作用是在数据传输过程中检测和纠正错误。
它可以通过校验和、冗余校验等方式来实现。
校验和是一种简单的校验方式,它通过对数据进行算术运算来计算出一个校验值,然后将该校验值与传输过程中接收到的数据进行比对,以判断数据是否完整和正确。
而冗余校验则是通过在数据中添加冗余信息来实现的,接收方可以通过这些冗余信息来检测和纠正数据传输中的错误。
NFS校验机制的目的是确保数据在传输过程中不会发生损坏或丢失。
在进行数据传输之前,发送方会计算数据的校验和,并将其附加在数据包中。
接收方在接收到数据包后,会对数据进行校验,并与发送方计算的校验和进行比对。
如果校验和不匹配,那么说明数据在传输过程中发生了错误,接收方会要求发送方重新发送数据。
这样可以保证数据的准确性和完整性。
NFS校验机制还可以通过冗余校验来提高数据传输的可靠性。
在进行数据传输之前,发送方会对数据进行编码,并在数据中添加冗余信息。
接收方在接收到数据后,会对冗余信息进行解码,并通过比对解码后的冗余信息和数据的原始信息来检查数据的完整性。
如果冗余信息和原始信息不一致,那么说明数据在传输过程中发生了错误,接收方会要求发送方重新发送数据。
这样可以避免数据损坏或丢失的情况。
总结起来,NFS校验机制在数据传输过程中起到了保护数据完整性和可靠性的重要作用。
通过校验和和冗余校验等方式,可以检测和纠正数据传输中的错误,确保数据的准确性和完整性。
在实际应用中,我们可以根据需求选择合适的校验方式,以提高数据传输的安全性和可靠性。
同时,我们还需要注意校验机制的性能开销,以确保数据传输的效率和速度。
第12章NFS服务器配置本章主要内容:●NFS服务器工作原理●NFS服务器的配置●NFS客户端的配置12.1 NFS服务器工作原理12.1.1 什么是NFS网络文件系统(N etwork F ile S ystem,NFS)最初是由Sun Microsytem公司於1984 年所开发出来的,是在Unix系统间实现磁盘文件共享的一种方法,它支持应用程序在客户端通过网络访问位于服务器磁盘中数据的一种文件系统协议。
NFS 的基本原则是“容许不同的客户端及服务端通过一组RPCs分享相同的文件系统”,它独立于操作系统。
NFS对于同一网络上的多个使用类UNIX用户间共享目录非常方便。
譬如,一组致力于同一工程项目的用户可以通过使用NFS文件系统在本地机中挂载一个共享目录,这些用户访问该共享目录就像访问本机上的目录一样方便。
NFS 提供了以下的服务:1.在目录(directory)中查找文件2.列出目录中的文件3.管理目录4.取得各文件的属性(file attribute)5.文件的读/写12.1.2什么是RPC远程过程调用(R emote P rocedure C all,RPC)是一个计算机通信协议,该协议允许运行于一台计算机的程序调用另一台计算机的子程序,而程序员无需额外地为这个交互作用编程。
RPC采用客户机/服务器模式。
请求程序是客户机,而服务提供程序就是一个服务器。
首先,客户端发送一个有进程参数的调用信息到服务进程,然后等待应答信息。
在服务器端,进程保持睡眠状态直到调用信息的到达为止。
当一个调用信息到达,服务器获得进程参数,计算结果,发送答复信息,然后等待下一个调用信息,最后,客户端调用过程接收答复信息,获得进程结果,然后调用执行继续进行。
RPC 最主要的功能就是在指定每个NFS 功能所对应的port number ,並且回报給客户端,让客户端可以连結到正确的端口上去。
那RPC 又是如何知道每个NFS 的端口呢?这是因为服务器在启动NFS服务前要先启动RPC服务,当服务器启动NFS服务后会随机取用几个端口,并主动向RPC注册,因此RPC就知道每个端口对应的NFS功能,然后RPC 使用固定的111杜阿克来监视客户端的请求,并告诉客户端服务器NFS的正确端口。
nfs常用命令-概述说明以及解释1.引言1.1 概述在网络文件系统(Network File System,NFS)中,常用命令是管理和操作NFS的关键工具。
NFS是一种分布式文件系统协议,允许远程计算机之间共享文件和目录。
通过使用NFS常用命令,系统管理员可以方便地管理文件、目录和权限设置,实现文件共享和访问控制。
NFS常用命令包括基本命令、文件和目录管理命令以及网络相关命令,可以帮助管理员快速有效地操作和管理NFS系统。
掌握这些命令对于系统管理人员来说是至关重要的,可以提高工作效率,确保系统运行稳定和安全。
在本文中,我们将介绍NFS常用命令的基本用法和实际应用场景,探讨这些命令在系统管理中的重要性和作用。
通过深入了解和掌握这些命令,管理员可以更好地管理和维护NFS系统,确保系统的可靠性和稳定性。
1.2文章结构1.2 文章结构本文主要分为引言、正文和结论三个部分。
在引言部分,我们将介绍NFS(Network File System)的概述、文章的结构以及撰写该文的目的。
正文部分将详细介绍NFS常用的基本命令、文件和目录管理命令以及网络相关命令。
在结论部分,我们将总结本文介绍的常用命令,并探讨这些命令在实际应用场景中的重要性和对于系统管理的意义。
通过这样的结构,读者可以全面了解NFS的常用命令及其应用。
1.3 目的本文的主要目的是介绍NFS(Network File System)常用命令,帮助读者更好地理解和掌握NFS文件系统的管理和操作。
通过学习本文内容,读者可以了解如何使用不同的命令来管理文件和目录,以及在网络环境下如何使用NFS进行文件共享和访问。
此外,本文还将讨论NFS在系统管理中的重要性,以及实际应用中的具体场景。
通过学习本文,读者可以提高对NFS的理解,从而更有效地管理和维护文件系统。
2.正文2.1 基本命令在使用NFS(Network File System)时,了解一些基本的命令是非常重要的。
nfs的工作原理(一)NFS的工作原理什么是NFSNFS(Network File System)是一种基于网络的分布式文件系统,它允许不同操作系统的计算机之间共享文件和目录,使得远程计算机可以像使用本地文件一样访问远程文件。
NFS的工作原理NFS的工作原理可以被简单地概括为以下几个步骤:1.客户端请求:客户端计算机上的应用程序向NFS客户端发送文件操作的请求,如读取、写入或创建文件等。
2.路由选择:NFS客户端将请求转发到网络中的适当服务器。
通常,客户端将根据文件路径和服务器之间的距离等因素选择最佳的服务器。
3.服务器处理:NFS服务器接收到来自客户端的请求后,会进行相应的权限验证,并根据请求的操作类型执行相应的文件操作。
4.数据传输:如果是读取文件的请求,服务器将文件的数据读取到内存中,并将其传输回客户端。
如果是写入文件的请求,客户端将数据传输到服务器并进行写入操作。
5.通信协议:NFS使用RPC(Remote Procedure Call)协议来实现客户端和服务器之间的通信。
在RPC过程中,客户端会通过网络向服务器发送请求,并等待服务器的响应。
6.错误处理:如果在执行操作过程中出现错误,服务器将向客户端发送相应的错误消息,以便客户端可以采取适当的措施。
NFS的优势NFS作为一种分布式文件系统,具有以下几个优势:•共享性:NFS允许多个客户端同时访问和共享同一文件或目录,提供了高效的文件共享机制。
•透明性:NFS使得远程文件的访问看起来就像是本地文件一样,用户无需关心文件的具体位置和存储细节。
•可扩展性:NFS支持在服务器集群中添加或移除服务器,并可以根据需要调整存储容量和性能。
•跨平台:NFS可以在不同的操作系统之间实现文件的共享和访问,包括UNIX、Linux、Windows等。
•容错性:NFS具有容错机制,可以通过自动备份和故障转移来保证文件系统的可靠性和持续性。
总结通过以上的介绍,我们了解了NFS的工作原理以及它作为一种分布式文件系统的优势。
Parallel NFS (pNFS) is a part of the NFS v4.1 standard that allows compute clients to access storage devices directly and in parallel. The pNFS architecture eliminates the scalability and performance issues associated with NFS servers deployed today. This is achieved by the separation of data and metadata, and moving the metadata server out of the data path. "Parallel storage based on pNFS is the next evolution beyond clustered NFS storage and the best way for the industry to solve storage and I/O performance bottlenecks. Panasas was the first to identify the need for a production grade, standard parallel file system and has unprecedented experience in deploying commercial parallel storage solutions."– Robin Harris, Data Mobility Group1. pNFS简介pNFS是并行网络文件系统,为NFSv4.1的一部分,与NFSv3不同的是,它将元数据与数据进行分离,允许客户端直接与数据服务器进行交互。
这种机制解决了传统NFS的性能瓶颈问题,从而使得系统获得高性能和高扩展性的特性。
最近几年,高性能数据中心已经快速向并行技术转移,比如集群计算和多核心处理器,这些加速了并行应用的开发和广泛使用。
虽然这种并行使用的增加解决了大多数的计算瓶颈,它却把性能瓶颈转移到了存储I/O系统。
随着主流计算转向并行,存储子系统也需要转移到并行技术。
为了成为通用的方式,需要一个标准的方法,能够从多个存储供应商选择存储设备并且从任何客户端都能自由的存取并行存储器。
为了转向高一等级的性能水平,当存储系统依附到一个经济有效的标准时必须对并行做最优化。
NFS,当前流行的网络文件系统标准并不支持并行I/O,主要存储供应商提供的现有并行产品也不能彼此兼容。
在业界提供出一个并行存储的标准之前,用户选用设备都将继续受到妨碍,他们勉强的部署一套存在许多不兼容的并行存储系统。
1.1 当今NFS遇到的挑战为了了解pNFS是如何工作的,首先必须了解在一个典型的NFS结构中当客户端试图存取一个文件时是如何进行的。
图1展示了一个传统的NFS结构。
你可以看到NFS服务器位于客户端计算机和实际的物理存储装置之间。
当客户端想要存取存储器上的文件时,它必须创建一个到NFS 服务器的连接(也就是创建一个安装点)。
当客户端试图存取存文件时NFS服务器起仲裁者的作用,管理所有需要的数据处理,把数据传送到提出请求的客户端。
由较少的客户端访问相对较小的数据集时这种结构工作的很好,通过直接连接的存储器能够收到显著的效益(就象你PC上的磁盘);也就是数据能够由多个客户端共享,能够由任何有NFS 能力的客户端访问。
可是如果大量的客户端需要访问数据或太大的数据集时,NFS服务器很快就变成了一个瓶颈,抑制了系统性能。
pNFS从根本上消除了这个瓶颈,允许从许多许多客户端以难以置信的速度快速存取非常大的数据集。
1.2 pNFS消除了瓶颈这里我们可以看到pNFS如何修改了NFS结构,消除了我们刚才提到的性能瓶颈。
实质上的变化是NFS服务器移动到了带外,变成了一个元数据服务器。
意思就是它管理着有关数据布局的数据。
那么当一个客户端需要存取数据时它需要做什么呢?它首先要做的是与NFS服务器联系就象先前例子中所做的一样。
可是这次服务器提供给客户端一个到哪里去寻找所要数据的布局图和读/修改/写这些数据的授权书。
一旦客户端有了这两部分,它存取数据时就直接与存储设备联系。
使用传统的NFS时数据的每个比特都要通过NFS服务器,使用pNFS时NFS服务器从主数据通路中移出来了,允许客户端自由地和快速地存取数据。
当然所有的NFS的优点都继续保留,但现在消除了瓶颈,数据能够以并行方式以非常快的吞吐率被访问,系统容量能够容易的扩展而不影响总性能。
NFSv41和pNFS主要由RFC5661(NFSv4.1)、RFC5662(NFSv4.1 XDR)、RFC5663(pNFS Block/Volume Layout)、RFC5664(Object-Based pNFS Operations)描述,这些标准已经于2010.01正式发布。
目前,pNFS商业和开源产品都比较少,而且实现方面还不成熟。
Linux kernel 从2.6.30版本加入了pNFS支持,目前最新版本为2.6.38,pNFS仍处于Expermental,包括Server 和Client。
NFS V4.1包括一个扩展Parallel NFS(pNFS),它将普通NFS 的优势和并行输入输出(I/O)的高传输率结合起来。
使用pNFS 时,客户机也像以前一样可以从服务器共享文件系统,但数据不经过NFS 服务器。
相反,客户机系统将与数据存储系统直接连接,为大型数据传输提供许多并行的高速数据路径。
在简短的初始化和握手(handshaking)过程之后,pNFS 服务器开始退出―舞台‖,不再阻碍传输速率。
图2 显示一个pNFS 配置。
顶部是计算集群的节点,比如大量便宜的、基于Linux的刀片服务器群。
左边是NFSv4.1 服务器。
(为了方便讨论,我们称之为pNFS 服务器)。
底部是一个大型的并行文件系统。
图2. pNFS 的概念组织结构像NFS 一样,pNFS 服务器也导出文件系统,并且保留和维护数据仓库中描述每个文件的标准元数据。
pNFS 客户机和NFS 一样—在这里是集群中的一个节点—挂载服务器导出的文件系统。
类似于NFS,每个节点都将文件系统看作本地的物理附加文件系统。
元数据的更改通过网络传回给pNFS 服务器。
然而,与NFS 不同的是,pNFS 在Read 或Write 数据时是在节点和存储系统之间直接操作的,如图2 的底部所示。
从数据事务中移除pNFS 服务器为pNFS 提供了明显的性能优势。
因此,pNFS 保留了NFS 的所有优点,并且改善了性能和可伸缩性。
扩展存储系统的容量几乎不会影响客户机配置,同时还可以增加客户机的数量以提高计算能力。
您只需同步pNFS 目录和存储系统。
2. pNFS 的具体细节如图3 所示,pNFS 是由3 个协议构成的。
图3. pNFS 的 3 个协议pNFS 协议在pNFS 服务器和客户机节点之间传输文件元数据(正式名称是布局,layout)。
可以将布局想象成地图,它描述如何在数据仓库之间分配文件。
另外,布局还包含许可和其他文件属性。
布局捕捉到元数据并在pNFS 服务器中持久化这些数据之后,存储系统仅需执行I/O。
存储访问协议指定客户机从数据仓库访问数据的方式。
可以猜到,每个存储访问协议都定义自己的布局形式,因为访问协议和数据组织必须保持一致。
控制协议同步元数据服务器和数据服务器之间的状态。
同步是对客户机隐藏的,比如重新组织介质上的文件。
此外,NFSv4.1 并没有规定控制协议;因此它有多种形式,这在性能、成本和特性方面的竞争为供应商提供了灵活性。
有了这些协议之后,您就可以实践以下客户机访问流程:1客户机为当前的文件请求一个布局。
2客户机通过打开元数据服务器上的文件获得访问权。
3客户机获得授权和布局之后,就可以直接从数据服务器访问信息。
根据存储类型所需的存储访问协议,访问继续进行。
(后面还对此进行论述)。
4如果客户机更改了这个文件,则会相应地更改布局的客户机实例,并且将所有更改提交回到元数据服务器。
5当客户机不再需要这个文件时,它将提交剩余的更改,并将布局副本返回给元数据服务器,然后关闭文件。
尤其需要注意的是,Read 操作是由一系列协议操作组成的:6客户机向pNFS 服务器发送一个LOOKUP+OPEN 请求。
服务器会返回一个文件句柄和状态信息。
7客户机通过LAYOUTGET 命令请求从服务器获取一个布局。
服务器将返回所需的文件布局。
8客户机向存储设备发出一个READ 请求,该请求同时初始化多个Read 操作。
9当客户机完成读操作时,它以LAYOUTRETURN 表示操作结束。
10如果与客户机共享的布局因为分离活动而过时,服务器将发出CB_LAYOUTRECALL,表明该布局无效,必须清除和/或重新获取。
Write 操作类似于Read 操作,不同的地方是客户机必须在LAYOUTRETURN 将文件更改―发布‖到pNFS 服务器之前发出LAYOUTCOMMIT。
布局可以缓存到每个客户机,这进一步提升了性能。
如果一个客户机不再使用时,它会自动放弃从服务器获取布局。
服务器还能限制Write 布局的字节范围,以避免配额限制或减少分配开销等等。
为了避免缓存过期,元数据服务器将收回不准确的布局。
收回发生之后,每个关联的客户机必须停止I/O,并且必须重新获取布局或从普通的NFS 访问文件。
在服务器尝试管理文件(比如迁移或重新划分)之前必须执行回收过程。
3 三种协议访问存储pNFS支持多种协议(Block[FC], Object[OSD], Files[NFS])直接访问数据,需要对客户端功能进行扩展以支持不同的layout(LAYOUT4_FILE, LAYOUT4_BLOCK_VOLUME, LAYOUT4_OSD2_OBJECTS)。
:文件存储通常是由传统的NFS 服务器实现的,比如由Network Appliance 生成的服务器。
存储群是由一组NFS 服务器组成的,并且每个文件都跨越所有服务器或服务器的子集,从而使客户机能够同时获取文件的各个部分。
在这里,布局枚举持有文件片段的服务器、每个服务器上文件片段的大小,以及每个片段的NFS 文件句柄。
块存储通常是使用由许多磁盘或RAID 阵列组成的存储区域网络(SAN)来实现的。
许多供应商都提供SAN解决方案,包括IBM 和EMC。
有了块存储之后,文件可以被划分为块并分布到不同的驱动器中。