银河麒麟系统挂载NAS需分NFS与SMB两种协议:NFS需安装nfs-utils、启用NAS服务、临时/永久挂载;SMB需安装cifs-utils、配置凭据文件、指定vers=3.0;永久挂载须加_netdev参数防网络未就绪;失败时应逐层排查网络、NAS设置、SELinux及内核日志。

如果您在银河麒麟系统中需要将NAS设备作为本地磁盘使用,但无法正常访问远程共享目录,则可能是由于协议支持缺失、网络连通性异常或挂载配置错误所致。以下是针对NFS与SMB/CIFS两种主流协议的多种挂载方法:
一、通过NFS协议挂载NAS
NFS(Network File System)是Linux生态下最原生、低开销的远程文件系统协议,适用于群晖、威联通等支持NFS服务的NAS设备,要求麒麟系统已安装客户端工具并确认NAS端已启用对应共享。
1、检查并安装NFS客户端工具:
执行命令 rpm -qa | grep nfs-utils,若无输出则运行 sudo yum install nfs-utils(RHEL系)或 sudo apt-get install nfs-common(Ubuntu系)。
2、确认NAS NFS服务已开启且共享路径可发现:
执行 showmount -e 192.168.x.x(将x.x替换为实际NAS IP),成功返回类似 /volume1/data 192.168.1.0/24 的列表即表示服务就绪。
3、创建本地挂载点目录:
执行 sudo mkdir -p /mnt/nas_nfs。
4、执行临时挂载:
运行 sudo mount -t nfs -o vers=4,proto=tcp,rw,soft,timeo=300 192.168.x.x:/volume1/data /mnt/nas_nfs,其中 vers=4 强制使用NFSv4,soft 避免服务器宕机时进程卡死。
5、验证挂载结果:
执行 df -h | grep nas_nfs,若显示对应NAS路径及容量即成功。
二、通过SMB/CIFS协议挂载NAS
SMB/CIFS协议兼容性更广,适用于Windows共享、部分群晖基础模式及未开启NFS的NAS设备,需依赖cifs-utils工具及用户名密码认证信息。
1、安装CIFS支持组件:
执行 sudo yum install cifs-utils(RHEL系)或 sudo apt-get install cifs-utils(Ubuntu系)。
2、创建用于存储凭据的安全文件:
执行 sudo nano /etc/nas_creds,写入三行内容:
username=your_nas_user
password=your_nas_pass
domain=WORKGROUP(若NAS未加入域,domain可留空或填WORKGROUP),保存后执行 sudo chmod 600 /etc/nas_creds。
3、创建挂载点:
执行 sudo mkdir -p /mnt/nas_smb。
4、执行临时挂载:
运行 sudo mount -t cifs -o credentials=/etc/nas_creds,uid=1000,gid=1000,file_mode=0777,dir_mode=0777,vers=3.0 //192.168.x.x/share_name /mnt/nas_smb,其中 vers=3.0 明确指定SMB协议版本以规避兼容问题。
5、测试读写权限:
执行 touch /mnt/nas_smb/testfile && ls -l /mnt/nas_smb/testfile,若文件创建成功且可见即权限正常。
三、配置永久挂载(NFS或SMB通用)
临时挂载在系统重启后失效,需将挂载条目写入/etc/fstab实现开机自动加载,同时规避网络未就绪导致的挂载失败风险。
1、获取NAS共享路径的稳定标识:
对NFS,直接使用IP+路径;对SMB,确保已配置好凭据文件并测试过临时挂载。
2、编辑fstab配置文件:
执行 sudo nano /etc/fstab,在末尾添加一行(以NFS为例):
192.168.x.x:/volume1/data /mnt/nas_nfs nfs vers=4,proto=tcp,rw,soft,timeo=300,_netdev 0 0;
对SMB则添加:
//192.168.x.x/share_name /mnt/nas_smb cifs credentials=/etc/nas_creds,uid=1000,gid=1000,file_mode=0777,dir_mode=0777,vers=3.0,_netdev 0 0。
3、关键参数说明:
_netdev 表示该设备依赖网络,系统将延迟挂载至网络服务启动之后,避免开机卡顿。
4、重新加载fstab配置:
执行 sudo mount -a,无报错即配置生效;随后重启系统验证是否自动挂载。
四、排查挂载失败的常见原因
当挂载命令返回“Connection refused”、“Permission denied”或“No route to host”等错误时,需分层定位问题根源,避免盲目重试。
1、验证基础网络连通性:
执行 ping -c 4 192.168.x.x,若全部丢包,检查麒麟系统与NAS是否处于同一子网、防火墙是否放行ICMP及对应协议端口(NFS:TCP/UDP 2049;SMB:TCP 445)。
2、确认NAS端共享设置正确:
登录NAS管理界面,检查NFS服务是否启用、共享目录是否勾选“启用NFS”或“启用SMB”、IP白名单是否包含麒麟系统的IP地址段。
3、检查麒麟系统SELinux或AppArmor限制:
临时禁用SELinux测试:sudo setenforce 0;若挂载成功,则需调整SELinux布尔值:sudo setsebool -P samba_enable_home_dirs on 或适配NFS相关策略。
4、查看内核日志定位底层错误:
执行 dmesg | tail -20,重点关注含 nfs、cifs、mount 字样的报错行。

















