有一个奇怪的问题:我可以通过NFS挂载一个dir,但是不能挂载同一个dir的子目录。例如:在主机服务器(CentOS LinuxVersion7.4.1708 (Core))上,有dirs
[root@hwdatalake datalake]# pwd
/datalake
[root@hwdatalake datalake]# ls -lha .
total 8.0K
drwxrwx---. 14 root etlusers 4.0K Dec 24 10:03 .
dr-xr-xr-x. 18 root root 240 Dec 12 10:24 ..
dr-xr-x---. 2 root root 29 Dec 16 11:08 CUPSS_HI
dr-xr-x---. 2 root root 29 Dec 16 11:16 CUPSS_NAT
dr-xr-x---. 2 root root 26 Dec 16 11:17 NAT_BRFSS并让/etc/exports作为
/datalake airflowetl(rw,fsid=0,root_squash,sync)
/datalake/HI_BRFSS airflowetl(ro,root_squash,sync)在名为airflowetl服务器(CentOS LinuxRelease7.4.1708 (Core))的客户端上,能够成功地从nfs服务器挂载toplevel dir .
[root@airflowetl airflow]# mount -v hwdatalake.co.local:/datalake /dlnfs
mount.nfs: timeout set for Mon Dec 30 13:04:59 2019
mount.nfs: trying text-based options 'vers=4.1,addr=172.18.4.97,clientaddr=172.18.4.69'=但同时也看到
[root@airflowetl airflow]# umount /dlnfs
[root@airflowetl airflow]# showmount -e hwdatalake
clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host)当尝试挂载subdir时,我们看到
[root@airflowetl airflow]# mount -v hwdatalake.co.local:/datalake/HI_BRFSS /dlnfs
mount.nfs: timeout set for Mon Dec 30 13:12:55 2019
mount.nfs: trying text-based options 'vers=4.1,addr=172.18.4.97,clientaddr=172.18.4.69'
mount.nfs: mount(2): Permission denied
mount.nfs: trying text-based options 'vers=4.0,addr=172.18.4.97,clientaddr=172.18.4.69'
mount.nfs: mount(2): Permission denied
mount.nfs: trying text-based options 'addr=172.18.4.97'
mount.nfs: prog 100003, trying vers=3, prot=6
mount.nfs: portmap query failed: RPC: Remote system error - No route to host
mount.nfs: trying text-based options 'vers=4.0,addr=172.18.4.97,clientaddr=172.18.4.69'然而,以前的dir能够被挂载,并且已经有了表面上配置的防火墙设置.
firewall-cmd --permanent --zone=public --add-service=ssh
firewall-cmd --permanent --zone=public --add-service=nfs
firewall-cmd --reload我不知道该怎么做。任何有更多经验的人都有进一步的调试技巧,或者知道这里出了什么问题?
发布于 2020-01-04 00:19:04
经过一些搜索,基于
showmount -e hwdatalake
RPC: Remote system errorRPC: Port mapper failure - RPC: Timed out.有没有..。
firewall-cmd --permanent --zone=public --add-service=mountd
firewall-cmd --permanent --zone=public --add-service=rpc-bind
firewall-cmd --reload为了检查rpc服务没有被防火墙捕获,防火墙修复了showmount的问题,并且能够挂载较低级别的dir。
https://unix.stackexchange.com/questions/560246
复制相似问题