Linux 下部署 NFS 服务


**一般应用场景: 服务器端分配出共享的磁盘空间, 被一个或者多个客户端挂载,来实现数据共享,集中管理与维护和访问控制等。 **


步骤:


服务器端 - CentOS 7

  • 安装必要的包: nfs-utils , rpcbind yum -y install nfs-utils yum -y install rpcbind
  • 配置 etc/exports 文件 exports配置的参数选项比较多,具体细节用man去查看和了解。这里对主要4个参数做一个说明:

** all_squash** : 无论客户端用什么账户创建的数据,拥有者都是nfsnobody no_all_squash : 只对客户端用root账户创建的数据,拥有者是nfsnobody,其它用户创建的数据其拥有者是其它用户自己 root_squash : 只对客户端用root账户创建的数据,拥有者是nfsnobody,其它用户创建的数据其拥有者是其它用户自己。 no_root_squash : root用户拥有完全访问权限,任何用户创建的拥有者都是拥有者自己 截图为exports文件里的内容,红色区域为客户端的IP地址 注意: 客户端IP支持通配符(例如:“192.168.1.*”),且IP和右边左括号没有空格

  • 让NFS 配置文件生效。( 注意: 每次对 /etc/exports做的更新都需要执行这一步) exportfs -rv

-r #重新共享所以目录 -v #输出详细信息

  • 关闭防火墙 iptables -F systemctl stop firewalld 或者 systemctl disable firewalld
  • 修改 /etc/selinux/config文件,让 SELINUX=disabled vim /etc/selinux/config SELINUX=disabled setenforce 0
  • 启动相应的服务

systemctl start nfs systemctl start rpcbind systemctl start nfs-utils systemctl start nfslock


客户端

  • 安装必要的包 nfs-utils , rpcbind yum -y install nfs-utils yum -y install rpcbind
  • 关闭防火墙 iptables -F
  • 修改 /etc/selinux/config文件,让 SELINUX=disabled vim /etc/selinux/config SELINUX=disabled setenforce 0
  • 用mkdir命令去创建必要的挂载目录, 例如: mkdir /mnt/nfs
  • 查看服务器共享的NFS信息,用命令showmount showmount -e server_ip
  • 用mount命令去挂载服务器的共享目录,例如: mount -t nfs serverip:/nfs /mnt/nfs
  • 用 df -Th 去验证挂载情况 df -Th