NFS服务安装步骤

112 阅读2分钟

NFS服务介绍

  • NFS应用场景是:A,B,C三台机器上需要保证被访问到的文件是一样的,A共享数据出来,B和C分别去挂载A共享的数据目录,从而B和C访问到的数据和A上的一致。
  • NFS数据传输基于RPC协议
  • 结论:RPC存在的意义是为了解决NFS服务端和客户端通信多端口并且口不固定的问题
  • NFS的服务端和客户端通信时,并不是只有一个端口
  • 端口还不固定,需要有一个中心,来记录这些不固定的端口

NFS服务端安装配置

  • 服务端跟客户端都需要安装
yum install -y nfs-utils
  • 创建要共享的目录
mkdir /home/nfstestdir
  • 服务端编辑NFS配置文件
vim /etc/exports  //加入如下内容
/home/nfstestdir
192.168.1.10/24(rw,stnc,all_squash,anonuid=1000,anongid=1000)
  • 保存配置文件后,客户端执行如下操作准备,/nfstestdir/ 是我们要挂载共享的目录
showmount -e 192.168.1.10
mount -t nfs 192.168.1.10:/home/nfstestdir /data/
  • 设置客户端开机自动挂载共享目录
vim /etc/fstab
192.168.1.10:/usr/local/src/nfs_data    /data    nfs   defaults  0 0
  • 启动NFS服务,并且设置开机启动
systemctl start nfs-server 
systemctl enable nfs-server

NFS配置选项

  • rw 读写
  • ro 只读
  • sync 同步模式,内存数据实时写入磁盘
  • async 非同步模式,可以提升你NFS的读写速度
  • no_root_squash 客户端挂载NFS共享目录后,root用户不受约束,权限很大
  • root_squash 与上面选项相对,客户端上的root用户受到约束,被限定成某个普通用户
  • all_squash 客户端上所有用户在使用NFS共享目录时都被限定为一个普通户
  • anonuid/anongid 和上面几个选项搭配使用,定义被限定用户的uid和gid

exportfs命令

  • exportfs的作用在于,不影响正在使用的NFS服务,避免增加共享目录,影响正在使用的
  • 服务端编辑exports文件新增加/tmp/目录共享
vim /etc/exports
/tmp/ 192.168.1.10/16(rw,async,no_root_squash)
  • 服务端重新加载NFS目录,配置文件就会生效
exportfs -arv
  • 客户端查看服务端共享的目录
showmount -e 192.168.1.10
  • 客户端挂载共享目录
mount -t nfs 192.168.1.10:/tmp/ /usr/local/src/data1/
  • 设置客户端开机自动加载共享目录
192.168.1.10:/tmp  /usr/local/src/data1 nfs defaults 0 0
  • 常用选项
  • -a 全部挂载或者全部卸载
  • -r 重新挂载
  • -u 卸载某一个目录
  • -v 显示共享目录