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

安装NFS客户端

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

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

    安装结果

手动挂载NFS文件系统

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

    file-system-id.region.nas.aliyuncs.com是挂载点地址,请根据实际值替换。

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

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

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

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

    挂载结果

自动挂载NFS文件系统

  1. 在文件系统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)。更多挂载参数说明,请参见自动挂载NFS文件系统

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

      如果系统显示如下信息,表示计划任务正常执行。

      创建结果
      说明 如果计划任务运行成功,实际却没有出现NAS盘,请尝试直接将nas_auto.bat移动至C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp目录下,无需在任务计划程序下创建任务

常见问题

如果在操作时系统报错file handle error,您需要确认以下注册表信息。

说明 如果找不到LockingAnonymousGIDAnonymousUID这三个注册表项,则按照Windows的字段格式要求进行创建。
HKEY_LOCAL_MACHINE > SOFTWARE > Microsoft > ClientForNFS > CurrentVersion > Users > Default > Mount,其中 Locking值必须为1。Locking

创建以下注册表项设置GID和UID。

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

    file-system-id.region.nas.aliyuncs.com是挂载点地址,请根据实际值替换。

  5. 执行mount检查新的UID和GID。

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

    检查UID和GID