当您需要跨操作系统共享数据时,可以通过Windows系统挂载通用型NAS NFS文件系统实现数据上传与下载。本文以Windows Server 2012 R2系统为例,介绍在VPC网络下ECS实例如何挂载NFS文件系统。

前提条件

说明 不支持极速型NAS使用NFS协议挂载至Windows操作系统。

步骤一:安装NFS客户端

  1. 连接ECS实例。具体连接方式,请参见连接ECS实例
  2. 打开服务器管理器
  3. 选择管理 > 添加角色和功能
  4. 根据添加角色和功能向导提示安装NFS客户端。
    1. 服务器角色选项卡下,选择文件和存储服务 > 文件和iSCSI服务下的NFS服务器
    2. 功能页签,选择NFS客户端
  5. 重启ECS实例。
  6. 启动命令提示符,执行mount命令。

    如果返回以下信息,说明NFS客户端安装成功。

    安装结果

步骤二:挂载NFS文件系统

您可以通过手动或自动两种方式挂载文件系统。为避免已挂载文件系统的云服务器ECS重启后,挂载信息丢失,建议您手动挂载通用型NAS NFS文件系统成功后,再配置自动挂载通用型NAS NFS文件系统脚本,实现在云服务器ECS设置重启时通用型NAS NFS文件系统自动挂载。

手动挂载NFS文件系统

  1. 在Windows客户端,执行以下命令挂载NFS文件系统。
    mount -o nolock -o mtype=hard -o timeout=60 \\file-system-id.region.nas.aliyuncs.com\! Z:

    请根据实际情况替换盘符Z和挂载点地址file-system-id.region.nas.aliyuncs.com。关于挂载点地址,请参见查看挂载点地址

    说明 当挂载NAS子目录时,可能导致挂载失败,请您避免挂载NAS子目录。更多信息,请参见如何解决Windows客户端对NFS文件系统中的文件重命名时返回的invalid device错误
  2. 执行mount检查挂载结果。

    挂载完成后,回显信息必须包括mount=hard、locking=no以及timeout参数>=10,否则说明挂载有问题。

    如果不一致,请先执行net use <挂载盘符> /delete命令,卸载挂载的文件系统,然后根据步骤1中的挂载命令重新挂载文件系统。

    检查UID和GID
  3. 双击这台电脑图标,在界面查看新的共享文件系统。

    在共享文件系统里新建文件夹和文件,检查是否能正常操作该文件系统。

    挂载结果

自动挂载NFS文件系统

  1. 在Windows系统的C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp目录下,创建一个名为nas_auto.bat的脚本文件并输入以下内容。
    示例:
    mount -o nolock -o mtype=hard -o timeout=60 \\file-system-id.region.nas.aliyuncs.com\! Z:

    请根据实际情况替换盘符Z:和挂载点域名file-system-id.region.nas.aliyuncs.com。更多挂载参数说明,请参见挂载参数说明

  2. 创建计划任务。
    1. 打开控制面板,单击系统和安全,在管理工具区域,单击计划任务
    2. 任务计划程序页面,选择操作 > 创建任务
      创建任务
    3. 单击常规页签,输入计划任务的名称,选中不管用户是否登录都要运行使用最高权限运行
      重要 如果您使用的系统是Windows Server 2016,则必须选中只在用户登录时运行,否则自动挂载NFS文件系统配置不生效。
      常规设置
    4. 单击触发器页签,单击新建。在开始任务列表中选择登录时,在高级设置中选择已启用。单击确定
      触发器设置
    5. 单击操作页签,单击新建。在操作列表中选择启动程序,在程序或脚本中选择步骤1创建好的nas_auto.bat文件。单击确定
      启动程序
    6. 单击条件页签,在网络区域,选中只有在以下网络连接可用时才启动。并在下拉框中选择任何连接
      条件设置
    7. 单击设置页签,选中如果请求后任务还在运行,强行将其停止。在如果此任务已经运行,以下规则适用下拉框中选择请勿启动新实例
      设置
    8. 单击确定
    9. 重启ECS服务器,验证创建结果。
      • 查看计划任务状态
        如果系统显示如下信息,表示计划任务正常执行。创建结果
      • 执行mount检查挂载结果。

        挂载完成后,回显信息必须包括mount=hard、locking=no以及timeout参数>=10,否则说明挂载有问题。

        如果有问题,请打开nas_auto.bat脚本,根据1中的内容替换现有脚本。

        检查UID和GID

常见问题

如何解决挂载文件系统时,系统返回file handle error错误?

  • 问题原因

    可能是系统不存在Locking注册表,或Locking注册表存在,但Locking值不为1。

  • 解决方案
    1. 打开命令提示符,执行regedit命令,进入注册表编辑器页面。
    2. 选择HKEY_LOCAL_MACHINE > SOFTWARE > Microsoft > ClientForNFS > CurrentVersion > Users > Default > Mount,然后右击空白处,选择新建 > DWORD(32位)值
    3. 将注册表名称修改为Locking,然后双击Locking,在弹出的编辑DWORD(32位)值窗口中,将数值数据修改为1
    4. 单击确定Locking
    5. 重启ECS实例。
    6. 重新挂载NFS文件系统。
      mount -o nolock -o mtype=hard -o timeout=60 \\file-system-id.region.nas.aliyuncs.com\! Z:

      请根据实际情况替换盘符Z:和挂载点域名file-system-id.region.nas.aliyuncs.com

    7. 执行mount检查是否挂载成功。

      挂载完成后,回显信息必须包括mount=hard、locking=no以及timeout参数>=10,否则说明挂载有问题。

      检查UID和GID

如何解决访问文件系统时,返回无访问权限问题?

您可参照以下操作步骤为系统配置AnonymousGID和AnonymousUID。

  1. 登录挂载文件系统的ECS服务器。
  2. 打开命令提示符,执行regedit命令,进入注册表编辑器页面。
  3. 选择HKEY_LOCAL_MACHINE > SOFTWARE > Microsoft > ClientForNFS > CurrentVersion > Default
  4. 右击空白处,选择新建 > DWORD(32位)值,并创建以下两个注册表项。
    • AnonymousGID,值为0
    • AnonymousUID,值为0Default注册表
  5. 重启ECS实例。
  6. 重新挂载NFS文件系统。
    mount -o nolock -o mtype=hard -o timeout=60 \\file-system-id.region.nas.aliyuncs.com\! Z:

    请根据实际情况替换盘符Z:和挂载点域名file-system-id.region.nas.aliyuncs.com

  7. 执行mount检查是否挂载成功。

    挂载完成后,回显信息必须包括mount=hard、locking=no以及timeout参数>=10,否则说明挂载有问题。

    检查UID和GID

相关文档