NFS-Linux配置NFS服务


服务端

创建服务端共享目录

配置NFSv4服务器时,一个好的做法是使用全局NFS根目录,并将实际目录绑定到共享挂载点。
一般使用/srv/nfs4目录作为NFS根目录。

sudo mount --bind /var/www /srv/nfs4/www

重启后自动绑定目录

sudo vim /etc/fstab

添加绑定信息

/var/www     /srv/nfs4/www      none   bind   0   0

导出服务端文件系统

sudo vim /etc/exports

添加共享配置信息

/srv/nfs4  192.168.33.0/24(rw,sync,no_subtree_check,crossmnt,fsid=0)
/srv/nfs4/www     192.168.33.110(rw,sync,no_subtree_check)

常用选项说明:

  • fsid=0定义NFS根目录/srv/nfs4
  • 仅允许来自192.168.33.0/24子网的客户端对此NFS访问权限
  • crossmnt选项是必需的,它用于共享目录和导出子目录
  • /srv/nfs4/www目录,只允许192.168.33.0/24网段的客户端有读的权限,并且仅允许IP地址是192.168.33.110的客户端具有读和写权限
    • *表示所有网段
  • sync选项告诉NFS在恢复之前将更改写入磁盘。
  • 默认启用 root_squash 选项,防止从客户端对已挂载的共享具有root权限。它将映射rootUID和GID到nobody/nogroup UID/GID。
    • 为了使客户端计算机能够访问,NFS希望客户端的用户和组ID与服务器的用户和组ID匹配。另一种选择是使用NFSv4 idmapping功能,将用户和组ID转换为名称。
    • 使用 no_all_squash,no_root_squash 关闭

例子:

/srv/nfs  *(rw,sync,no_subtree_check,crossmnt,fsid=0,no_all_squash,no_root_squash)
/srv/nfs/www *(rw,async,no_all_squash,no_subtree_check,no_root_squash)

使配置生效:

sudo exportfs -ra
sudo exportfs -v

客户端

客户端挂载NFS文件系统

sudo mkdir -p /srv/www
sudo mount -t nfs -o vers=4 192.168.33.10:/www /srv/www

挂载NFS v4版本的文件系统时,可以省略NFS根目录,因此你可以使用/www,而不是/srv/nfs4/www挂载NFS共享目录。

查看是否挂载成功:

df -h

自动挂载需要修改/etc/fstab文件,与上文服务端的自动挂载相同配置方法

客户端卸载NFS文件系统

sudo umount /srv/www

同时不要忘记删除/etc/fstab文件中的自动挂载点


文章作者: 钱不寒
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 钱不寒 !
  目录