随着nfs v4 的推出,在nfs v4的基础上,sun推测了pNFS
- pNFS(Parallel NFS,并行 NFS)是一种分布式并行文件系统
- 为客户机提供了独立访问文件数据(文件内容)和元数据(有关文件的信息,如名称、位置和大小)的功能
- 这种分离功能使文件数据可按照所需的方式进行存储,对于nfs的扩展提供了很好的机制,同时由于元数据和文件数据的分离,能够提供更好的性能
- 结构如下(图片引自 http://www.pnfs.com/ )
1. 开始准备os环境
现有环境
- 操作系统环境 SunOS 5.11 snv104
- 如果不需要修改代码,建议使用BFU方式安装 需要和现有操作系统相对应
- BFU是一个快速的更新opensolaris kernel的工具,使用cpio对编译的归档直接替换老内核的方法,并且进行内核检查
我们使用的是 http://dlc.sun.com/osol/nfsv41/downloads/20081204/SUNWonbld-closedv5.i386.tar.bz2 安装工具包 http://dlc.sun.com/osol/nfsv41/downloads/20081204/on-pnfs-closed-bins-closedv5.i386.tar.bz2
安装 SUNWonbld工具
# bzcat SUNWonbld-closedv5.i386.tar.bz2 | tar -xf -
# pkgadd -d onbld SUNWonbld
修改环境变量
# PATH=/opt/SUNWspro/bin:/opt/onbld/bin:/usr/ccs/bin:/usr/sbin:/usr/bin
# export PATH
# FASTFS=/opt/onbld/bin/`uname -p`/fastfs;export FASTFS
# BFULD=/opt/onbld/bin/`uname -p`/bfuld;export BFULD
# GZIPBIN=/usr/bin/gzip;export GZIPBIN
解压 安装有pNFS server client 的 archives-nightly-osol 文件
#bzcat on-pnfs-closedv5-osol.i386.tar.bz2 |tar -xf -
#/opt/onbld/bin/bfu /export/mybuild/archives-nightly-osol/i386/
bfu# ksh /opt/onbld/bin/acr
halt
如果顺利的话新的kernle已经安装好了
如果你不想使用BFU方式,想自己修改代码,build kernel,请参照 http://www.opensolution.org.cn/archives/214.html
2. 配置
- Metadata Server 放元数据的服务器(有关文件的信息,如名称、位置和大小)
- Data Server 实际数据存放服务器
2.1. 在 Metadata Server 上要做的配置
2.1.1. 共享一个文件系统
#sharemgr create -P nfs myexport
#sharemgr add-share -s /mnt myexport
2.1.2. 指定dataserver 并且加入许可
#mdsadm -o add -t auth -a ip=192.168.99.2
- 我暂时只加入了一台,如果需要多台,请继续加入
2.2. 在data Server上设置
2.2.1. 共享一个文件系统
#sharemgr create -P nfs myexport
#sharemgr add-share -s /mnt myexport
将data server 加入到 metadata server中
#dservadm addmds 192.168.99.1.8.1
- 8.1 是和MDS通讯的端口号 (8.1 or (8*256 + 1) = 2049).一般都是如此,不需要修改
2.3. list MDS status
#dservadm listmds
mds:192.168.99.1.8.1
2.4. 使用zfs建立 pNFS 数据空间
#zpool create dspool c1t1d0 c1t2d0
#zfs create -t pnfsdata dspool/pnfsds
2.5. 检查 data server 上的 数据设置
#zfs list -t pnfsdata
NAME USED AVAIL REFER MOUNTPOINT
dspool/pnfsds 572M 1024G 15K -
2.6. 添加 pnfs 刚才设置的数据文件到data seerver 中供用户使用
#dservadm addstor dspool/pnfsds
2.7. 查看data server中可用的数据设置
#dservadm liststor
storage:
dspool/pnfsds
2.8. 启动 data server service:
#dservadm enable
2.9. 查看 data server 状态
#svcs dserv
STATE STIME FMRI
online 19:29:24 svc:/network/dserv:default
2.10. 在客户端mount pNFS文件系统
#mount -F nfs -o vers=4 192.168.99.1:/export /mnt