nfs服务搭建

686 阅读2分钟

nfs工作流程

  • 由程序在NFS客户端发起存取文件的请求,客户端本地的RPC(rpcbind)服务会通过网络向NFS服务端的RPC的111端口发出文件存取功能的请求。
  • NFS服务端的RPC找到对应已注册的NFS端口,通知客户端RPC服务。
  • 客户端获取正确的端口,并与NFS daemon联机存取数据。
  • 存取数据成功后,返回前端访问程序,完成一次存取操作。

nfs服务端安装

安装nfs的配件

yum -y install  nfs-utils  rpcbind

编写配置文件

vi /etc/exports
/opt/test/ *(rw,no_root_squash,no_all_squash,sync,anonuid=506,anongid=506)
exportfs  -r

配置文件说明

  • /opt/test 为共享目录
    • 为网段
  • rw:read-write,可读写
  • ro:read-only,只读
  • sync:文件同时写入硬盘和内存
  • async:文件暂存于内存,而不是直接写入内存
  • no_root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,也拥有root权限。显然开启这项是不安全的
  • root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,拥有匿名用户权限,通常他将使用nobody或nfsnobody身份
  • all_squash:不论NFS客户端连接服务端时使用什么用户,对服务端分享的目录来说都是拥有匿名用户权限
  • anonuid:匿名用户的UID值,大于500开始
  • anongid:匿名用户的GID值,大于500开始

启动服务

systemctl  start rpcbind
systemctl  start nfs
chkconfig rpcbind on
chkconfig nfs on

nfs客户端安装

安装

yum -y install nfs-utils

mount挂载使用:

mount -t nfs 10.10.90.1:/opt/test    /mnt  -o  nolock

如果挂载出错可以使用如下方式:

mount -t nfs 10.10.90.1:/opt/test  /mnt -o proto=tcp -o nolock

nfs测试

在NFS客户端上执行以下命令,将本机的IP地址信息输出到NFS目录下的test.txt文件中:

ip addr > /mnt/test.txt

在服务端中可以看到/opt/test/text.txt文件已经被创建。

客户端取消挂载

umount /mnt