Dell Unity:升级到 Unity OE 5.5 版后,NFSv4 客户端无法访问数据
摘要: 升级到 Unity OE 版本 5.5 后,NFSv4 客户端无法访问数据。
症状
升级到 Unity OE 版本 5.5 后,NFSv4 客户端无法访问数据。
原因
从 Unity OE 版本 5.5 开始,包括对 NFSv4.2 的支持。NFSv4.2 协议支持带来了额外的安全性和性能,以及备盘文件和 NFS 安全标签的 NFS 属性支持。
在 Unity OE 升级期间,当 SP 按顺序重新启动时,支持 NFSv4.2 的 NFS 客户端将自动使用 NFSv4.2 重新装载导出。此自动协议升级可能会导致意外问题,并且某些客户可能无法访问其数据。 原因是 Unity 和客户端将在装载时协商它们都支持的最高 NFS 版本,但如果未启用或配置 NFSv4.2 特定设置,则装载将失败或数据访问失败。
解决方案
修复:
这里没有修复,因为产品是按设计工作的。
解决办法:
以最快的方式恢复对数据的访问的解决方法是将 NFS 降级到 NFSv4.1。 有三种方法可以实现此目的:一种在客户端,两种在 Unity 端。
- 客户端:
客户可以在客户端装载过程中明确指定 NFS 协议版本。例如,要强制实施 NFSv4.1,请执行以下作:
[root@rhel8 tmp]# mount -o vers=4.1 5.6.7.196:/test /tmp/test
- Unity 端
在 Unity 中,无法在 Unisphere 中指定 NFSv4 版本,但在 Unity OE 5.5 中引入了一个 CLI 参数,用于控制 Unity 可以支持的最高 NFSv4 版本。
以下命令可用于列出 Unity NAS 服务器上支持的当前最高 NFSv4 版本。 “default_value = 2”和“current_value = 2”都表示 Unity 支持 NFSv4.2。
06:59:09 service@unity spa:~/user# svc_nas ALL -param -facility nfsv4 -info maxMinorVersion -verbose
SPA :
param nfsv4.maxMinorVersion added into the list of visible params
name = maxMinorVersion
facility_name = nfsv4
default_value = 2
current_value = 2
configured_value =
param_type = global
user_action = reboot SP
change_effective = reboot SP
range = (0,2)
description = NA
test:
name = maxMinorVersion
facility_name = nfsv4
default_value = 2
current_value = 2
configured_value =
param_type = global
user_action = reboot SP
change_effective = reboot SP
range = (0,2)
description = NA
以下命令可用于将最高 NFSv4 版本从默认的 4.2 降级到 4.1。
07:01:30 service@unity spa:~/user# svc_nas ALL -param -facility nfsv4 -modify maxMinorVersion -value 1
SPA : done
Warning 17716815750: SPA : You must reboot the SP for maxMinorVersion changes to take effect.
更改参数并重新启动 SP 后,客户端装载输出中的“vers”应为 4.1。
此外,Unity 端的第二个选项是使用以下命令禁用所有 NAS 服务器上的安全标签:
18:26:32 service@unity spa:~/user# svc_nas ALL -param -f nfsv4 -m secLabelSupport -v 0
param nfsv4.secLabelSupport added into the list of visible params
SPA : done