共用方式為


驗證 Azure Stack HCI 叢集

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

重要

Azure Stack HCI 現在是 Azure 本機的一部分。 不過,舊版的 Azure Stack HCI,例如 22H2 會繼續參考 Azure Stack HCI,而且不會反映名稱變更。 深入了解

警告

本文提供的部署指示適用於舊版 Azure Stack HCI 版本 22H2。 如需新的部署,建議您使用最新正式運作的 Azure 本機版本,請參閱 關於 Azure 本機部署

驗證DCB不再是在 Azure Stack HCI 上設定或測試主機網路設定的建議工具。 建議您使用網路 ATC 來設定 Azure Stack HCI 的主機網路設定。 網路 ATC 總是會優先於 Azure Stack HCI 上的驗證 DCB。

雖然 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)需要使用 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 類型 ] 下拉式清單框,然後選取適當的通訊協定: RoCEiWARP。 此外,將Jumbo Frames設定為您網路的適當值,然後選取下一步

    Validate-DCB 組態精靈的 [配接器] 頁面

    注意

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

    Validate-DCB 設定精靈的 [數據中心橋接] 頁面

    注意

    在上一個精靈頁面上選擇 RDMA over RoCE 時,所有 NIC 和交換器埠均需要 DCB 以確保網路穩定性。

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

    • 您可以選擇性地部署組態檔,方法是完成頁面的 [部署組態至節點] 區段,包括能夠使用 Azure 自動化 帳戶來部署組態,然後加以驗證。 請參閱建立 Azure 自動化 帳戶以開始使用 Azure 自動化。

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

檢閱結果並修正錯誤

Validate-DCB 工具會產生以兩種單位表示的結果:

  1. [全域單位] 結果會列出執行縱模測試的必要條件和需求。
  2. [模組單元] 結果會針對每個叢集主機設定和最佳做法提供回饋。

此範例顯示單一伺服器針對所有必要條件與模組單元測試的成功掃描結果,因其失敗計數為 0。

Validate-DCB 全球單元和模態單元測試結果

下列步驟示範如何識別 vNIC SMB02 中的 Jumbo 封包錯誤,並加以修正:

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

    Validate-DCB 工具掃描結果,顯示錯誤次數為 1

  2. 回溯檢視結果時,會看到紅色顯示的錯誤,指出主機 S046036 上的 vNIC SMB02 的 Jumbo Packet 被設為預設大小 1514,但應設為 9014。

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

  3. 檢閱主機 S046036 上的 vNIC SMB02 的進階屬性顯示,Jumbo Packet 的設定預設為停用。

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

  4. 修正錯誤需要啟用 Jumbo Packet 功能,並將其大小變更為 9014 個字節。 再次在主機 S046036 上執行掃描,並傳回失敗計數 0 以確認此變更。

    Validate-DCB 掃描結果,確認伺服器主機的 Jumbo 封包設定已修正

若要深入瞭解如何解決 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。

檢視驗證報告

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

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

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

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

注意

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

使用 PowerShell 驗證叢集

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

若要在伺服器叢集上執行驗證測試,請從管理電腦發出 Get-Cluster 和 Test-Cluster 伺服器叢集名稱 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 來驗證網路數據路徑,測試原生、綜合和硬體卸載的網路數據路徑是否存在連線問題、資料包碎片化、低吞吐量和壅塞等問題。

驗證記憶體複本的複寫

如果您使用儲存體複寫在延伸式叢集或叢集對叢集之間復寫磁碟區,您可以使用多個事件和 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 中的 node 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

在確認站點之間的資料復寫成功後,您可以建立虛擬機器和其他工作負載。

另請參閱