Dell Unity:升級至 Unity OE 5.5 版後,NFSv4 用戶端無法存取資料
Summary: 升級至 Unity OE 5.5 版後,NFSv4 用戶端無法存取資料。
Symptoms
升級至 Unity OE 5.5 版後,NFSv4 用戶端無法存取資料。
Cause
從 Unity OE 5.5 版開始,將包含對 NFSv4.2 的支援。NFSv4.2 通訊協定支援帶來額外的安全性和效能,以及備援檔案和 NFS 安全性標籤的 NFS 屬性支援。
在 Unity OE 升級期間,當 SP 按順序重新開機時,支援 NFSv4.2 的 NFS 用戶端會自動使用 NFSv4.2 重新掛接匯出。此自動通訊協定升級可能會導致意外問題,而且有些客戶可能無法存取其資料。 造成這種情況的原因是 Unity 和用戶端會在掛接時協商各自支援的最高 NFS 版本,但如果未啟用或設定 NFSv4.2 特定設定,則掛接將會失敗或資料存取將會失敗。
Resolution
修正:
由於產品是依設計運作,因此這裡沒有修正。
因應措施:
若要以最快的方式還原資料存取權,因應措施是將 NFS 降級至 NFSv4.1。 有三種方法可以實現此目的:一種是在用戶端,兩種是在 Unity 端。
- 用戶端:
客戶可以在用戶端掛載期間顯式指定 NFS 協定版本。例如,若要強制執行 NFSv4.1:
[root@rhel8 tmp]# mount -o vers=4.1 5.6.7.196:/test /tmp/test
- 團結方面
在 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