共用方式為


故障轉移叢集維護程式

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

重要

Azure Stack HCI 現在是 Azure 本機的一部分。 產品檔案重新命名正在進行中。 不過,舊版的 Azure Stack HCI,例如 22H2 會繼續參考 Azure Stack HCI,而且不會反映名稱變更。 深入了解

本文假設您需要關閉實體伺服器以執行維護,或基於其他原因重新啟動它。 若要在 Azure Stack HCI 叢集上安裝更新,而不讓伺服器離線,請參閱 更新 Azure Stack HCI 叢集

讓伺服器離線進行維護,需要讓部分儲存設備離線,這些記憶體會在故障轉移叢集中的所有伺服器上共用。 這需要暫停您想要離線的伺服器、將伺服器的磁碟置於維護模式、將叢集角色和虛擬機 (VM) 移至叢集中的其他伺服器,以及確認叢集中其他伺服器上有所有數據可供使用。 此程式可確保數據在維護期間保持安全且可存取。

您可以使用 Windows Admin Center 或 PowerShell 讓伺服器離機進行維護。 本主題涵蓋這兩種方法。

使用 Windows Admin Center 讓伺服器離線

準備讓伺服器離線的最簡單方式是使用 Windows Admin Center。

確認讓伺服器離線是安全的

  1. 使用 Windows Admin Center 連線到您想要離線的伺服器。 從 [工具] 選單中選取 [記憶體>磁碟],並確認每個虛擬磁碟的 [狀態] 資料行顯示 [在線]。

  2. 然後,選取 [記憶體磁碟區],並確認每個磁碟區的 [健全狀況] 數據行顯示 [狀況良好],且每個磁碟區的 [狀態] 數據行會顯示 [確定>]。

暫停和清空伺服器

在關閉或重新啟動伺服器之前,您應該先暫停伺服器並清空(關閉)任何叢集角色,例如在伺服器上執行的 VM。 請一律暫停並清空叢集伺服器,再將其脫機以進行維護。

  1. 使用 Windows Admin Center 連線到叢集,然後從 [叢集管理員] 的 [工具] 功能選單中選取 [計算>伺服器]。

  2. 選取 [清查]。 按兩下您要暫停和清空的伺服器名稱,然後選取 [ 暫停]。 您應該會看到下列提示:

    暫停伺服器進行維護:您確定要暫停伺服器嗎? 這會將工作負載,例如虛擬機移至叢集中的其他伺服器。

  3. 選取 [ ] 以暫停伺服器並起始清空程式。 伺服器狀態會顯示為 [維護中]、[清空],以及 Hyper-V 和 VM 等角色,將會立即開始即時移轉至叢集中的其他伺服器。 這可能需要數分鐘的時間。 在繼續之前,無法將任何角色新增至伺服器。 清空程式完成時,伺服器狀態會顯示為 [維護中],[清空] 已完成。 操作系統會執行自動安全性檢查,以確保安全繼續進行。 如果有狀況不良的磁碟區,它會停止並提醒您不要繼續。

關閉伺服器

伺服器完成清空后,您就可以安全地將其關機以進行維護或重新啟動。

警告

如果伺服器執行的是 Azure Stack HCI 版本 20H2、Windows Server 2019 或 Windows Server 2016,您必須先 將磁碟置於維護模式 ,再關閉伺服器,再 將磁碟從維護模式 取出,再將伺服器繼續進入叢集。

繼續伺服器

當您準備好讓伺服器再次開始裝載叢集角色和 VM 時,只要開啟伺服器、等候伺服器開機,然後使用下列步驟繼續伺服器。

  1. 在 [叢集管理員] 中,從左側的 [工具] 功能選取 [計算>伺服器]。

  2. 選取 [清查]。 按兩下您想要繼續的伺服器名稱,然後按兩下 [ 繼續]。

叢集角色和 VM 會立即開始即時移轉至伺服器。 這可能需要數分鐘的時間。

等候記憶體重新同步

當伺服器繼續時,發生於無法重新同步處理時發生的任何新寫入。 這會使用智慧型變更追蹤自動發生。 不需要 掃描或同步處理所有數據 ;只有變更。 此程式會進行節流處理,以減輕對生產工作負載的影響。 視伺服器暫停的時間和寫入新數據的時間而定,可能需要幾分鐘的時間才能完成。

重要

您必須等候重新同步處理完成,才能讓叢集中的任何其他伺服器脫機。

若要檢查記憶體重新同步是否已完成:

  1. 使用 Windows Admin Center 連線到叢集,然後選取 [存儲設備磁碟區>]。
  2. 選取 [清查]
  3. 檢查每個磁碟區的 [ 狀態] 資料行。 如果顯示 [確定],則會完成記憶體重新同步處理。 現在安全地讓叢集中的其他伺服器離線。

使用 PowerShell 讓伺服器離線

使用下列程式,使用PowerShell正確地暫停、清空和繼續故障轉移叢集中的伺服器。

確認讓伺服器離線是安全的

若要確認您的所有磁碟區都狀況良好,請以系統管理員身分執行下列 Cmdlet:

Get-VirtualDisk

此輸出可能看起來會像以下的範例:

FriendlyName              ResiliencySettingName FaultDomainRedundancy OperationalStatus HealthStatus    Size FootprintOnPool StorageEfficiency
------------              --------------------- --------------------- ----------------- ------------    ---- --------------- -----------------
Mirror II                 Mirror                1                     OK                Healthy         4 TB         8.01 TB            49.99%
Mirror-accelerated parity                                             OK                Healthy      1002 GB         1.96 TB            49.98%
Mirror                    Mirror                1                     OK                Healthy         1 TB            2 TB            49.98%
ClusterPerformanceHistory Mirror                1                     OK                Healthy        24 GB           49 GB            48.98%

確認 每個磁碟區的 HealthStatus 屬性為 [狀況良好 ], 而 OperationalStatus 會顯示 [確定]。

若要使用故障轉移叢集管理員來執行這項操作,請移至記憶體>磁碟。

暫停和清空伺服器

以系統管理員身分執行下列 Cmdlet,以暫停和清空伺服器:

Suspend-ClusterNode -Drain

若要在故障轉移叢集管理員中執行此動作,請移至 [節點],以滑鼠右鍵按兩下節點,然後選取 [暫停>清空角色]。

如果伺服器執行 Azure Stack HCI 版本 21H2 或 Windows Server 2022,暫停和清空伺服器也會讓伺服器的磁碟進入維護模式。 如果伺服器執行的是 Azure Stack HCI 版本 20H2、Windows Server 2019 或 Windows Server 2016,您必須手動執行此動作(請參閱下一個步驟)。

將磁碟置於維護模式

在 Azure Stack HCI 版本 20H2、Windows Server 2019 和 Windows Server 2016 中,將伺服器的磁碟置於維護模式,讓 儲存空間直接存取 有機會正常排清並認可數據,以確保伺服器關機不會影響應用程式狀態。 一旦磁碟進入維護模式,就不會再允許寫入。 若要將記憶體重新同步處理時間降到最低,建議您在重新啟動前將磁碟放入維護模式,並在系統備份後立即將其帶出維護模式。

注意

如果伺服器執行 Azure Stack HCI 版本 21H2 或 Windows Server 2022,您可以略過此步驟,因為當伺服器暫停和清空時,磁碟會自動進入維護模式。 這些操作系統具有細微的修復功能,可讓重新同步處理更快速且對系統與網路資源的影響較小,讓伺服器和記憶體維護能夠一起完成。

如果伺服器執行 Windows Server 2019 或 Azure Stack HCI 版本 20H2,請以系統管理員身分執行下列 Cmdlet:

Get-StorageScaleUnit -FriendlyName "Server1" | Enable-StorageMaintenanceMode

如果伺服器執行 Windows Server 2016,請改用下列語法:

Get-StorageFaultDomain -Type StorageScaleUnit | Where-Object {$_.FriendlyName -eq "Server1"} | Enable-StorageMaintenanceMode

關閉伺服器

伺服器完成清空後,其會顯示為 PowerShell和故障轉移叢集管理員中的已暫停

您現在可以使用 或 Restart-Computer PowerShell Cmdlet 或使用故障轉移叢集管理員,安全地關閉或重新啟動Stop-Computer伺服器。

注意

在正在關閉或啟動/停止叢集服務的伺服器上執行 Get-VirtualDisk 命令時,伺服器的作業狀態可能會回報為不完整或降級,而 [健全狀況狀態] 資料行可能會列出警告。 這是正常的,不應該引起關注。 您的所有磁碟區都維持在在線且可供存取。

讓磁碟脫離維護模式

如果伺服器執行的是 Azure Stack HCI 版本 20H2、Windows Server 2019 或 Windows Server 2016,您必須先停用磁碟上的記憶體維護模式,才能將伺服器繼續進入叢集。 若要將記憶體重新同步處理時間降到最低,建議您在系統備份后立即將其排除在維護模式中。

注意

如果伺服器執行的是 Azure Stack HCI 版本 21H2 或 Windows Server 2022,您可以略過此步驟,因為伺服器繼續時,磁碟會自動從維護模式取出。

如果伺服器執行的是 Windows Server 2019 或 Azure Stack HCI 版本 20H2,請以系統管理員身分執行下列 Cmdlet 以停用記憶體維護模式:

Get-StorageScaleUnit -FriendlyName "Server1" | Disable-StorageMaintenanceMode

如果伺服器執行 Windows Server 2016,請改用下列語法:

Get-StorageFaultDomain -Type StorageScaleUnit | Where-Object {$_.FriendlyName -eq "Server1"} | Disable-StorageMaintenanceMode

繼續伺服器

將伺服器繼續到叢集中。 若要傳回先前在伺服器上執行的叢集角色和 VM,請使用選擇性 的 -Failback 旗標:

Resume-ClusterNode –Failback Immediate

若要在故障轉移叢集管理員中這樣做,請移至 [節點],以滑鼠右鍵按兩下節點,然後選取 [繼續>容錯回復角色]。

一旦伺服器繼續,它就會在 PowerShell和故障轉移叢集管理員中顯示為Up

等候記憶體重新同步

當伺服器繼續時,您必須等候重新同步處理完成,才能讓叢集中的任何其他伺服器離線。

以系統管理員身分執行下列 Cmdlet 以監視進度:

Get-StorageJob

如果重新同步處理已完成,您將不會取得任何輸出。

以下是一些範例輸出,其中顯示仍在執行的重新同步處理(修復)作業:

Name   IsBackgroundTask ElapsedTime JobState  PercentComplete BytesProcessed BytesTotal
----   ---------------- ----------- --------  --------------- -------------- ----------
Repair True             00:06:23    Running   65              11477975040    17448304640
Repair True             00:06:40    Running   66              15987900416    23890755584
Repair True             00:06:52    Running   68              20104802841    22104819713

BytesTotal 資料行會顯示需要重新同步處理多少記憶體。 PercentComplete 資料行會顯示進度。

警告

在這些修復工作完成之前,讓另一部伺服器脫機並不安全。

在此期間,在 [HealthStatus] 下,您的磁碟區會繼續顯示為 [警告],這是正常的。

例如,如果您在記憶體重新同步處理時使用 Get-VirtualDisk Cmdlet,您可能會看到下列輸出:

FriendlyName ResiliencySettingName OperationalStatus HealthStatus IsManualAttach Size
------------ --------------------- ----------------- ------------ -------------- ----
MyVolume1    Mirror                InService         Warning      True           1 TB
MyVolume2    Mirror                InService         Warning      True           1 TB
MyVolume3    Mirror                InService         Warning      True           1 TB

作業完成後,請使用 Get-VirtualDisk Cmdlet 再次確認磁碟區顯示狀況良好。 以下是一些範例輸出:

FriendlyName ResiliencySettingName OperationalStatus HealthStatus IsManualAttach Size
------------ --------------------- ----------------- ------------ -------------- ----
MyVolume1    Mirror                OK                Healthy      True           1 TB
MyVolume2    Mirror                OK                Healthy      True           1 TB
MyVolume3    Mirror                OK                Healthy      True           1 TB

現在可以放心地暫停和重新啟動叢集中的其他伺服器。

下一步

如需相關資訊,另請參閱: