sophon nfs无法启动的问题

  使用配置
内容纲要

原因分析

sophon nfs无法启动,主要是因为:
(1)nfs进程已经完全消失后,文件mount还在;
(2)rpcbind端口被占用;
(3)nfsd线程未正常退出,导致积累过多;
(4)宿主机上存在nfs服务。


处理方案

1.sophon2.4之前的版本
确保nfs进程已经完全消失后,mount | grep nfs查看相关挂载点,手动取消挂载,然后重新启动nfs。

2.sophon2.4之后的版本
nfs使用容器化部署,解决了容器删除重启后,文件mount还在的问题。
一般nfs pod启动失败原因:
1.节点上rpcbind正在运行,导致端口冲突,如下错误(方法:如果确认没有其他服务使用到这个rpcbind,可以节点上yum remove rpcbind)显示rpc.statd已经运行。

+ log 'starting rpc.statd on port 32765 (outgoing from port 32766)'
+ echo '----> starting rpc.statd on port 32765 (outgoing from port 32766)'
----> starting rpc.statd on port 32765 (outgoing from port 32766)
+ /sbin/rpc.statd --no-notify --port 32765 --outgoing-port 32766
Statd service already running!

2.nfsd线程在pod退出时没有正常退出(很少见,更多的时候是pod不是通过delete po,delete deployment的方法退出的时候会出现),可能由单机版nfs服务升级到nfs pod时,也会出现这种情况。
报错是 :

+ mount -t nfs -o soft,retrans=1,timeo=14,fg,v3,nolock localhost:/vdir/mnt/disk1/sophon/nfs_dir/sophon4 test_nfs
mount.nfs: requested NFS version or transport protocol is not supported
mount: mounting localhost:/vdir/mnt/disk1/sophon/nfs_dir/sophon4 on test_nfs failed: Not supported

需要杀掉线程,执行:kill -9 $(ps -ef | grep [[]nfsd[]]| awk '{print $2}')

3.如果sophon-nfs pod启动异常,报错中有rpc和nfsd mount fail等信息,可能是宿主机上存在nfs服务所致。

判断方式:kubectl get po -owide | grep sophon-nfs,得到sophon-nfs的pod所在宿主机节点,去该节点上执行:systemctl status nfs, systemctl status rpcbind,如果显示是active或者异常等状态,说明宿主机上确实存在nfs/rpcbind服务。

解决方法:如果宿主机上的nfs服务被其它服务所使用,那么修改sophon-nfs和sophon-nfs-backup角色的部署节点。

如果宿主机上的nfs服务可以被永久性停服,可以选择:
方式1: 修改sophon-nfs和sophon-nfs-backup的pod的部署节点。
方式2: systemctl stop nfs, systemctl stop rpcbind, centos系统上卸载命令, yum remove nfs-utils rpcbind -y, ubuntu上卸载命令: sudo apt-get remove nfs-server -y,完成对服务的卸载。
最后systemctl status nfs, systemctl status rpcbind,确认提示是两个服务都没有安装,说明卸载完成。重启sophon-nfs pod即可。

sophon-nfs的容器常见报错如下:
file

这篇文章对您有帮助吗?

平均评分 0 / 5. 次数: 0

尚无评价,您可以第一个评哦!

非常抱歉,这篇文章对您没有帮助.

烦请您告诉我们您的建议与意见,以便我们改进,谢谢您。