客户端挂载NFS文件系统时出现的坑
坑1 :Stale file handle(过期文件句柄)
[root@web01 ~]# cp /bin/ls /mnt
cp: failed to access ‘/mnt’: Stale file handle
[root@web01 ~]# ll /mnt
当我查看磁盘挂载的时候并没有发现 /mnt这个挂载点
[root@web01 /]# df
df: ‘/mnt’: Stale file handle
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda3 19706880 1795304 17911576 10% /
devtmpfs 925608 0 925608 0% /dev
tmpfs 936476 0 936476 0% /dev/shm
tmpfs 936476 34080 902396 4% /run
tmpfs 936476 0 936476 0% /sys/fs/cgroup
/dev/sda1 201380 117976 83404 59% /boot
172.16.1.31:/data 19706880 1700096 18006784 9% /upload
172.16.1.31:/web_data 19706880 1700096 18006784 9% /web
tmpfs 187296 0 187296 0% /run/user/0
172.16.1.41:/web_data 19706880 1826048 17880832 10% /web01_data
但是当我查看/proc/mounts文件时却看到了 /mnt
[root@web01 ~]# grep 172 /proc/mounts
172.16.1.31:/data /upload nfs4 rw,relatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=172.16.1.37,local_lock=none,addr=172.16.1.31 0 0
172.16.1.31:/web_data /web nfs4 rw,nosuid,nodev,noexec,relatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=172.16.1.37,local_lock=none,addr=172.16.1.31 0 0
172.16.1.41:/data /mnt nfs4 rw,relatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=172.16.1.37,local_lock=none,addr=172.16.1.41 0 0
172.16.1.41:/web_data /web01_data nfs4 rw,nosuid,nodev,noexec,relatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=172.16.1.37,local_lock=none,addr=172.16.1.41 0 0
这时我得出了结论,出现这个报错是因为我之前挂载了 172.16.1.41:/data /mnt ;
但是不知道什么时候服务端的172.16.1.41:/data ,这个data 目录在 配置文件或者是目录的名字被我改过了,才会出现此报错。
2、nfs 成功挂载后,写入时出现permission denied的解决
nfs服务器端 /etc/exports文件中已指定(rw),可读可写,在客户端也能正常挂载,可在向挂载目录里写入内容提示:permission denied。后来才搞清楚,nfs在服务器端导出的目录,也有一定权限要求,当把服务端导出目录,修改权限(chmod 777 /导出目录)后,再重启nfs服务,客户端就能读能写了。
3、客户端没有安装 nfs-utils工具,就会出现此报错
[root@web01 ~]# mount -t nfs 172.16.1.31:/web_data/ /web_data/
mount: wrong fs type, bad option, bad superblock on 172.16.1.31:/web_data/,
missing codepage or helper program, or other error
(for several filesystems (e.g. nfs, cifs) you might
need a /sbin/mount.<type> helper program)
In some cases useful info is found in syslog - try
dmesg | tail or so.
[root@web01 ~]#
网友评论