环境

  • vagrant   centos7
  • 服务端: 192.168.56.202
  • 客户机: 192.168.56.200
  • 客户机: 192.168.56.300

安装

  • yum -y install nfs-utils rpcbind
  • 查看 rpm -qa|grep nfs
  • rpm -qa|grep nfs 是否安装

服务端配置

  • 在服务器创建需要共享的目录 mkdir /home/woddp
  • 设置目录权限 chmod 755 /home/woddp
  • 编辑export 文件 vim /etc/exports

/home/woddp/ 192.168.56.*(insecure,rw,no_root_squash,no_all_squash,sync)

  • exportfs -r 执行后 使配置生效

注:配置文件说明:

/usr/local/test/ 为共享的目录,使用绝对路径。` 192.168.0.101(rw,no_root_squash,no_all_squash,sync) 为客户端的地址及权限,地址可以是一个网段(如:192.168.0.0/24),一个IP地址或者是一个域名,域名支持通配符,如:*.hpce.cn,地址与权限中间没有空格。

权限说明: rw:read-write,可读写;

ro:read-only,只读;

sync:文件同时写入硬盘和内存;由于我们的日志需要同步写,所有用sync选项。

async:文件暂存于内存,而不是直接写入内存;

no_root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,也拥有root权限。显然开启这项是不安全的。

root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,拥有匿名用户权限,通常他将使用nobody或nfsnobody身份;

all_squash:不论NFS客户端连接服务端时使用什么用户,对服务端分享的目录来说都是拥有匿名用户权限;

anonuid:匿名用户的UID值,通常是nobody或nfsnobody,可以在此处自行设定;

anongid:匿名用户的GID值。


  • 重启 systemctl reload nfs-server.service
  • 重启 rpcbind
  • 服务器端防火墙设置(NFS 开启防墙配置) 跳过 防火墙默认关闭的
  • 修改/etc/services文件 配置rpc,nfsd,rquotad,mountd使用的端口 默认已经配置了的,没用需要手动配置

mountd 20048/tcp # NFS mount protocol

mountd 20048/udp # NFS mount protocol

nfs服务集群 搭建nfs集群_服务端

  • 重启 systemctl reload nfs-server.service
  • 在防火墙配置文件里开放上面配置的端口

客户端挂载

  • 查看服务器抛出的共享目录信息:
    showmount -e 192.168.56.202

nfs服务集群 搭建nfs集群_重启_02

mount -t nfs 192.168.0.100:/usr/local/test /usr/local/test -o proto=tcp -o nolock

挂载成功后即可访问共享的NFS文件系统了。

卸载已挂在的NFS

umount /usr/local/test
查看挂载目录的信息:
fuser -m -v /usr/local/test
rpcinfo –p ip /// 查看主机的rpc服务和端口
showmount –e ip /// 查看主机抛出的nfs列表

nfs其它功能:

  1. service nfslock start 允许NFS客户端在服务器上对文件加锁.这个进程对应于nfslock服务