本文介绍阿里云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为当前服务器上待挂载的本地路径,请您根据实际情况替换。

      修正挂载配置后,自动检查脚本会返回挂载命令,并提示检查结束。

    3. 复制并执行挂载命令,检查挂载结果。
  • 常见报错

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

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

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

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

    • 关于ECS实例重名的报错

      使用NFSv4.0挂载时报错信息:mount.nfs: Operation not permittedmount.nfs: an incorrect mount option was specified,但是使用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.0客户端和NFS内核模块。

      3. 重新挂载NFS文件系统。具体操作,请参见Linux系统挂载NFS文件系统

Windows挂载SMB文件系统

  • 使用脚本自动排查

    Windows挂载SMB文件系统失败可能存在多种原因,您可以通过以下脚本自动定位问题。

    1. 登录挂载文件系统失败的Windows服务器。
    2. 在Powershell工具或者Powershell ISE工具中执行以下命令下载并运行挂载排查脚本,并根据脚本给出的具体解决方案执行操作。
      Invoke-WebRequest 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文件系统,常见挂载失败问题排查与解决方案,请参见通过云服务器Linux ECS访问SMB文件系统的问题排查