随着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