现有一台资源服务器(192.168.19.101),一台前端服务器(192.168.19.102),一台后台cms服务器(192.168.19.105),其中cms服务器需要将资源存储到资源服务器,现在采用nfs的方式将资源服务器的空间mount到cms服务器。具体步骤如下:

1 安装 NFS 服务器

安装 NFS 服务器所需的软件包:

# yum install nfs-utils nfs4-acl-tools portmap

2 配置 NFS 共享

输出服务器端的某个目录,以便 NFS 客户端能挂载和访问到这个目录:

# vi /etc/exports
/web         192.168.19.102(rw,all_squash,sync,fsid=0) 192.168.19.105(rw, all_squash ,sync,fsid=0) 

192.168.19.102 和 192.168.19.105上面的用户可以挂载 NFS 服务器(192.168.19.101)上的 /web目录到自己文件系统里;rw 在这里表示可读可写。

 

参数含义:

      rw:可读写的权限;

  ro:只读的权限;

  no_root_squash:登入到NFS主机的用户如果是ROOT用户,他就拥有ROOT的权限,此参数很不安全,建议不要使用;

  root_squash:在登入 NFS 主机使用分享之目录的使用者如果是 root 时,那么这个使用者的权限将被压缩成为匿名使用者,通常他的 UID与GID 都会变成 nobody 那个身份;

  all_squash:不管登陆NFS主机的用户是什么都会被重新设定为nobody;

  anonuid:将登入NFS主机的用户都设定成指定的user id,此ID必须存在于/etc/passwd中;

  anongid:同 anonuid ,但是变成group ID 就是了;

  sync:资料同步写入存储器中;

  async:资料会先暂时存放在内存中,不会直接写入硬盘;

  insecure 允许从这台机器过来的非授权访问。 

 

      把 NFS 服务加入系统启动脚本并且手动启动 NFS 服务:

# chkconfig nfs on
# chkconfig portmap on

# service portmap start
# service nfs start

确认 NFSv4 服务器成功运行:

# rpcinfo -p
   program vers proto   port
    100000    2   tcp    111  portmapper
    100000    2   udp    111  portmapper
    100003    2   udp   2049  nfs
    100003    3   udp   2049  nfs
    100003    4   udp   2049  nfs
    ...
    100005    3   tcp    750  mountd

检查 NFS 服务器是否输出我们想共享的目录 /web:

# exportfs
/web            192.168.19.102
/web            192.168.19.105
设置权限 chown -R nfsnobody:nfsnobody /web,需要保证两边都是用同样uid和gid的用户,才能有写的权限。

3 使用 NFS 客户端

安装 NFS 所需的软件包:

# yum install nfs-utils nfs4-acl-tools portmap

  首先启动 portmap:

  #chkconfig portmap on

#service portmap start

  检查 NFS 服务器端是否有目录共享:

# showmount -e 192.168.19.101
Export list for 192.168.19.101:
/web 192.168.19.105,192.168.19.102

  使用 mount 挂载服务器端的目录 /web 到客户端某个目录下:

#mkdir /web/wwwroot

  设置权限 chown -R nfsnobody:nfsnobody /web/wwwroot

  #mount -t nfs4 192.168.19.101:/ /web/wwwroot/

  [root@fltrpadmin wwwroot]# df -h

  文件系统              容量  已用 可用 已用% 挂载点

  /dev/sda3              11G  454M  9.2G   5% /

  /dev/sda8              19G  232M   18G   2% /var

  /dev/sda7              38G  177M   36G   1% /bak

  /dev/sda6              48G  2.5G   43G   6% /usr

  /dev/sda5              76G  401M   72G   1% /web

  /dev/sda1              99M   12M   82M  13% /boot

  tmpfs                1006M     0 1006M   0% /dev/shm

192. 168.19.101:/      1.2T  198M  1.1T   1% /web/wwwroot

  在 /etc/fstab 中挂载 nfs 文件系统:

# vi /etc/fstab
192.168.19.101:/    /web nfs4   soft,intr,rsize=8192,wsize=8192,nosuid
# chkconfig netfs on
参考:http://www.vpsee.com/2010/06/install-nfs-4-0-on-centos/