记一次蛋疼的mount远程目录挂载经历
之前在公司的内网环境mount很简单,yum安装nfs-utils,然后执行mount就完事了,但是没想到在自己的两台腾讯云服务器上进行mount挂载遇到了各种坑爹的问题,特此记录一下备查。
正确的安装部署流程
#安装mount所依赖的环境
yum install nfs-utils rpcbind
#编辑被mount机器的 /etc/exports 文件 (/data为需要被挂载的目录, *代表允许所有人mount,也可以填入指定的ip)
/data *(rw,no_root_squash,no_all_squash,sync)
#启动服务
systemctl start rpcbind
systemctl start nfs
#将服务加入到开机启动(可选)
systemctl enable rpcbind
systemctl enable nfs
#挂载(远程机器的/data目录挂载到本地/data目录)
mount 192.168.1.1:/data /data
#开机自动挂载,编辑/etc/fstab加入下面这行
192.168.1.1:/data /data nfs4 defaults 0 0
踩坑记录
-
需要放开nfs服务相关端口的防火墙,我是直接打开所有端口的,反正还有很多其他端口要放开,难得一个一个去配置
-
执行mount命令一直卡着不动
可以把你的mount命令加上-v的参数,这样在控制台就能看到具体的报错信息,以方便排查解决问题。 -
mount.nfs: portmap query failed: RPC: Unable to receive - Connection refused
这个纯属坑爹,原因是没有启动rpcbind -
exportfs: /etc/exports:1: syntax error: bad option list
/etc/exports 配置的括号参数里面不能留任何空格。
正确:(rw,no_root_squash,no_all_squash,sync)
错误:(rw, no_root_squash, no_all_squash, sync) -
RPCError:Program not registered
这个可能是nfs服务没启动,安装后我想当然的以为是启动nfs-utils服务,后来才发现需要启动的是nfs服务,不用带-utils
补充
移除挂载方法
#直接umount挂载目录
umount /data
如果报错 umount.nfs4: /data: device is busy
说明被占用,需要先杀掉占用进程。
命令如下:
fuser -m -v -k /data
评论区