驗證 Azure Stack HCI 叢集 \(部分機器翻譯\)

適用于:Azure Stack HCI 版本 22H2、21H2 和 20H2;Windows Server 2022、Windows Server 2019

雖然 Windows Admin Center 中的 [建立叢集] 精靈會執行特定驗證以使用選取的硬體建立運作中的叢集,但叢集驗證仍會執行額外檢查以確保叢集在實際執行環境中正常運作。 本操作說明文章聚焦於叢集驗證的重要性原因,以及在 Azure Stack HCI 叢集上加以執行的時機。

建議在下列主要案例執行叢集驗證:

  • 部署伺服器叢集後,請執行 Validate-DCB 工具來測試網路。
  • 更新伺服器叢集後,取決於您的案例,請執行這兩個驗證選項以疑難排解叢集問題。
  • 以儲存體複本設定複寫後,請檢查某些特定事件並執行部分命令,驗證複寫是否正常進行。
  • 建立伺服器叢集後,請先執行 Validate-DCB 工具,再將其放入實際執行環境。

什麼是叢集驗證?

叢集驗證的目的在於叢集進入實際執行環境前,預先攔截硬體或設定問題。 叢集驗證協助確保即將部署的 Azure Stack HCI 解決方案確實可靠。 您也可以對設定的容錯移轉叢集使用叢集驗證作為診斷工具。

特定驗證案例

本節說明所需驗證的案例或驗證實用的案例。

  • 設定轉叢前的驗證:

    • 準備成為容錯移轉叢集的一組伺服器:這是最簡單易懂的驗證案例。 硬體元件 (系統、網路和儲存空間) 已連接,但系統尚未以叢集的形式運作。 在此情況下執行測試不會影響可用性。

    • 伺服器 VM:針對叢集中的虛擬化伺服器,請執行叢集驗證,如同您在任何其他新的叢集上執行。 無論您是否具備下列項目,執行功能的需求都相同:

      • 兩個實體電腦之間發生容錯移轉的「主機叢集」。
      • 在相同實體電腦上來賓作業系統之間發生容錯移轉的「來賓叢集」。
  • 設定叢集並使用中後的驗證:

    • 將伺服器新增至叢集前:當您將伺服器新增至叢集時,強烈建議您驗證叢集。 當您執行叢集驗證時,請指定現有叢集成員和新的伺服器。

    • 新增磁碟機時:當您將額外的磁碟機新增至叢集時,且此磁碟機不同於更換失敗的磁碟機或建立依賴現有磁碟機的虛擬磁碟機或磁碟區,請執行叢集驗證以確認新的儲存空間能夠正常運作。

    • 進行影響韌體或驅動程式的變更時:如果升級或變更的叢集會影響韌體或驅動程式,您必須執行叢集驗證以確認硬體、韌體和軟體的新組合支援容錯移轉叢集功能。

    • 從備份還原系統後:在您從備份還用系統後,請執行叢集驗證以確認系統作為叢集的一部分正常運作。

驗證網路

Microsoft Validate-DCB 工具的設計目的在於驗證叢集上的資料中心橋接 (DCB) 設定。 若要執行此操作,工具會將預期的設定視為輸入,然後測試叢集中的每個伺服器。 本節涵蓋如何安裝和執行 Validate-DCB 工具、檢閱結果,以及解決工具識別的網路錯誤。

注意

Microsoft 建議使用網路 ATC 來部署和管理您的設定,以消除 Validate-DCB 工具所檢查的大部分設定挑戰。 若要深入瞭解網路 ATC 以提供主機網路部署的意圖式方法,請參閱使用網路 ATC 簡化主機網路

在網路上,基於融合乙太網路的遠端直接記憶體存取 (RDMA) (RoCE) 需要 DCB 技術才能讓網路網狀架構不失真。 使用 iWARP 時,DCB 是選擇性的。 然而,設定 DCB 可能很複雜,所需設定必須完全相同:

  • 叢集中的每部伺服器
  • RDMA 流量在網狀架構上傳遞的每個網路連接埠

必要條件

  • 所要驗證伺服器叢集的網路設定資訊包含:
    • 主機或伺服器叢集名稱
    • 虛擬交換器名稱
    • 網路介面卡名稱
    • 優先順序流量控制 (PFC) 和增強型傳輸選擇 (ETS) 設定
  • 從 Microsoft Windows PowerShell 下載工具模組的網際網路連線。

安裝和執行 Validate-DCB 工具

若要安裝和執行 Validate-DCB 工具:

  1. 在您的管理電腦上,以系統管理員身分開啟 Windows PowerShell 工作階段,然後使用下列命令安裝工具。

    Install-Module Validate-DCB
    
  2. 接受使用 NuGet 提供者的要求,並存取存放庫以安裝工具。

  3. 在將 PowerShell 連線至 Microsoft 網路以下載工具後,請輸入 Validate-DCB 並按下 [Enter] 以開啟工具精靈。

    注意

    如果無法執行 Validate-DCB 工具指令碼,您可能須調整您的 PowerShell 執行原則。 使用 Get-ExecutionPolicy Cmdlet 來檢視目前的指令碼執行原則設定。 如需 PowerShell 中設定執行原則的詳細資訊,請參閱關於執行原則

  4. 在 [歡迎使用 Validate-DCB 設定精靈] 頁面上,選取 [下一步]。

  5. 在 [叢集和節點] 頁面上,輸入所要驗證的伺服器叢集名稱,選取 [解析] 以在頁面上列出,然後選取 [下一步]。

    Validate-DCB 設定精靈的叢集和節點頁面

  6. 在介面卡頁面上:

    1. 選取 [已連結 vSwitch] 核取方塊,然後輸入 vSwitch 的名稱。
    2. 在 [介面卡名稱] 下,輸入每個實體 NIC 的名稱,在 [主機 vNIC 名稱] 下,輸入每個虛擬 NIC (vNIC) 的名稱,以及在 [VLAN] 下,輸入每個介面卡的使用中 VLAN 識別碼。
    3. 展開 [RDMA 類型] 下拉式清單方塊,然後選取適當的通訊協定:[RoCE] 或 [iWARP]。 也請為您的網路將 [巨型影格] (Jumbo Frames) 設定為適當的值,然後選取 [下一步]。

    Validate-DCB 設定精靈的配接器頁面

    注意

  7. 在 [資料中心橋接] 頁面上,修改值以符合您組織的設定 (優先順序原則名稱頻寬保留),然後選取 [下一步]。

    Validate-DCB 設定精靈的資料中心橋接頁面

    注意

    在先前精靈頁面上選取 [基於 RoCE 的 RDMA] 時,需要 DCB 以供所有 NIC 和交換器連接埠 (switchport) 的網路穩定性。

  8. 在 [儲存和部署] 頁面上的 [組 態檔路徑 ] 方塊中,使用 .ps1 副檔名將組態檔儲存到稍後可以再次使用的位置,然後選取 [ 匯出 ] 以開始執行 Validate-DCB 工具。

    • 您可以透過完成本頁面的<將設定部署至節點>一節,以選擇性部署您的設定檔,其中可允許使用 Azure 自動化帳戶來部署設定,然後加以驗證。 請參閱建立 Azure 自動化帳戶以開始使用 Azure 自動化。

    Validate-DCB 設定精靈的儲存和部署頁面

檢閱結果並修正錯誤

Validate-DCB 工具會產生兩個單位的結果:

  1. [全域單位] 結果會列出執行強制回應測試的必要條件和需求。
  2. [強制回應單位] 結果會提供每個叢集主機設定和最佳做法的意見反應。

此範例指出失敗的計數為 0,針對所有必要條件和強制回應單位測試,展示單一伺服器的成功掃描結果。

Validate-DCB 全域單位和強制回應單元測試結果

下列步驟說明如何從 vNIC SMB02 識別巨型封包 (Jumbo Packet) 錯誤並加以修正:

  1. Validate-DCB 工具掃描的結果會顯示失敗的計數錯誤為 1。

    Validate-DCB 工具掃描結果顯示失敗計數錯誤為 1

  2. 捲動返回顯示紅色錯誤的結果,表示主機 S046036 上 vNIC SMB02 的巨型封包已設定為預設大小 1514,但應設定為 9014。

    Validate-DCB 工具掃描結果顯示巨型封包大小設定錯誤

  3. 在主機 S046036 上檢閱 vNIC SMB02 的進階內容時,會顯示巨型封包已設定為 [已停用] 的預設值。

    伺服器主機的 Hyper-V 進階屬性巨型封包設定

  4. 修正錯誤必須啟用大型封包功能,並將其大小變更為 9014 位元組。 在主機 S046036 上再次執行掃描時,透過傳回失敗的計數 0 以確認此變更。

    Validate-DCB 掃描結果確認伺服器主機的巨型封包大小設定已修復

若要深入瞭解如何解決 Validate-DCB 工具所識別的錯誤,請參閱下列影片。

您也可以離線安裝工具。 針對中斷連線的系統,請使用 Save-Module -Name Validate-DCB -Path c:\temp\Validate-DCB,然後將 c:\temp\Validate-DCB 中的模組移至中斷連線的系統。 如需詳細資訊,請觀看下列影片。

驗證叢集

使用下列步驟,在 Windows Admin Center 中驗證現有叢集中的伺服器。

  1. 在 Windows Admin Center 的 [所有連線] 下,選取所要驗證的 Azure Stack HCI 叢集,然後選取 [連線]。

    叢集管理員儀表板會顯示叢集相關的概觀資訊。

  2. 在 [叢集管理員儀表板] 的 [工具] 下,選取 [伺服器]。

  3. 在 [詳細目錄] 頁面上,選取叢集中的伺服器,接著展開 [更多] 子功能表並選取 [驗證叢集]。

  4. 在 [驗證叢集] 快顯視窗上,選取 []。

    驗證叢集快顯視窗

  5. 在 [認證安全性服務提供者 (CredSSP)] 快顯視窗上,選取 []。

  6. 提供您的認證以啟用 CredSSP,然後選取 [繼續]。
    叢集驗證會在背景中執行並在完成後提醒通知,此時您可以檢視驗證報告,如下一節所述。

注意

在已驗證您的叢集伺服器後,基於安全性考量,您必須停用 CredSSP。

停用 CredSSP

在成功驗證您的伺服器叢集後,基於安全性考量,您必須停用每個伺服器上的認證安全性支援提供者 (CredSSP) 通訊協定。 如需詳細資訊,請參閱 CVE-2018-0886

  1. 在 Windows Admin Center 的 [所有連線] 下,選取叢集中的第一部伺服器,然後選取 [連線]。

  2. 在 [概觀] 頁面上,選取 [停用 CredSSP],然後在 [停用 CredSSP] 快顯視窗上,選取 []。

    步驟 2 的結果會移除伺服器 [概觀] 頁面頂端的 CredSSP ENABLED (已啟用 CredSSP) 紅色橫幅,並停用其他伺服器上的 CredSSP。

檢視驗證報告

您現在已準備好檢視您的叢集驗證報告。

共有幾種方式可以存取驗證報告:

  • 在 [詳細目錄] 頁面上,展開 [更多] 子功能表,然後選取 [檢視驗證報告]。

  • Windows Admin Center 的右上方,選取 [通知] 鈴鐺圖示以顯示 [通知] 窗格。 選取 [已成功驗證叢集] 通知,然後選取 [移至容錯移轉驗證報告]。

注意

伺服器叢集驗證流程可能需要一些時間才能完成。 當流程執行中時,請勿切換至 Windows Admin Center 中的其他工具。 在 [通知] 窗格中,[驗證叢集] 通知下方的狀態列會指出流程完成的時間。

使用 PowerShell 驗證叢集

您也可以使用 Windows PowerShell,在伺服器叢集上執行驗證測試並檢視結果。 您可以在設定叢集之前和之後執行測試。

若要在伺服器叢集上執行驗證測試,請從您的管理電腦發行 Get-ClusterTest-Cluster<server clustername> PowerShell Cmdlet,或直接在叢集上僅執行 Test-Cluster Cmdlet:

$Cluster = Get-Cluster -Name 'server-cluster1'
Test-Cluster -InputObject $Cluster -Verbose

如需更多範例和使用方式資訊,請參閱 Test-Cluster 參考文件。

Test-NetStack 是一種可從 GitHub 取得的 PowerShell 測試工具,您可以用來執行網路的 ICMP、TCP 和 RDMA 流量測試並識別潛在網路網狀架構和主機錯誤設定,或作業不穩定性。 使用 Test-NetStack,透過測試原生、綜合和硬體卸載 (RDMA) 網路資料路徑,進而驗證網路資料路徑以瞭解連線、封包分散、低輸送量和壅塞的問題。

驗證儲存體複本的複寫

如果您使用儲存體複本來複寫延展式叢集或叢集對叢集中的磁片區,您可以使用數個事件和 Cmdlet 來取得複寫的狀態。

在下列案例中,我們透過建立兩個網站的複寫群組 (RG) 以設定儲存體複本,然後為 Site1 (Server1, Server2) 中的來源伺服器節點和 Site2 (Server3, Server4) 中的目的地 (複寫) 伺服器節點,指定資料磁碟區和記錄磁碟區。

若要判斷 Site1 中 Server1 的複寫進度,請執行 Get-WinEvent 命令並執行事件 5015、5002、5004、1237、5001 和 2200:

Get-WinEvent -ComputerName Server1 -ProviderName Microsoft-Windows-StorageReplica -max 20

針對 Site2 中的 Server3,請執行下列 Get-WinEvent 命令以查看顯示合作關係建立的儲存體複本事件。 此事件會說明已複製的位元組數目和所花費的時間。 例如:

Get-WinEvent -ComputerName Server3 -ProviderName Microsoft-Windows-StorageReplica | Where-Object {$_.ID -eq "1215"} | FL

針對 Site2 中的 Server3,請執行 Get-WinEvent 命令並檢查事件 5009、1237、5001、5015、5005 和 2200 以瞭解處理進度。 此序列中應該不會有任何錯誤警告。 將會有許多 1237 事件,這些事件均表示進度。

Get-WinEvent -ComputerName Server3 -ProviderName Microsoft-Windows-StorageReplica | FL

或者,複本的目的地伺服器群組會隨時指出所要複製的剩餘位元組數,並可以透過 PowerShell 使用 Get-SRGroup 查詢。 例如:

(Get-SRGroup).Replicas | Select-Object numofbytesremaining

針對 Site2 中的節點 Server3,請執行命令並檢查事件 5009、1237、5001、5015、5005 和 2200 以瞭解複寫進度。 不應該有任何錯誤的警告。 然而,將會有許多 "1237" 事件,這些事件僅表示進度。

Get-WinEvent -ComputerName Server3 -ProviderName Microsoft-Windows-StorageReplica | FL

作為不會終止的進度指令碼:

while($true) {
$v = (Get-SRGroup -Name "Replication2").replicas | Select-Object numofbytesremaining
[System.Console]::Write("Number of bytes remaining: {0}`r", $v.numofbytesremaining)
Start-Sleep -s 5
}

若要取得延伸叢集內的複寫狀態,請使用 Get-SRGroupGet-SRPartnership

Get-SRGroup -Cluster ClusterS1
Get-SRPartnership -Cluster ClusterS1
(Get-SRGroup).replicas -Cluster ClusterS1

在網站之間確認成功的資料複寫後,您就可以建立 VM 和其他工作負載。

另請參閱