你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

在 NFSv3 与 NFSv4.1 之间转换 NFS 卷

Azure NetApp 文件提供了一个选项用于在 NFSv3 与 NFSv4.1 之间转换 NFS 卷。

如果通过 NFSv3 导出的现有 NFS 卷需要更改协议才能利用 NFSv4.1 功能和性能,你可以将协议版本从 NFSv3 转换为 NFSv4.1。 同理,也可以将 NFSv4.1 卷转换为 NFSv3。

在 NFSv3 与 NFSv4.1 之间转换卷不需要创建新卷和复制数据。 在执行该操作过程中会保留数据,并转换卷导出策略。 因此,在客户端做好协议更改准备后,它们可以重新装载卷并访问数据。

重要

如果要更改生产环境的协议,需要为转换做好适当的准备并对其进行测试。

转换会造成应用程序关闭,到时客户端无法访问正在转换的卷。 需要规划以下活动:

  • 在转换之前,需要从所有客户端卸载卷。 此操作可能需要关闭访问卷的应用程序。
  • 成功转换卷后,需要重新配置访问卷的每个客户端,然后才能重新装载卷。

如果从 NFSv4.1 转换为 NFSv3,则所有高级 NFSv4.1 功能(如访问控制列表 (ACL) 和文件锁定)都会不可用。

注意事项

  • 无法将启用了 Kerberos 的 NFSv4.1 卷转换为 NFSv3。
  • 无法更改双协议卷的 NFS 版本。
  • 无法将单协议 NFS 卷转换为双协议卷,反之亦然。
  • 无法转换跨区域复制关系中的目标卷。
  • 将 NFSv4.1 卷转换为 NFSv3 会导致所有高级 NFSv4.1 功能(例如 ACL 和文件锁定)不可用。
  • 将卷从 NFSv3 转换为 NFSv4.1 会导致 .snapshot 目录对 NFSv4.1 客户端不可见。 目录仍可访问。
  • 将卷从 NFSv4.1 转换为 NFSv3 会导致 .snapshot 目录变得可见。 可以修改卷的属性以隐藏快照路径

注册选项

用于在 NFSv3 与 NFSv4.1 之间转换 NFS 卷的选项目前为预览版。 如果你是第一次使用此选项,需要在使用之前注册此选项。

重要

在有进一步通知之前,适用于 Azure 政府云的 Azure NetApp 文件用户应联系其帐户团队来访问此选项,而不要按照以下步骤操作。

  1. 注册:

    Register-AzProviderFeature -ProviderNamespace Microsoft.NetApp -FeatureName ANFProtocolTypeNFSConversion
    
  2. 检查功能注册的状态:

    注意

    RegistrationState 可能会处于 Registering 状态长达 60 分钟,然后才更改为 Registered 状态。 请等到状态变为Registered后再继续。

    Get-AzProviderFeature -ProviderNamespace Microsoft.NetApp -FeatureName ANFProtocolTypeNFSConversion
    

此外,Azure CLI 命令 az feature registeraz feature show 分别可用于注册功能和显示注册状态。

从 NFSv3 转换为 NFSv4.1

在此示例中,你有一个 NFSv3 卷,但你想要使用 NFSv4.1 功能。 你未使用 LDAP 集成,也不打算将 Kerberos 用于 NFSv4.1。

本部分介绍如何将 NFSv3 卷转换为 NFSv4.1。

  1. 在转换卷之前,请先从客户端卸载该卷,以做好准备。 请参阅装载或卸载卷

    示例:
    sudo umount /path/to/vol1

  2. 转换 NFS 版本:

    1. 在 Azure 门户中,导航到要转换的 NFS 卷。
    2. 选择“编辑”。
    3. 在出现的“编辑”窗口中,选择“协议类型”下拉列表中的“NSFv4.1”。

    屏幕截图显示带有“协议类型”字段的“编辑”菜单

  3. 等待转换操作完成。

  4. 重新配置 Linux 客户端以启用 NFSv4.1 协议。 请参阅为 Azure NetApp 文件配置 NFSv4.1 默认域

  5. 在所有客户端上,将装载命令(即 /etc/fstab)中的 NFS 协议版本从 vers=3 更改为 vers=4.1

  6. 在客户端上重新装载该卷。 请参阅装载或卸载卷

  7. 在客户端上,运行 mount –v 并在列表中找到该卷。 在输出中验证版本是否显示为 nfsvers=4.1

    示例:
    mount -v | grep /path/to/vol1
    vol1:/path/to/vol1 on /path type nfs (rw,intr,tcp,nfsvers=4.1,rsize=16384,wsize=16384,addr=192.168.1.1)

  8. 使用 root 和非 root 用户身份来验证访问。

从 NFSv4.1 转换为 NFSv3

在此示例中,你想要将一个现有的 NFSv4.1 卷转换为 NFSv3。

本部分介绍如何将 NFSv4.1 卷转换为 NFSv3。

重要

将卷从 NFSv4.1 转换为 NFSv3 会导致所有 NFSv4.1 功能(例如 ACL 和文件锁定)不可用。

  1. 转换卷之前:

    1. 从准备中的客户端卸载卷。 请参阅装载或卸载卷
      示例:
      sudo umount /path/to/vol1
    2. 将导出策略更改为只读。 请参阅为 NFS 或双重协议卷配置导出策略
  2. 转换 NFS 版本:

    1. 在 Azure 门户中,导航到要转换的 NFS 卷。
    2. 选择“编辑”。
    3. 在出现的“编辑”窗口中,选择“协议类型”下拉列表中的“NSFv3”。

    屏幕截图显示带有“协议类型”字段的“编辑”菜单

  3. 等待转换操作完成。

  4. 在所有客户端上,将装载命令(即 /etc/fstab)中的 NFS 协议版本从 vers=4.1 更改为 vers=3

  5. 在客户端上重新装载该卷。 请参阅装载或卸载卷

  6. 在客户端上,运行 mount –v 并在列表中找到该卷。 在输出中验证版本是否显示为 nfsvers=3

    示例:
    mount -v | grep /path/to/vol1
    vol1:/path/to/vol1 on /path type nfs (rw,intr,tcp,nfsvers=3,rsize=16384,wsize=16384,addr=192.168.1.1)

  7. 将只读导出策略更改回原始导出策略。 请参阅为 NFS 或双重协议卷配置导出策略

  8. 使用 root 和非 root 用户身份来验证访问。

后续步骤