编辑
2024-08-12
系统运维-存储管理
00
请注意,本文编写于 605 天前,最后修改于 0 天前,其中某些信息可能已经过时。

目录

nfs参数
主机规划
服务端配置
exports文件的格式
客户端常用的指定方式
客户端配置
强制卸载挂载
常见错误解决
Stale NFS file handle的解决方法
touch: cannot touch ‘test2’: Permission denied nfs

NFS(Network File System,网络文件系统)是 Linux 环境下常用的分布式文件共享协议,允许不同主机之间通过网络共享文件和目录。本文详细介绍 NFS 服务端与客户端的完整配置流程,并提供常见问题的解决方案。

nfs参数

  • ro:目录只读
  • rw:目录读写
  • sync:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性
  • async:将数据先保存在内存缓冲区中,必要时才写入磁盘
  • all_squash:将远程访问的所有普通用户及所属组都映射为匿名用户或用户组(nfsnobody)
  • no_all_squash:与all_squash取反(默认设置)
  • root_squash:将root用户及所属组都映射为匿名用户或用户组(默认设置)
  • no_root_squash:与rootsquash取反
  • anonuid=xxx:将远程访问的所有用户都映射为匿名用户,并指定该用户为本地用户(UID=xxx)
  • anongid=xxx:将远程访问的所有用户组都映射为匿名用户组账户

主机规划

节点IP作用
192.168.235.100nfs客户端
192.168.235.100nfs服务端

服务端配置

exports文件的格式

shell
nfs的主配置文件是/etc/exports,在此文件中,可以定义NFS系统的输出目录(即共享目录)、访问权限和允许访问的主机等参数。该文件默认为空,没有配置输出任何共享目录,这是基于安全性的考虑,如此即使系统启动了NFS服务也不会输出任何共享资源。 exports文件中每一行提供了一个共享目录的设置,其命令格式为: <输出目录> [客户端1(选项1,选项2,...)] [客户端2(选项1,选项2,...)]

客户端常用的指定方式

客户端说明
192.168.235.100指定IP地址的主机
192.168.235.0/24(或192.168.235.*)指定子网中的所有主机
www.odboy.cn指定域名的主机
*.odboy.cn指定odboy.cn域中的所有主机
*(或缺省)所有主机
shell
yum -y install rpcbind nfs-utils gcc net-tools -y systemctl start rpcbind systemctl enable nfs mkdir /data echo '/data 192.168.235.0/24(rw,no_root_squash,sync,fsid=0)' > /etc/exports #systemctl restart nfs exportfs -rv #rpcinfo -p showmount -e 192.168.235.200

1000.png

客户端配置

shell
yum install rpcbind -y systemctl start rpcbind.service cd ~ mkdir nfstest mount -t nfs 192.168.235.200:/data nfstest

强制卸载挂载

shell
umount -f ~/nfstest

1001.png

常见错误解决

Stale NFS file handle的解决方法

text
首先用umount卸载当前目录,如果卸载不了使用umount -f /root/nfstest强制卸载,然后再重新挂载即可。

touch: cannot touch ‘test2’: Permission denied nfs

text
这个是提醒你客户端挂载的nfs服务器的目录没有权限,你在nfs客户端给权限没用,要不就给nfs服务器目录777权限,这样显得啥,要不就配置文件里面如上加上no_root_squash参数。
如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:Odboy

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 CC 4.0 BY-SA 许可协议。转载请注明出处!