什么是pNFS?这个之前说过了,不多说,下面介绍本次关于pNFS的实验情况:
我用的是虚拟机虚拟pNFS Data Server 、 pNFS Metadata Server、pNFS Client,它们的IP如下:
pNFS Data Server:192.168.245.138
pNFS Metadata Server:192.168.245.134
pNFS Client:
获取支持pnfs的源代码
git clone git://git.linux-nfs.org/projects/bhalevy/linux-pnfs.git
获取支持配置pnfs的配置工具
git://linux-nfs.org/~bhalevy/pnfs-nfs-utils.git将内核源码分别在pNFS Data Server 、 pNFS Metadata Server、pNFS Client上分别重新编译。需要在.config文件中添加如下配置信息:
CONFIG_NETWORK_FILESYSTEMS=y CONFIG_NFS_FS=m CONFIG_NFS_V4=y CONFIG_NFS_V4_1=y CONFIG_PNFS=y CONFIG_NFSD=m CONFIG_PNFSD=y CONFIG_SPNFS=y CONFIG_SPNFS_LAYOUTSEGMENTS=y CONFIG_PNFS_FILE_LAYOUT=m将pnfs配置工具分别在pNFS Data Server、 pNFS Metadata Server、pNFS Client上安装。安装时可能需要下列工具: libtirpc-devel、tcp_wrappers-devel、libevent-devel、nfs-utils-lib-devel libgssglue-devel、libnfsidmap-devel、libblkid-devel、libcap-devel
pNFS Data Server
在/目录下新建export文件夹,在export文件夹中建spnfs文件夹。
在Data Server的/etc/exports文件中添加下面内容:
/export/spnfs *(rw,sync,fsid=0,insecure,no_subtree_check,no_root_squash)
pNFS Metadata Server
在/目录下新建export文件夹和spnfs文件夹,在spnfs文件夹中建立192.168.245.138文件夹。
在pNFS MetaData Server的/etc/exports文件中添加下面内容:
/export *(rw,sync,pnfs,fsid=0,insecure,no_subtree_check, no_root_squash)
注:其中有pnfs
在pNFS MetaData Server的/etc/spnfs文件中添加下面内容:
[General]
Verbosity = 1
Stripe-size = 8192
Dense-striping = 0
Pipefs-Directory = /var/lib/nfs/rpc_pipefs
DS-Mount-Directory = /spnfs
[DataServers]
NumDS = 1
DS1_IP = 192.168.245.138
DS1_PORT = 2049
DS1_ROOT = /
DS1_ID = 1
注:如果没有该文件,自己新建一个。
pNFS Client
采用下面命令加载layout驱动模块
modprobe nfs_layout_nfsv41_files
到此所有的配置工作完成,开始检查环境是否搭建成功。
pNFS Data Server
关闭防火墙
service iptables stop
开启NFS服务
Service nfs restart
pNFS MetaData Server
关闭防火墙
service iptables stop
开启spnfs服务
spnfsd
挂载pNFS Data Server
mount –t nfs4 –o minorversion=1 192.168.245.138:/ /spnfs/192/168/245/138/
pNFS Client:
关闭防火墙
service iptables stop
挂载pNFS MetaData Server
mount –t nfs4 –o minorversion=1 192.168.245.134:/ /mnt
至此,本次pNFS实验环境搭建完成。