歡迎來到 Microsoft Q&A Forum!
感謝您提供此問題的詳細資訊。
根據您提供的資訊,所觀察到的行為在 叢集作業系統循序升級(Cluster OS Rolling Upgrade)期間,當叢集處於混合作業系統模式(Mixed-OS Mode)時,通常屬於預期行為。當第一個已升級的節點重新加入叢集後,叢集會進入 Mixed-OS Mode,此時新版節點會以與舊版節點相容的模式執行,直到所有節點都完成升級並且叢集功能層級(Cluster Functional Level)完成更新為止。Mixed-OS Mode 可視為一種 暫時性的過渡狀態,而非長期的運作模式。
Hyper-V 與 儲存體(Storage) 已經特別設計並驗證可在此過渡期間正常運作,且內建機制可支援在受支援的 Windows Server 版本之間進行容錯移轉(Failover)。
對於第三方或自訂資源類型,其相容性則取決於資源 DLL(Resource DLL)的實作方式。如果 Resource DLL 無法在兩個作業系統版本之間一致地處理資源進入點(resource entry points)、控制碼(control codes)或特定版本的 API,則當資源擁有權在已升級與未升級節點之間移轉時,可能會出現不同的行為。
在此情況下,Resource DLL 版本不一致以及容錯移轉行為不一致,更可能表示該資源本身存在相容性限制,而非 Failover Clustering 的問題。雖然 Failover Clustering 支援混合版本叢集運作,但各個資源本身的跨版本相容性仍屬於資源提供者(Resource Provider)的責任範圍。
1.叢集功能層級(Cluster Functional Level)注意事項
在 更新叢集功能層級之前,Cluster OS Rolling Upgrade 仍可回復(reversible)。
一旦執行 Update-ClusterFunctionalLevel,叢集便會永久切換到新的功能層級並離開 Mixed-OS Mode。此後,執行舊版作業系統的節點將無法再加入該叢集,因此這實際上是一項 無法回頭(Point of No Return) 的操作。
2.執行 Update-ClusterFunctionalLevel 前的建議
- 確保所有叢集節點都已升級至目標 Windows Server 版本。
- 在節點升級完成後,驗證所有非原生(Non-native)資源類型的容錯移轉行為。
- 向資源供應商確認其 Resource DLL 是否支援 Cluster OS Rolling Upgrade 以及混合版本叢集情境。
- 在叢集仍處於 Mixed-OS Mode 期間解決任何 Resource DLL 相容性問題,因為一旦更新叢集功能層級後,將無法再使用回復選項。
總而言之,在 Mixed-OS Mode 運作期間,如果某項資源未完整設計為支援跨版本相容性,則出現 Resource DLL 版本不一致與容錯移轉行為不一致的情況是可以預期的。在執行 Update-ClusterFunctionalLevel 之前,建議先完成相容性驗證並解決任何資源相關問題,因為功能層級升級屬於永久性變更。
如需更多資訊,請參閱:
透過執行叢集作業系統滾動升級來升級 Windows Server 故障轉移叢集的作業系統 | Microsoft Learn
Version Compatibility | Microsoft Learn
Update-ClusterFunctionalLevel (FailoverClusters) | Microsoft Learn
希望以上說明有助於釐清您的問題。如果此回覆對您有所幫助,請協助按一下 接受解答(Accept the Answer)。
感謝您向 Microsoft Q&A 提出您的問題與疑慮。