叢集感知更新的需求和最佳做法

適用於:Windows Server 2022、Windows Server 2019、Windows Server 2016、Windows Server 2012 R2、Windows Server 2012、Azure Stack HCI、版本 21H2 和 20H2

本節說明使用 叢集感知更新 (CAU) 將更新套用至執行 Windows Server 的故障轉移叢集所需的需求和相依性。

注意

若您是使用 Microsoft.WindowsUpdatePlugin以外的外掛程式,您可能需要另行驗證您的叢集環境是否已做好套用更新的準備。 若您是使用非 Microsoft 外掛程式,請連絡發行者以取得詳細資訊。 如需外掛程式的詳細資訊,請參閱 外掛程式的運作方式。

安裝容錯移轉叢集功能與容錯移轉叢集工具

CAU 要求您必須安裝「容錯移轉叢集」功能與「容錯移轉叢集工具」。 「容錯移轉叢集工具」包含 CAU 工具 (clusterawareupdating.dll)、容錯移轉叢集 Cmdlet 與 CAU 操作所需的其他工具。 如需安裝「容錯移轉叢集」功能的步驟,請參閱 安裝容錯移轉叢集功能和工具

故障轉移叢集工具的確切安裝需求取決於 CAU 是否以故障轉移叢集上的叢集角色(使用自我更新模式)或從遠端電腦協調更新。 CAU 的自行更新模式需要您使用 CAU 工具在容錯移轉叢集上額外安裝 CAU 叢集角色。

下表摘要說明兩種 CAU 更新模式的 CAU 功能安裝需求。

已安裝的元件 自行更新模式 遠端更新模式
容錯移轉叢集功能 在所有叢集節點上是必要的 在所有叢集節點上是必要的
容錯移轉叢集工具 在所有叢集節點上是必要的 - 遠端更新電腦上的必要專案
- 所有叢集節點上都必須執行 Save-CauDebugTrace Cmdlet
CAU 叢集角色 必要 非必要

取得系統管理員帳戶

下列系統管理員需求是使用 CAU 功能的必要條件。

  • 若要使用 CAU 使用者介面 (UI) 或叢集感知更新 Cmdlet 預覽或套用更新動作,您必須使用具有所有叢集節點上本機系統管理員許可權的網域帳戶。 如果帳戶在每個節點上沒有足夠的許可權,系統會在 [叢集感知更新] 視窗中提示您在執行這些動作時提供必要的認證。 若要使用 叢集感知更新 Cmdlet,您可以提供必要的認證作為 Cmdlet 參數。

  • 如果您在使用叢集節點上沒有本機系統管理員許可權的帳戶登入時,在遠端更新模式中使用 CAU,則必須使用更新協調器電腦上的本機系統管理員帳戶,或使用在 驗證 使用者權力之後模擬客戶端的帳戶,以系統管理員身分執行 CAU 工具。

  • 若要執行 CAU 最佳做法分析器,您必須使用在叢集節點上具有系統管理許可權的帳戶,以及用來執行 Test-CauSetup Cmdlet 的電腦上具有系統管理許可權的帳戶,或使用 [叢集感知更新] 視窗分析叢集更新整備程度。 如需詳細資訊,請參閱 測試叢集更新整備

驗證叢集設定

下列是讓容錯移轉叢集可支援使用 CAU 來更新的一般需求。 在節點上啟用遠端管理功能的額外設定需求列於此主題稍後的 設定節點以進行遠端管理

  • 足夠的叢集節點必須在線上,叢集才有仲裁。

  • 所有叢集節點都必須位於相同的 Active Directory 網域。

  • 叢集名稱必須可在網路上使用 DNS 來解析。

  • 若在遠端更新模式中使用 CAU,「更新協調器」電腦必須能透過網路連線到容錯移轉叢集節點,而且它必須位於與容錯移轉叢集相同的 Active Directory 網域中。

  • 所有叢集節點都必須執行 Cluster 服務。 根據預設值,所有叢集節點上都會安裝此服務,而且此服務會被設定為自動啟動。

  • 若要在 CAU 更新執行期間使用 PowerShell 預先更新或更新後腳本,請確定腳本會安裝在所有叢集節點上,或是所有節點都可以存取這些腳本,例如,在高可用性網路檔案共用上。 若指令碼是儲存到網路檔案共用,請設定該資料夾,讓 Everyone 群組擁有該資料夾的「讀取」權限。

設定節點以進行遠端管理

若要使用叢集感知更新,叢集的所有節點都必須設定為遠端管理。 根據預設,您必須執行以設定遠端管理節點的唯一工作是啟用 防火牆規則以允許自動重新啟動

下表列出完整的遠端管理需求,以防您的環境與預設值不同。

安裝容錯移轉叢集功能與容錯移轉叢集工具 的安裝需求與此主題先前各節所述的一般叢集需求並未涵蓋這些需求。

需求 預設狀態 自行更新模式 遠端更新模式
啟用防火牆規則以允許自動重新啟動 停用 若使用防火牆,在所有叢集節點上是必要的 若使用防火牆,在所有叢集節點上是必要的
啟用 Windows Management Instrumentation 已啟用 在所有叢集節點上是必要的 在所有叢集節點上是必要的
啟用 Windows PowerShell 3.0 或 4.0 和 Windows PowerShell 遠端功能 已啟用 在所有叢集節點上是必要的 在執行下列項目的所有叢集節點上是必要的:

- Save-CauDebugTrace Cmdlet
- 更新執行期間PowerShell更新前和更新後腳本
- 使用 [叢集感知更新] 視窗或 Test-CauSetup Windows PowerShell Cmdlet 測試叢集更新整備程度

安裝 .NET Framework 4.6 或 4.5 已啟用 在所有叢集節點上是必要的 在執行下列項目的所有叢集節點上是必要的:

- Save-CauDebugTrace Cmdlet
- 更新執行期間PowerShell更新前和更新後腳本
- 使用 [叢集感知更新] 視窗或 Test-CauSetup Windows PowerShell Cmdlet 測試叢集更新整備程度

啟用防火牆規則以允許自動重新啟動

若要允許電腦在套用更新後自動重新啟動 (若安裝更新需要重新啟動) 且叢集節點上有 Windows 防火牆或非 Microsoft 防火牆正在執行,您必須在每個節點上啟用防火牆規則以允許下列流量:

  • 通訊協定:TCP

  • 方向:連入

  • 程式:wininit.exe

  • 連接埠:RPC 動態連接埠

  • 設定檔︰網域

若叢集節點上使用的是 Windows 防火牆,您可以在每個叢集節點上啟用「遠端關機」 Windows 防火牆規則群組以執行此動作。 當您使用 [叢集感知更新] 視窗來套用更新並設定自我更新選項時, 會自動在每個叢集節點上啟用遠端關機 Windows 防火牆規則群組。

注意

當「 Remote Shutdown 」Windows 防火牆規則群組與針對 Windows 防火牆設定的群組原則設定衝突時,您無法將它啟用。

執行下列 CAU Cmdlet 時,也會指定 –EnableFirewallRules 參數來啟用遠端關機防火牆規則群組:Add-CauClusterRoleInvoke-CauRunSetCauClusterRole

下列 PowerShell 範例示範在叢集節點上啟用自動重新啟動的其他方法。

Set-NetFirewallRule -Group "@firewallapi.dll,-36751" -Profile Domain -Enabled true

啟用 Windows Management Instrumentation (WMI)

必須設定所有叢集節點以便使用 Windows Management Instrumentation (WMI) 進行遠端管理。 此功能預設為啟用。

若要手動啟用遠端管理,請執行下列動作:

  1. 在 [服務] 主控台中,啟動 Windows Remote Management 服務,並將啟動類型設定為 [自動]

  2. 執行 Set-WSManQuickConfig Cmdlet,或從提升許可權的命令提示字元執行下列命令:

    winrm quickconfig -q
    

為支援 WMI 遠端執行功能,若叢集節點上的 Windows 防火牆為使用中,則必須在每個節點上啟用「Windows 遠端管理 (HTTP-In)」 連入防火牆規則。 根據預設值,此規則是啟用的。

啟用 Windows PowerShell 與 Windows PowerShell 遠端執行功能

若要在遠端更新模式中啟用自我更新模式和特定 CAU 功能,必須安裝並啟用 PowerShell,才能在所有叢集節點上執行遠端命令。 根據預設,PowerShell 會安裝並啟用遠端處理。

若要啟用 PowerShell 遠端功能,請使用下列其中一種方法:

如需啟用PowerShell遠端功能的詳細資訊,請參閱 關於遠端需求

安裝 .NET Framework 4.6 或 4.5

若要在遠端更新模式中啟用自我更新模式和特定 CAU 功能,必須在所有叢集節點上安裝 .NET Framework 4.6 或 .NET Framework 4.5(在 Windows Server 2012 R2 上)。 根據預設,會安裝NET Framework。

若要在尚未安裝 .NET Framework 4.6 (或 4.5) 的情況下使用 PowerShell 安裝,請使用下列命令:

Install-WindowsFeature -Name NET-Framework-45-Core

使用叢集感知更新的最佳做法建議

套用 Microsoft 更新的建議

當您開始使用 CAU 並以預設 Microsoft.WindowsUpdatePlugin 外掛程式在叢集上套用更新時,建議您停止使用其他方法在叢集節點上安裝來自 Microsoft 的軟體更新。

警告

同時使用 CAU 與自動 (定時) 更新個別節點的方法會造成無法預測的結果,包括服務中斷及非計劃性停機。

建議您遵循下列指導方針:

  • 為獲得最佳結果,建議您停用叢集節點上的自動更新設定 (例如透過 [控制台] 中的 [自動更新] 設定,或透過使用群組原則建立的設定)。

    警告

    在叢集節點上自動安裝更新可能會干擾 CAU 的更新安裝作業並倒置 CAU 失敗。

    若您需要這些設定,下列「自動更新」設定與 CAU 相容,因為系統管理員可以控制更新安裝時機:

    • 下載更新之前通知使用者的設定與安裝更新之前通知使用者的設定

    • 自動下載更新並在安裝之前通知使用者的設定

    不過,若 CAU 的「更新執行」正在執行時,「自動更新」正在下載更新,「更新執行」可能需要較久的時間才能完成。

  • 請勿設定自動 (定時) 將更新套用至叢集節點的更新系統,例如 Windows Server Update Services (WSUS)。

  • 您應該一致地將所有叢集節點設定為使用相同的更新來源,例如 WSUS 伺服器、Windows Update 或 Microsoft Update。

  • 如果您使用設定管理系統將軟體更新套用至網路上的電腦,請從所有必要或自動更新中排除叢集節點。 組態管理系統的範例包括 Microsoft Endpoint Configuration Manager 和 Microsoft System Center Virtual Machine Manager 2008。

  • 如果使用內部軟體散發伺服器 (例如 WSUS 伺服器) 來包含和部署更新,請確認這些伺服器能夠針對叢集節點正確識別已核准的更新。

在分公司案例套用 Microsoft 更新

若要從 Microsoft Update 或 Windows Update 下載 Microsoft 更新到特定分公司案例中的叢集節點,您可能需要在每個節點上設定本機系統帳戶的 Proxy 設定。 例如,若您的分公司叢集使用本機 Proxy 伺服器來存取 Microsoft Update 或 Windows Update 以下載更新,您可能需要執行此動作。

如有必要,請在每個節點上設定 WinHTTP Proxy 設定以指定本機 Proxy 伺服器,並設定本機位址例外 (亦即,本機位址的略過清單)。 若要這樣做,您可以在每個叢集節點上從已提升權限的命令提示字元執行下列命令:

netsh winhttp set proxy <ProxyServerFQDN >:<port> "<local>"

其中 <ProxyServerFQDN> 是 Proxy 伺服器的完整域名,而<埠是用來通訊的埠>(通常是埠 443)。

例如,若要為指定 proxy 伺服器 MyProxy.CONTOSO.com 的本機系統帳戶設定 WinHTTP Proxy 設定,請使用埠 443 和本機地址例外狀況,輸入下列命令:

netsh winhttp set proxy MyProxy.CONTOSO.com:443 "<local>"

使用 Microsoft.HotfixPlugin 的建議

  • 建議您設定 Hotfix 根資料夾與 Hotfix 設定檔的權限,只將「寫入」存取權授與用來儲存這些檔案之電腦上的本機系統管理員。 這樣有助於防止未經授權的使用者竄改這些檔案,以免容錯移轉叢集功能在您套用 Hotfix 後有安全之虞。

  • 為協助確保用來存取 Hotfix 根資料夾之伺服器訊息區 (SMB) 連線的資料完整性,您應該在 SMB 共用資料夾設定 SMB 加密 (如果可以設定)。 Microsoft.HotfixPlugin 要求您必須設定 SMB 簽署或 SMB 加密,以協助確保 SMB 連線的資料完整性。

    如需詳細資訊,請參閱 限制對 Hotfix 根資料夾和 Hotfix 組態檔的存取。

其他建議

  • 為避免干擾可能排定在相同時間執行的 CAU「更新執行」,請勿在已排定的維護時段排定叢集名稱物件與虛擬電腦物件的密碼變更作業。

  • 您應該為儲存在網路共用資料夾中的更新前與更新後指令碼設定適當的權限,以防止這些檔案被未經授權的使用者竄改。

  • 若要在自行更新模式中設定 CAU,您必須在 Active Directory 中設定 CAU 叢集角色的虛擬電腦物件 (VCO)。 若容錯移轉叢集有足夠的權限,CAU 可以在新增 CAU 叢集角色時自動建立此物件。 不過,因為特定組織中的安全性原則,您可能需要在 Active Directory 預先設置該物件。 如需可執行此動作的程序,請參閱 為叢集角色預先設置帳戶的步驟

  • 為根據 IT 組織中的類似更新需求儲存「更新執行」設定並在容錯移轉叢集中重複使用,您可以建立「更新執行設定檔」。 此外,視更新模式而定,您可以在位於可供所有遠端「更新協調器」電腦或容錯移轉叢集存取的檔案共用中儲存「更新執行設定檔」並進行管理。 如需詳細資訊,請參閱 CAU 的進階選項和更新執行配置檔。

測試叢集更新整備

您可以執行 CAU 最佳做法分析器 (BPA) 模型,以測試故障轉移叢集和網路環境是否符合 CAU 套用軟體更新的許多需求。 在這些測試中,有許多測試都會檢查環境的整備是否允許使用預設外掛程式 Microsoft.WindowsUpdatePlugin來套用 Microsoft 更新。

注意

您可能需要單獨驗證叢集環境是否準備好使用 Microsoft.WindowsUpdatePlugin 以外的外掛程式來套用軟體更新。 如果您使用非 Microsoft 外掛程式,例如硬體製造商所提供的外掛程式,請連絡發行者以取得詳細資訊。

您可以使用下列兩種方式來執行 BPA:

  1. 在 CAU 主控台中選取 [分析叢集更新整備] 。 BPA 完成整備測試之後,就會顯示測試報告。 若在叢集節點上偵測到問題,報告會指出該特定問題與問題所在節點,以便您可以採取修正動作。 測試可能需要數分鐘才能完成。

  2. 執行 Test-CauSetup Cmdlet。 您可以在安裝 Windows PowerShell 故障轉移叢集模組的本機或遠端電腦上執行 Cmdlet(故障轉移叢集工具的一部分)。 您也可以在容錯移轉叢集的節點上執行該 Cmdlet。

注意

  • 您必須使用在叢集節點上具有系統管理許可權的帳戶,以及用來執行 Test-CauSetup Cmdlet 之電腦上的本機系統管理許可權,或使用 [叢集感知更新] 視窗分析叢集更新整備程度。 若要使用 [叢集感知更新] 視窗執行測試,您必須使用必要的認證登入計算機。
  • 這些測試假設用來預覽及套用軟體更新的 CAU 工具是從用來測試叢集更新整備的電腦使用相同的使用者認證執行。

重要

強烈建議您在下列情況中測試叢集更新整備:

  • 當您第一次使用 CAU 來套用軟體更新時。
  • 在您新增節點至叢集後,或在叢集中變更需要執行 [驗證叢集精靈] 的硬體後。
  • 在您變更更新來源後,或變更會影響在節點上套用更新的更新設定 (非 CAU) 後。

測試叢集更新整備

下表列出叢集更新整備測試、一些常見問題,以及解決步驟。

Test 可能的問題和影響 解決步驟
容錯移轉叢集必須可供使用 無法解析容錯移轉叢集名稱,或無法存取一或多個叢集節點。 BPA 無法執行叢集整備測試。 - 檢查 BPA 執行期間所指定叢集名稱的拼字。
- 確定叢集的所有節點都已上線且正在執行。
- 檢查驗證設定精靈是否可以在故障轉移叢集上順利執行。
必須啟用容錯移轉叢集節點以透過 WMI 進行遠端管理 未啟用一或多個容錯移轉叢集節點以使用 Windows Management Instrumentation (WMI) 進行遠端管理。 若未將節點設定為允許遠端管理,CAU 將無法更新叢集節點。 確定已啟用所有容錯移轉叢集節點以透過 WMI 進行遠端管理。 如需詳細資訊,請參閱本主題中的 設定節點以進行遠端管理
應該在每個故障轉移叢集節點上啟用PowerShell遠端處理 PowerShell 未安裝或未啟用在一或多個故障轉移叢集節點上進行遠端處理。 CAU 無法針對自行更新模式設定或在遠端更新模式中使用特定功能。 確定已在所有叢集節點上安裝PowerShell,並啟用遠端功能。

如需詳細資訊,請參閱本主題中的 設定節點以進行遠端管理

容錯移轉叢集版本 故障轉移叢集中的一或多個節點不會執行 Windows Server 2016、Windows Server 2012 R2 或 Windows Server 2012。 CAU 無法更新容錯移轉叢集。 確認 BPA 執行期間指定的故障轉移叢集正在執行 Windows Server 2016、Windows Server 2012 R2 或 Windows Server 2012。

如需詳細資訊,請參閱本主題中的 驗證叢集設定

所有容錯移轉叢集節點上都必須安裝必要的 .NET Framework 與 Windows PowerShell 版本。 .NET Framework 4.6、4.5 或 Windows PowerShell 未安裝在一或多個叢集節點上。 某些 CAU 功能可能無法運作。 如果需要,請確定所有叢集節點上都已安裝 .NET Framework 4.6 或 4.5 和 Windows PowerShell。

如需詳細資訊,請參閱本主題中的 設定節點以進行遠端管理

所有叢集節點都必須執行 Cluster 服務 一或多個節點未執行 Cluster 服務。 CAU 無法更新容錯移轉叢集。 - 確定叢集服務 (clussvc) 已在叢集中的所有節點上啟動,且設定為自動啟動。
- 檢查驗證設定精靈是否可以在故障轉移叢集上順利執行。

如需詳細資訊,請參閱本主題中的 驗證叢集設定

所有容錯移轉叢集節點上的「自動更新」都不應該設定為自動安裝更新。 在至少一個容錯移轉叢集節點上,「自動更新」是設定為在該節點上自動安裝 Microsoft 更新。 結合 CAU 與其他更新方法會導致未規劃的停機或無法預期的結果。 若已在一或多個叢集節點上為「自動更新」設定 Windows Update 功能,請確定未將「自動更新」設定為自動安裝更新。

如需詳細資訊,請參閱 套用 Microsoft 更新的建議

所有容錯移轉叢集節點都應該使用相同的更新來源 一或多個容錯移轉叢集節點未設定為針對 Microsoft 更新使用與其他節點相同的更新來源。 CAU 可能無法一致地在叢集節點上套用更新。 確定每個叢集節點都已設定為使用相同的更新來源,例如 WSUS 伺服器、Windows Update 或 Microsoft Update。

如需詳細資訊,請參閱 套用 Microsoft 更新的建議

必須在容錯移轉叢集中的每個節點上啟用允許遠端關機的防火牆規則 一或多個容錯移轉叢集節點未啟用允許遠端關機的防火牆規則,或群組原則設定防止啟用此規則。 套用需要重新啟動節點之更新的「更新執行」可能未正確完成。 若叢集節點上正在使用 Windows 防火牆或非 Microsoft 防火牆,請設定允許遠端關機的防火牆規則。

如需詳細資訊,請參閱本主題中的 啟用防火牆規則以允許自動重新啟動

每個容錯移轉叢集節點上的 Proxy 伺服器設定應該設定為本機 Proxy 伺服器 一或多個容錯移轉叢集節點具有不正確的 Proxy 伺服器設定。

若正在使用本機 Proxy 伺服器,您應該正確地設定每個節點上的 Proxy 伺服器設定,讓叢集能存取 Microsoft Update 或 Windows Update。

確定每個叢集節點上的 WinHTTP Proxy 設定已設定為本機 Proxy 伺服器 (如果需要)。 若您的環境中未使用 Proxy 伺服器,則可以忽略此警告。

如需詳細資訊,請參閱本主題中的 Apply updates in branch office scenarios

必須在容錯移轉叢集上安裝 CAU 叢集角色以啟用自行更新模式 此容錯移轉叢集上未安裝 CAU 叢集角色。 叢集自行更新需要此角色。 若要在自行更新模式中使用 CAU,請使用下列其中一種方式在容錯移轉叢集上新增 CAU 叢集角色:

- 執行 Add-CauClusterRole PowerShell Cmdlet。
- 在 [叢集感知更新] 視窗中選取 [ 設定叢集自我更新選項 ] 動作。

必須在容錯移轉叢集上啟用 CAU 叢集角色,以啟用自行更新模式 CAU 叢集角色已停用。 例如,未安裝 CAU 叢集角色,或是已使用 Disable-CauClusterRole PowerShell Cmdlet 加以停用。 叢集自行更新需要此角色。 若要在自行更新模式中使用 CAU,請使用下列其中一種方式啟用此容錯移轉叢集上的 CAU 叢集角色:

- 執行 Enable-CauClusterRole PowerShell Cmdlet。
- 在 [叢集感知更新] 視窗中選取 [ 設定叢集自我更新選項 ] 動作。

針對自行更新模式設定的 CAU 外掛程式必須在所有容錯移轉叢集節點上登錄 此容錯移轉叢集之一或多個節點上的 CAU 叢集角色無法存取在自行更新選項中設定的 CAU 外掛程式模組。 自行更新執行可能會失敗。 - 遵循提供 CAU 外掛程式的產品安裝程式,確定所有叢集節點上都已安裝已設定的 CAU 外掛程式。
- 執行 Register-CauPlugin PowerShell Cmdlet,以在所需的叢集節點上註冊外掛程式。
所有容錯移轉叢集節點都必須有相同的已登錄 CAU 外掛程式集合 若已設定為要在「更新執行」中使用的外掛程式被變更為並非在所有叢集節點上都可用的外掛程式,自行更新執行可能會失敗。 - 遵循提供 CAU 外掛程式的產品安裝程式,確定所有叢集節點上都已安裝已設定的 CAU 外掛程式。
- 執行 Register-CauPlugin PowerShell Cmdlet,以在所需的叢集節點上註冊外掛程式。
已設定的「更新執行」選項必須是有效的 為此容錯移轉叢集設定的自行更新排程與「更新執行」選項不相容或無效。 自行更新執行可能會失敗。 設定有效的自行更新排程與「更新執行」選項集合。 例如,您可以使用 Set-CauClusterRole PowerShell Cmdlet 來設定 CAU 叢集角色。
至少必須有兩個容錯移轉叢集節點是 CAU 叢集角色的擁有者 在自行更新模式中啟動的「更新執行」將會失敗,因為 CAU 叢集角色沒有可移至其中的可能擁有者節點。 使用「容錯移轉叢集工具」來確定所有叢集節點都已設定為 CAU 叢集角色的可能擁有者。 這是預設設定。
所有容錯移轉叢集節點都必須能存取 Windows PowerShell 指令碼 並非 CAU 叢集角色的所有可能擁有者節點都能存取已設定的 Windows PowerShell 更新前與更新後指令碼。 自行更新執行將會失敗。 請確定 CAU 叢集角色的所有可能擁有者節點都有權存取已設定的 PowerShell 更新前和更新後腳本。
所有容錯移轉叢集節點都應該使用相同的 Windows PowerShell 指令碼 並非 CAU 叢集角色的所有可能擁有者節點都使用相同的指定 Windows PowerShell 更新前與更新後指令碼複本。 自行更新執行可能會失敗或顯示未預期的行為。 請確定 CAU 叢集角色的所有可能擁有者節點都使用相同的 PowerShell 預先更新和更新後腳本。
為「更新執行」指定的 WarnAfter 設定應該小於 StopAfter 設定 指定的 CAU「更新執行」逾時值使得警告逾時無效。 「更新執行」可能會在警告事件記錄檔產生之前就被取消。 在「更新執行」選項中,為 WarnAfter 選項值設定小於 StopAfter 選項值的值。

其他參考