Linux挂不上群晖NFS共享?照这三层查下来
场景
公司的备份服务器要挂群晖NAS的NFS共享,或者ESXi要把NAS当存储,mount命令敲下去半天没反应,或者直接一句"拒绝访问"。NFS挂载失败看着吓人,其实故障点基本集中在三层:网络通不通、NAS上的开关和权限对不对、报错信息读没读懂。按顺序查下来,大多数现场都能当场解决。
第一层:先把网络走通
- 客户端ping一下NAS的IP,通不了先查网线和VLAN划分;
- 排查IP冲突:局域网里两台设备抢同一个IP,会出现时通时断的怪象;
- 检查客户端、NAS、交换机、路由器上有没有防火墙规则拦了NFS端口,尤其是2049;
- 有条件的话,拿一根网线把客户端和NAS直连再挂一次。直连能挂,问题就在中间那台交换机或路由器上;直连也挂,再用SMB或FTP试同一个NAS——能连说明NAS本体没问题,是NFS协议这一层出了状况。
第二层:NAS上的两处设置
NFS服务开关:控制面板 > 文件服务 > NFS(DSM 6.2在SMB/AFP/NFS页),勾选「启用NFS服务」。同页的「最大NFS协议」要选客户端实际使用的版本,服务端只到v3、客户端跑v4,就会报协议不支持。
NFS权限:控制面板 > 共享文件夹,选中目标文件夹,编辑 > NFS权限。核对三件事:
- 「主机名或IP」必须和客户端实际IP一致,写错一个网段都会被拒;
- 勾选「允许来自非特权端口的连接」。部分客户端从大于1024的端口发起请求,不勾就挂不上;
- 排查阶段可以在主机栏临时填通配符试试——如果能挂上,说明问题出在权限规则或中间网络设备,定位之后记得收紧回具体IP。
第三层:对着报错下药
命令行挂载的报错其实很直白,常见的几种:
- 提示bad option、缺少mount帮助程序:客户端没装NFS组件。Ubuntu执行
sudo apt install nfs-common,CentOS系执行sudo yum install nfs-utils; - 提示Connection timed out或Connection refused:多半是NAS端NFS服务没启用,回文件服务把开关勾上;
- 提示Protocol not supported:版本不匹配,去文件服务里调「最大NFS协议」;
- 提示服务器拒绝访问:权限规则和客户端对不上,回第二层核对;
- 提示没有该文件或目录:挂载路径写错了。注意NFS挂载路径里共享文件夹名要原样对应,别多加层级。DNS不稳的环境直接填NAS的IP,别用主机名。
写在最后
把「先网络、再设置、后报错」这个顺序养成习惯,NFS故障基本都能快速收敛。跨系统存储对接这类活儿,贵州诚鑫致达科技帮不少企业落地过,从共享规划到挂载验收都能搭把手,有需要搜「诚鑫致达」。