NFS 服务搭建

原理

  1. NFS服务器向RPC服务注册启用的端口
  2. 客户端向RPC请求NFS服务
  3. RPC返回给客户端可用的服务器及端口
  4. 客户端用获得的端口与相应的服务器通信

    相关软件安装

yum -y install nfs-utils rpcbind

配置

服务器端

1.首先关闭selinux,iptables

setenfore 0 
systemctl stop firewalld

上面是临时关闭,永久关闭如下:

sed -ir 's/SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config
source /etc/selinux/config
systemctl disable firewalld

2.编辑 /etc/exports 文件
假设将/var/nfs 共享给任意主机,允许读写,并将所有用户均压缩为nfsnobody

vim /etc/exports
/var/nfs *(rw,all_squash)
#目录    主机名(设置参数)

3.重启服务即可

systemctl restart nfs rpcbind

客户端

1.安装客户端工具 nfs-utils rpcbind

yum -y install nfs-utils rpcbind

2.查看指定IP服务器可共享文件列表

[root@node1 ~]# showmount -e 192.168.139.105
Export list for 192.168.139.105:
/var/nfs *

3.挂载nfs服务器共享出来的目录:

mount -t nfs 192.168.139.105:/var/nfs /var/nfs

4.根据需要写进/etc/fstab 进行开机自动挂载

vim /etc/fstab
192.168.139.105:/var/nfs   /var/nfs   bg,hard,intr 0 0

补充配置参数

编辑/etc/exports时

主机名格式:

  • 192.168.139.105 特定主机
  • 192.168.139.0/24 特定网段
  • 192.168.139.* 通配符指定
  • * #任意主机

设置参数:

  • ro 只读
  • rw 读写
  • sync 同步到硬盘才返回
  • async 同步到内存缓冲区,硬盘空闲时再写入
  • all_squash 所有用户都压缩成nfs匿名用户nfsnobady
  • root_squash 只将root用户压缩成nfsnobody
  • no_root_squash 只有root不压缩成nfsnobady

nfs客户端挂载选项:

  • fg/bg fg在前台挂载,bg在后台
  • soft/hard soft在网络出现问题时将无法进行传输,客户端会一直尝试连接直到timeout然后报错,hard会一直等待服务器重新上线
  • intr 配合hard使用,使用hard挂载时当出现timeout可以中断,避免nfs锁死
  • rsize/wsize 读/写区块的大小
  • proto=tcp/udp 指定传输协议

版权声明:本文为fllf原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/fllf/p/10405422.html