本文介绍阿里云NAS文件系统挂载失败的排查与处理方法。

在Linux中挂载NFS文件系统

  • 使用脚本自动排查

    在Linux中挂载NFS文件系统失败的原因有很多种,您可以通过以下脚本自动排查定位问题。

    1. 登录挂载文件系统失败的Linux服务器。
    2. 下载并运行以下脚本,并根据脚本给出的具体解决方案操作。
      wget -N https://code.aliyun.com/nas_team/nas-client-tools/raw/master/linux_client/check_alinas_nfs_mount.py -P /tmp/
      python2.7 /tmp/check_alinas_nfs_mount.py file-system-id.region.nas.aliyuncs.com:/ /mnt

      其中,file-system-id.region.nas.aliyuncs.com为挂载点地址,/为NAS文件系统目录,/mnt为当前服务器上待挂载的本地路径,请根据实际情况替换。

      所有问题都解决后,脚本会输出具体的挂载命令,并提示检查结束。

      说明 在脚本运行过程中,如果遇到脚本提问,请登录阿里云控制台,确认相关信息后,再输入Yes或者No,使脚本继续运行,定位问题。
    3. 复制并执行挂载命令,使挂载生效。
  • 其他已知问题

    关于部分挂载命令的报错,脚本无法自动排查处理,请参见以下方案手动处理。

    • 关于子目录不存在的报错

      挂载时报错:mount.nfs: access denied by server while mounting xxxx.nas.aliyuncs.com:/<dir>

      说明 如果发生Permission denied报错,请执行脚本自动排查。

      挂载子目录时,挂载命令中指定的NAS子目录<dir>不存在导致报错。您可以先挂载NAS根目录,挂载成功后,创建需要的子目录,再重新挂载子目录。

    • 关于ECS重名的报错

      使用NFSv4.0挂载时报错:mount.nfs: Operation not permitted,但是使用NFSv3却可以挂载成功。

      对于某些内核版本,如果执行挂载的ECS和其他ECS拥有相同的实例名称,并且重名的ECS已使用NFSv4.0挂载了同一个NFS挂载点,就会造成冲突。您可以通过以下方法解决:
      1. 在报错的ECS上执行以下命令。
        echo 'install nfs /sbin/modprobe --ignore-install nfs nfs4_unique_id=`cat /sys/class/dmi/id/product_uuid`' >> /etc/modprobe.d/nfs.conf
      2. 等待业务低峰期,重启ECS。

        或者您也可以手动卸载所有已挂载的NFS文件系统,并使用rmmod命令卸载nfsv4和nfs内核模块。

      3. 重新挂载NFS文件系统。

在Windows中挂载SMB文件系统

  • 使用脚本自动排查

    在Windows中挂载SMB文件系统失败的原因有很多种,您可以通过以下脚本自动排查定位问题。

    1. 登录挂载文件系统失败的Windows服务器。
    2. 下载并运行以下脚本,并根据脚本给出的具体解决方案执行操作。
      wget https://code.aliyun.com/nas_team/nas-client-tools/raw/master/windows_client/alinas_smb_windows_inspection.ps1 -OutFile alinas_smb_windows_inspection.ps1
      .\alinas_smb_windows_inspection.ps1 -MountAddress abcde-123.region-id.nas.aliyuncs.com -Locale zh-CN

      其中abcde-123.region-id.nas.aliyuncs.com为挂载点域名,请根据实际值替换。

  • 其他已知问题

    在Windows中挂载SMB文件系统的其他问题,请参见Windows SMB 挂载失败的原因分析,根据错误码查询相应解决方案。

在Linux中挂载SMB文件系统

阿里云NAS支持在Linux系统中挂载SMB文件系统,如果挂载失败,请参见通过云服务器ECS(Linux)访问SMB文件系统的问题排查