你当前正在访问 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 文件用户应联系其帐户团队来访问此选项,而不要按照以下步骤操作。
注册:
Register-AzProviderFeature -ProviderNamespace Microsoft.NetApp -FeatureName ANFProtocolTypeNFSConversion
检查功能注册的状态:
注意
RegistrationState 可能会处于
Registering
状态长达 60 分钟,然后才更改为Registered
状态。 请等到状态变为Registered
后再继续。Get-AzProviderFeature -ProviderNamespace Microsoft.NetApp -FeatureName ANFProtocolTypeNFSConversion
此外,Azure CLI 命令 az feature register
和 az feature show
分别可用于注册功能和显示注册状态。
从 NFSv3 转换为 NFSv4.1
在此示例中,你有一个 NFSv3 卷,但你想要使用 NFSv4.1 功能。 你未使用 LDAP 集成,也不打算将 Kerberos 用于 NFSv4.1。
本部分介绍如何将 NFSv3 卷转换为 NFSv4.1。
在转换卷之前,请先从客户端卸载该卷,以做好准备。 请参阅装载或卸载卷。
示例:
sudo umount /path/to/vol1
转换 NFS 版本:
- 在 Azure 门户中,导航到要转换的 NFS 卷。
- 选择“编辑”。
- 在出现的“编辑”窗口中,选择“协议类型”下拉列表中的“NSFv4.1”。
等待转换操作完成。
重新配置 Linux 客户端以启用 NFSv4.1 协议。 请参阅为 Azure NetApp 文件配置 NFSv4.1 默认域。
在所有客户端上,将装载命令(即
/etc/fstab
)中的 NFS 协议版本从vers=3
更改为vers=4.1
。在客户端上重新装载该卷。 请参阅装载或卸载卷。
在客户端上,运行
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)
使用 root 和非 root 用户身份来验证访问。
从 NFSv4.1 转换为 NFSv3
在此示例中,你想要将一个现有的 NFSv4.1 卷转换为 NFSv3。
本部分介绍如何将 NFSv4.1 卷转换为 NFSv3。
重要
将卷从 NFSv4.1 转换为 NFSv3 会导致所有 NFSv4.1 功能(例如 ACL 和文件锁定)不可用。
转换卷之前:
- 从准备中的客户端卸载卷。 请参阅装载或卸载卷。
示例:
sudo umount /path/to/vol1
- 将导出策略更改为只读。 请参阅为 NFS 或双重协议卷配置导出策略。
- 从准备中的客户端卸载卷。 请参阅装载或卸载卷。
转换 NFS 版本:
- 在 Azure 门户中,导航到要转换的 NFS 卷。
- 选择“编辑”。
- 在出现的“编辑”窗口中,选择“协议类型”下拉列表中的“NSFv3”。
等待转换操作完成。
在所有客户端上,将装载命令(即
/etc/fstab
)中的 NFS 协议版本从vers=4.1
更改为vers=3
。在客户端上重新装载该卷。 请参阅装载或卸载卷。
在客户端上,运行
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)
。将只读导出策略更改回原始导出策略。 请参阅为 NFS 或双重协议卷配置导出策略。
使用 root 和非 root 用户身份来验证访问。