適用於 Windows Server 2022 的私人雲端模擬器
簡介
目前的產業趨勢是,私人雲端解決方案由緊密整合的軟體和硬體組件組成,以提供具有高效能的靈活私人雲端。 任一元件中的問題 (軟體、硬體、驅動程式、韌體等) 都會危害解決方案,並破壞私人雲端《服務等級協定 (SLA) 》的承諾。
有些問題只會在高壓力、雲端規模的部署下顯現,而且可能很難使用傳統獨立、以元件為主的測試找到這些問題。 「私人雲端模擬器」是雲端驗證測試套件,可驗證雲端案例中的元件,並識別這些類型的問題。
目標對象
本文件的目標對象,是那些致力於驗證其 Windows Server 標誌、Microsoft Azure Stack 解決方案和 Microsoft Azure Stack HCI 解決方案之硬體的人。
測試概觀
「私人雲端模擬器 (PCS)」藉由建立 VM 工作負載、模擬資料中心作業 (負載平衡、軟體/硬體維護),以及插入計算/儲存體錯誤 (非計劃性硬體/軟體失敗) 來模擬真實的資料中心/私人雲端。 PCS 會在執行期間使用 Microsoft SQL Server 資料庫來記錄測試和解決方案資料。 然後,它會提供包含作業通過/失敗率的報告,以及提供將資料相關聯以進行通過/失敗判斷和故障診斷功能的記錄 (如適用)。
必要檔案的連結
下表包含執行 PCS 測試所需下載之檔案的連結。
名稱 | Location |
---|---|
HLK 套件 | Windows Server 2022 HLK |
HLK Azure Stack 更新套件 | 從 Microsoft Collaborate 網站下載最新版 HLK 更新。 FileName:Windows HLK WS 2022 Update Package-210527.zip |
HLK 播放清單 | Windows Server 2022 HLK CompatPlaylist |
PCSFiles.vhd | PCSFiles.vhd SHA256 雜湊值是 95B1BCC54E38B459943CDEE26F09B04DAE828CAA8A95151E46E769A9A1927F61 |
Windows Server 2022 更新 | 到 Windows Update 網站安裝最新版本 |
您可以使用 Get-FileHash PowerShell Cmdlet 來計算檔案的雜湊值。
一般實驗室基礎結構設定
拓撲
PCS 實驗室環境包含下列元素:
- 測試網域的 Active Directory 網域控制器/DNS/DHCP 伺服器。
- 您可以在 https://msdn.microsoft.com/library/bb727067.aspx 找到 Active Directory 的相關資訊
- Active Directory Domain Services 功能等級必須是 Windows Server 2012 或更高版本。
- 專用的 HLK 控制器機器。 OS 必須是 Windows Server 2019。
- 專用的 PCS 控制器機器。 OS 必須是 Windows Server 2022。
- 裝載 Hyper-V 虛擬機器的計算叢集。 節點的最小數量取決於 PCS作業的類型。
支援文件:
- 使用儲存空間直接存取部署超融合式叢集
- Failover-Clustering
- Microsoft Azure Stack 標誌要求透過 Microsoft Collaborate 發行給 Microsoft 合作夥伴
注意:
- 上述所有機器都必須加入相同的測試網域。
- 所有 PCS 測試都必須以測試網域的「網域管理員」群組中的相同使用者身分執行。
- 使用具有「網域管理員」認證的相同使用者來安裝 HLK 控制器。
HLK 控制器系統要求
最低系統要求如下表所示。
資源 | 最低需求 |
---|---|
CPU (或 vCPU) | 4 個核心 |
記憶體 | 12 GB 的 RAM |
可用磁碟空間 | 200 GB |
作業系統 | Windows Server 2019 Datacenter |
Active Directory 網域 | 將其加入測試網域 |
HLK 控制器設定
下載 Windows HLK Studio &遵循 Windows HLK 使用者入門指南來設定 Windows HLK。
下載 HLK Azure Stack 更新套件 WSSD Premium (LAN.AzureStack 設定檔的必要條件) &遵循下列步驟在 HLK Studio 套用更新。
下載 PCSFiles.vhd
將 PCSFiles.vhd 檔案複製到 HLK 控制器上的 Tests\amd64 測試資料夾。 以下是 HLK 安裝的預設路徑:
C:\Program Files (x86)\Windows Kits\10\Hardware Lab Kit\Tests\amd64
安裝 HLK Azure Stack 更新套件的步驟 (適用於 LAN.AzureStack)。 首先,下載 LAN.AzureStack 設定檔 Windows HLK WS 2022 Update Package-210527.zip 的 HLK PCS 更新。 擷取 zip 封存&以下列格式將 HLK 資料夾中的檔案複製取代為更新套件中的檔案:
- 將 Microsoft.Networking.Test.Common.dll 取代為* C:\Program Files (x86)\Windows Kits\10\Hardware Lab Kit\Tests\amd64\Pcs*
- 將 PrivateCloudSimulator-Manager.psm1 取代為* C:\Program Files (x86)\Windows Kits\10\Hardware Lab Kit\Tests\amd64\Pcs*
- 將 LaunchCreateExportVM.ps1 取代為* C:\Program Files (x86)\Windows Kits\10\Hardware Lab Kit\Tests\amd64\Pcs\Exports*
- 或者,您可執行以下從解壓縮的資料夾取得的命令 (該命令必須以提升權限的提示字元執行,且執行時需在解壓縮的資料夾中)
- xcopy .\Microsoft.Networking.Test.Common.dll "C:\Program Files (x86)\Windows Kits\10\Hardware Lab Kit\Tests\amd64\Pcs\Microsoft.Networking.Test.Common.dll" /O /F /R /Y
- xcopy .\PrivateCloudSimulator-Manager.psm1 "C:\Program Files (x86)\Windows Kits\10\Hardware Lab Kit\Tests\amd64\Pcs\PrivateCloudSimulator-Manager.psm1" /O /F /R /Y
- xcopy .\LaunchCreateExportVM.ps1 "C:\Program Files (x86)\Windows Kits\10\Hardware Lab Kit\Tests\amd64\Pcs\Exports\LaunchCreateExportVM.ps1" /O /F /R /Y
取得 IOMeter 檔案
IOMeter 是必須安裝在 HLK 控制器上的工作負載。
從 IOMeter 網站下載 2006.07.27 版 IOMeter 的 i386 Windows 版本。
執行安裝程式 (或解壓縮套件) 將檔案解壓縮。
將 IOMeter.exe 和 Dynamo.exe 複製到 HLK 控制器上的 Tests\amd64\pcs\GuestScenarioManager\IOMeter 資料夾。 以下是 HLK 安裝的預設路徑:
C:\Program Files (x86)\Windows Kits\10\Hardware Lab Kit\Tests\amd64\pcs\GuestScenarioManager\IOMeter
PCS 控制器系統要求
最低系統要求如下表所示。
資源 | 最低需求 |
---|---|
CPU (或 vCPU) | 4 個核心 |
記憶體 | 12 GB 的 RAM |
開機磁碟機上的可用空間 | 200 GB |
作業系統 | Windows Server 2022 Datacenter |
Active Directory 網域 | 將其加入測試網域 |
PCS 控制器設定
- PCS 控制器必須是第 2 代 VM 或實體機器。
- 必須停用安全開機和BitLocker 。 這是必要的,因為 PCS 會啟用 TestSigning 開機設定。 如果您使用第 2 代 Hyper-V VM 作為 PCS 控制器,請停止 VM 以在 VM 的設定中停用安全開機。
- 使用 Windows HLK 使用者入門指南安裝 HLK 用戶端,並開啟必要連接埠。
- 安裝 .NET Framework 3.5 (在預設情況下,Windows Server 2022 不含此功能)。
- 您可以在下列位置找到一般安裝指示:
- 如需透過 Microsoft Connect 發行的版本,請參閱下列詳細資料:
掛接隨該版本提供的 ISO,並在 MountedDriveLetter:\sources\sxs\microsoft-windows-netfx3-ondemand-package.cab 中尋找該檔案
將檔案複製到 PCS 控制器上的本機資料夾
使用系統管理員權限執行此命令行來安裝套件
Add-WindowsFeature Net-Framework-Features -source <Local Folder>
PCS 測試
本節討論如何為您的裝置/解決方案尋找適當的 PCS 測試設定、設定實驗室,以及啟動 PCS 的執行。
- 您必須使用相同的網域管理使用者帳戶來設定實驗室並執行測試。
- 所有節點和 PCS 控制器上的安全開機狀態必須關閉。
PCS 測試選取範圍
PCS 作業可用來認證裝置和解決方案的多種類別。 下表會將它們對應至適當的 PCS 作業。
Target | 認證計劃 | HLK 中的作業名稱 |
---|---|---|
NIC | Windows Server 標誌 | PrivateCloudSimulator-Device.Network.LAN.10GbOrGreater |
NIC | SDDC 標準 | PrivateCloudSimulator-Device.Network.LAN.10GbOrGreater |
NIC | SDDC Premium | PrivateCloudSimulator-Device.Network.LAN.AzureStack |
NIC | AZURESTACK | PrivateCloudSimulator-Device.Network.LAN.AzureStack |
解決方案 | SDDC 標準 | PrivateCloudSimulator-System.Solutions.StorageSpacesDirect (MIN) & (MAX) |
解決方案 | SDDC Premium | PrivateCloudSimulator-System.Solutions.StorageSpacesDirect (MIN) & (MAX) |
解決方案 | AZURESTACK | PrivateCloudSimulator-System.Solutions.AzureStack (MIN) & (MAX) |
PCS 作業摘要如下:
- PrivateCloudSimulator - Device.Network.LAN.10GbOrGreater
此測試包括一組動作,特別針對網路介面卡裝置以及 VM 和計算叢集動作。 - PrivateCloudSimulator - Device.Network.LAN.AzureStack
此測試包含一組擴充動作,可驗證 Windows Server 中新「軟體定義網路」功能的網路介面卡支援,以及 VM 和計算叢集動作。 - PrivateCloudSimulator - System.Solutions.StorageSpacesDirect (MIN)/(MAX)
此測試包含一組擴充的動作,針對建置在超融合式儲存空間直接存取叢集上的整個解決方案。 (MIN) 測試應在具有解決方案支援的最少節點數目的叢集上執行。 (MAX) 測試應在具有解決方案支援的最大節點數目的叢集上執行。 - PrivateCloudSimulator - System.Solutions.AzureStack (MIN)/(MAX)
此測試包含一組針對整個 AzureStack 解決方案的擴充動作。 (MIN) 測試應在具有解決方案支援的最少節點數目的叢集上執行。 (MAX) 測試應在具有解決方案支援的最大節點數目的叢集上執行。
PCS 作業執行流程
每個 PCS 作業都包含下列工作。
- 初始化 PCS 控制器
- 在這個階段中,PCS 執行引擎會在 PCS 控制器機器上設定 SQL Server 和 IIS
- 它也會複製內容 (例如:評估 OS VHD 檔案),以在下一個階段中建立 VM
- 建立 VMs
- PCS 引擎在此階段會開始在叢集的每個節點上建立 VM
- 達到目標 VM/節點數目時,VM 建立就會停止。
- 此步驟是 PCS 安裝階段的一部分。 測試執行持續時間計時器會在這個階段後開始運作。
- 執行 PCS 動作
- 現在,PCS 會在叢集的每個節點上起始各種動作類型 (VM、叢集、儲存體、網路)。
- 這些動作會以平行方式執行,並彼此協調,以透過私人雲端/資料中心生命週期來運用裝置 (儲存體、網路) 和解決方案
- 這些動作會定期執行,並在達到測試的目標執行時間 (由設定檔/作業定義) 之後停止。
- 測試執行時間是針對每個設定檔所定義,而且可能會根據您執行的設定檔而有所不同。 建立所有 VM 之後,測試執行計時器就會開始執行。
- 每個動作中的步驟和每個步驟的對應結果,都會儲存在 SQL Server。
- 清除執行
- 在這個階段中,階段 (4) 中建立的 VM 會被清除,且叢集會還原至乾淨狀態 (盡可能)。
- 它會產生報告檔案 (PcsReport.htm) 和包含測試記錄的 ZIP 檔案。
- HLK Studio 中的報告結果
- 在這個階段中,HLK Studio 會報告 PCS 執行的結果。
- 結果可以封裝成 HLKX 檔案,以提交至 Microsoft。
執行 PCS 測試
PrivateCloudSimulator - Device.Network.LAN.10GbOrGreater
系統需求
需求 | 描述 |
---|---|
正在認證的元件 | NIC |
安裝類型 | 具有 S2D 儲存體的超融合式設定。 注意:需要 SDDC 認證的 HBA。 |
伺服器節點數目下限 | 3 部相同的機器 |
伺服器規格 | CPU:16 個實體核心 (例如:2 個插槽,每個插槽有 8 個核心)、記憶體:128 GB、開機磁碟機上的 64 GB 可用空間 |
整體儲存體 | HDD 上每個節點有 4 TB 可用空間,SSD 上每個節點有 800 GB 可用空間 |
磁碟 | 如果有磁碟機做為快取使用,則每部伺服器至少必須有 2 個。 每部伺服器必須至少有 4 個容量 (非快取) 磁碟機。 如需詳細資訊,請參閱 S2D 硬體需求。 |
網路卡 | 正在認證的 NIC |
交換器 | 支援所有 NIC 功能的交換器 |
設定
- 遵循 Windows HLK 使用者入門指南,在所有叢集節點上安裝 HLK 用戶端軟體。
- 遵循 Windows Server 儲存空間直接存取叢集指南來部署叢集。
- 所有節點都必須連接到相同的實體交換器。
- 必須使用 10GbE 或更好的網路位元速率。 在每個節點上建立具有相同名稱的虛擬交換器。
- PCS 所建立的虛擬機器會連接到虛擬交換器,以在它們之間傳送網路流量。 這些 VM 透過 DHCP 取得IP位址。 請確定 DHCP 伺服器會將有效的 IP 位址指派給這些 VM。 如果 DHCP 伺服器無法使用或失敗,VM 會使用自動私人 IP 位址 (APIPA) 自我設定 IP 位址和子網路。 每個 VM 都必須有有效的 IP 位址,才能在 VM 之間傳送網路流量。
執行
開啟 HLK Studio
遵循 Windows HLK 使用者入門入門指南來建立機器集區
前往 [專案] 索引標籤,然後按一下 [建立專案]
輸入專案名稱,然後按 Enter
前往 [選項] 索引標籤。
選取包含網路介面卡裝置的機器集區
選取 [裝置管理員]
選取裝置。 在認證所指定的任何運算節點上,選取任何相關 NIC 裝置都沒問題 (裝置無論是虛擬交換器小組的哪個成員都沒有影響)。
以滑鼠右鍵按一下選取的裝置,然後選取 [新增/修改功能]
在功能對話方 快中,選取 [Device.Network.LAN.10GbOrGreater],然後按一下 [確定]。 大部分的 NIC 卡片 (速度為 10GbE 或更高版本) 會自動選取此功能。
前往 [測試] 索引標籤
選取 [PrivateCloudSimulator - Device.Network.LAN.10GbOrGreater]
按一下 [執行所選項目]
在 [排程] 對話方塊中,
- 輸入所需測試參數的值
- DomainName:測試使用者的網域名稱
- UserName:測試使用者的使用者名稱
- 密碼:測試使用者的密碼
- ComputeCluster:計算叢集的名稱
- StoragePath:預設值是 ""。 它會使用來自計算叢集的所有可用 CSV。 如果要使用不同的路徑,可以輸入逗號分隔路徑。 範例:「C:\ClusterStorage\Volume1,C:\ClusterStorage\Volume2」
- VmSwitchName:所有節點上的虛擬交換器名稱
- FreeDriveLetter:預設值為 R。在安裝期間,PcsFiles.vhd 檔案會掛接至 PCS控制器上的此磁碟機代號。 請確定此磁碟機代號可供使用。
- IsCreateCluster:使用預設值
- IsRemoveCluster:使用預設值
- IsConfigureHyperV:使用預設值
- 將機器對應至角色
- PrimaryNode:這是具有所選裝置的節點
- 測試控制器:選取 PCS 測試控制器機器
- OtherNodes:選取其他叢集節點
- 輸入所需測試參數的值
按一下 [確定] 以排程測試
請參閱 透過 SQL Server Reporting Services 即時檢視 PCS 報告,以檢視測試執行的即時結果。
期間
- PCS 動作 (如下所列) 執行約 24 小時。
- 完整執行可能需要 24-36 小時 (包括設定和清除的時間)。
PCS 動作
下表列出此測試中包含的動作。
動作名稱 | 描述 |
---|---|
VmCloneAction | 建立新的 VM。 |
VmLiveMigrationAction | 即時將 VM 移轉至其他叢集節點。 |
VmSnapshotAction | 取得 VM 的快照集。 |
VmStateChangeAction | 變更 VM 狀態 (例如,變更為暫停)。 |
VmStorageMigrationAction | 在叢集節點之間移轉 VM 儲存體 (VHD)。 |
VmGuestRestartAction | 重新啟動 VM。 |
VmStartWorkloadAction | 啟動使用者模擬的工作負載。 |
VmGuestFullPowerCycleAction | 將 VM 電源關閉然後重新開啟。 |
ComputeNodeEvacuationAction | 重新啟動叢集節點。 |
PrivateCloudSimulator - Device.Network.LAN.AzureStack
系統需求
需求 | 描述 |
---|---|
正在認證的元件 | NIC (與 RDMA 搭配使用) |
安裝類型 | 具有 S2D 儲存體的超融合式設定。 注意:需要 SDDC 認證的 HBA。 |
伺服器節點數目下限 | 3 部相同的機器 |
伺服器規格 | CPU:16 個實體核心 (例如:2 個插槽,每個插槽有 8 個核心)、記憶體:128 GB、開機磁碟機上的 64 GB 可用空間 |
整體儲存體 | HDD 上每個節點有 4 TB 可用空間,SSD 上每個節點有 800 GB 可用空間 |
磁碟 | 如果有磁碟機做為快取使用,則每部伺服器至少必須有 2 個。 每部伺服器必須至少有 4 個容量 (非快取) 磁碟機。 如需詳細資訊,請參閱 S2D 硬體需求。 |
網路卡 | 正在認證的 NIC |
交換器 | 支援所有 NIC 功能的交換器 |
設定
包含 PCS 控制器 VM 的 Hyper-V 主機必須是 Windows Server 2022 或之後的版本。
遵循 Windows HLK 使用者入門指南,在所有叢集節點上安裝 HLK 用戶端軟體
遵循 Windows Server 儲存空間直接存取叢集指南來部署叢集
如需瞭解如何設定儲存空間直接存取的網路,請參閱 Windows Server 聚合式 NIC 和訪客 RDMA 部署指南。
PCS 控制器 VM 應建置為第 2 代 VM,並具有 2 個網路介面,一個用於管理網路,另一個用於 SDN (PA 位址空間) 拓撲。 SDN 拓撲的介面將會從傳入為 AddressPrefixes 參數的 IP 位址空間獲指派 IP 位址。
所有節點都必須能夠透過管理介面隨時與 PCS 控制器 VM 通訊。 為此,每部伺服器都必需有一個額外 NIC 用於管理介面,它不需要符合嚴格的位元速率需求。
所有節點和 PCS 控制器都必須安裝相同的最新 KB。
接受測試的 NIC 需要 10GbE 或以上的網路位元速率。 每部伺服器都應有兩個相同的 10gb 或以上的 NIC。
如果使用支援 RDMA 的 NIC,實體交換器必須符合相關的 RDMA 需求。
設定 AzureStack 部署的特定 NIC 屬性,以確保取得認證的 NIC 可以支援這些屬性。 您可使用 PowerShell Get-NetAdapterAdvancedProperty cmdlet 來驗證 NIC 屬性。
- VXLAN 封裝工作卸載 == 已啟用
- 封裝額外負荷 == 160
- Jumbo 封包 >= 1500
- MtuSize == 1660
請確定每個節點包含的小組都啟用相同名稱的虛擬交換器。
New-VMSwitch -Name SdnSwitch -NetAdapterName "Name 1,Name 2" -AllowManagementOS -EnableEmbeddedTeaming
設定巢狀虛擬化:PCS 控制器 VM 的巢狀虛擬化必須啟用。 在 PCS VM 處於 OFF 狀態的情況下,在 Hyper-V 主機執行下列命令。
Set-VMProcessor -VMName <VMName> -ExposeVirtualizationExtensions $true
確認 RDMA 已在所有節點完成設定,且可透過 Get-SMBClientNetworkInterface & Get-SMBServerNetworkInterface 查詢來反映。
即時移轉設定 (容錯移轉叢集管理員->網路->即時移轉設定) 必須設定正確,才能使用儲存體網路進行即時移轉。
此測試會建立虛擬機器,並使用已建立的虛擬交換器在機器之間傳送流量。 PCS 虛擬機器的 vNic (虛擬 nic) 會從傳入為 AddressPrefixes 參數的 IP 位址空間獲指派 IP 位址。
執行
開啟 HLK Studio
前往 [專案] 索引標籤,然後按一下 [建立專案]
輸入專案名稱,然後按 Enter
前往 [選項] 索引標籤。
選取包含網路介面卡裝置的機器集區
選取 [裝置管理員]
選取裝置。 在認證所指定的任何運算節點上,選取任何相關 NIC 裝置都沒問題 (裝置無論是虛擬交換器小組的哪個成員都沒有影響)。
以滑鼠右鍵按一下選取的裝置,然後選取 [新增/修改功能]
在功能對話方塊中,選取 [Device.Network.LAN.AzureStack],然後按一下 [確定]。
前往 [測試] 索引標籤
選取 [PrivateCloudSimulator - Device.Network.LAN.AzureStack]
按一下 [執行所選項目]
在 [排程] 對話方塊中,
- 輸入所需測試參數的值
- DomainName:測試使用者的完整網域名稱 (FQDN)。
- UserName:測試使用者的使用者名稱
- 密碼:測試使用者的密碼
- ComputeCluster:計算叢集名稱
- StoragePath:預設值是 ""。 它會使用來自計算叢集的所有可用 CSV。 如果要使用不同的路徑,可以輸入逗號分隔路徑。 磁碟區名稱不應包含空格。 範例:'C:\ClusterStorage\Volume1,C:\ClusterStorage\Volume2' (需要單引號)
- VmSwitchName:用於 SDN 的虛擬交換器名稱。 範例:SdnSwitch
- FreeDriveLetter:預設值為 R。在設定期間,PcsFiles.vhd 檔案會掛接至 PCS 控制器上的此磁碟機代號。 請確定此磁碟機代號可供使用。
- AdapterNames:以逗號分隔的介面卡名稱清單,屬於 vmSwitch 的一部分。 如有多個介面卡,請使用 "'Name 1', 'Name 2'" (需使用雙引號和單引號)。 名稱必須衍生自 Get-NetAdapter cmdlet。
- VLan:設定在 vmSwitch 的 Vlan ID。 只有在已為 Vlan 設定實體交換器時才需要。 輸入 '0' 表示沒有 Vlan 標記。
- RDMAEnabled:如果 NIC 支援 RDMA,輸入$True
- SetEnabled:如果 NIC 支援交換器內嵌小組,請輸入$True
- HnvEnabled:如果 NIC 支援 Hyper-V 網路虛擬化,請輸入$True
- TaskOffloadEnabled:如果 NIC 支援封裝工作卸載,請輸入$True
- TestControllerNetAdapterName:PCS 控制器上的介面卡名稱,可獲指派 AddressPrefixes 範圍內的靜態 IP,以便與 SDN 網路控制器虛擬機器通訊。 範例:'Ethernet 2' (如果名稱中有空格,就需要單引號)
- VHDSourcePath:適用於 Windows Server 2022 DataCenter 的 VHDX 檔案。 此 VHD 檔案將用於建立網路控制器 VM。 預設值為 c:\pcs\BaseVHDX\20348.1.amd64fre.fe_release.210507-1500_server_serverdatacentereval_en-us.vhd。 注意:請務必為 Windows Server 2022 將值設為 20348.1.amd64fre.fe_release.210507-1500_server_serverdatacentereval_en-us.vhd。
- KBPackagePath:Windows Update 套件的逗號分隔清單,應套用至參數 VHDSourcePath 中所指定的 VHD 檔案。 這些更新套件應與安裝在所有叢集節點和 PCS 控制器機器上的套件相符。 預設值為 '' (需要單引號)。 這表示沒有任何 KB 會插入 VHD 檔案。
- 您應安裝最新版或最近版本的 Windows Update 套件。 您可以使用 Get-Hotfix cmdlet 來找出機器中已安裝的項目。
- 大部分的 Windows Update 套件都需要您先安裝 'servicing stak update (SSU)'。 換句話說,此參數中至少要輸入兩個 KB。
- 範例:
- KB4501371 (2019 年 6 月 18 日)
- 「如何取得此更新」一節指出,'servicing stack update (SSU)' KB4504369 為必需。
- 在此參數中,您應輸入 'c:\KB\Windows-KB4504369-x64.msu,c:\KB\Windows-KB4501371-x64.msu'。 (需要單引號,安裝 KB4501371 之前,系統會先安裝 KB4504369。)
- 您必須從 Windows Update 網站下載 MSU 檔案,並複製到 PCS 控制器機器的 c:\KB 資料夾。
- 重要:檔案名稱格式必須是「Windows-KBNumber-x64.msu」。 KBNumber 前後需要虛線 (-)。
- AddressPrefixes:租用戶 VM 和主機將使用的 IP 位址範圍。 這些位址會用於 SDN 資料中心管理。
- VipPrefixes:SLB 用於 VIP 負載平衡情境的兩個 IP 位址範圍。 請使用格式 "'192.160.2.0/23','192.160.3.0/23'" (需要雙引號和單引號)
- ClientAddressPrefix:用戶端 VM 使用的 IP 位址範圍。
- 將機器對應至角色
- PrimaryNode:這個節點使用已選取的裝置,會由 HLK 自動選取。
- 測試控制器:選取 PCS 測試控制器機器
- OtherNodes:選取其他叢集節點
- 輸入所需測試參數的值
按一下 [確定] 以排程測試
請參閱 透過 SQL Server Reporting Services 即時檢視 PCS 報告,以檢視測試執行的即時結果。
清理
如果測試突然結束,請對 PCS 控制器使用 C:\Pcs\ReRunPcsCleanup.cmd 指令碼來清除設定狀態。 在開始新的執行之前,務必先清除過時的 VM & SDN 基礎結構。
啟動新的執行之前,請務必清除下列項目:
叢集 VM 角色 (FailoverClusterManager->Cluster->Roles)
Get-ClusterGroup -Cluster $clusterName
PCS 建立的所有 VM
Get-ClusterNode -Cluster $clusterName | % { Get-VM -ComputerName $_.Name }
PCS/SDN 建立的 vNic
Get-ClusterNode -Cluster $clusterName | % { Get-VMNetworkAdapter -ComputerName $_.Name -ManagementOS | Select-Object ComputerName,Name,SwitchName }
叢集上的儲存體/CSV 磁碟區沒有任何與 PCS (C:\ClusterStorage\Volume1\PCS) 相關的項目
期間
- PCS 動作 (如下所列) 執行約 24 小時。
- 完整執行可能需要 36-48 小時 (包括設定和清除的時間)。
PCS 動作
下表列出此測試中包含的動作。
動作名稱 | 描述 |
---|---|
NetRunEastWestCrossSubnetTrafficAction | 在位於相同 VNetwork (但不同 Vsubnet) 的兩個租用戶 VM 之間執行流量 |
NetRunEastWestSameSubnetTrafficAction | 在位於相同 Vsubnet 的兩個租用戶 VM 之間執行流量 |
NetLoadBalancerEastWestInterTenantTrafficAction | 在位於不同應用程式階層的負載平衡租用戶和其他 VM 之間執行流量。 模擬前端應用程式 (網站) VM 中的負載平衡流量。 |
NetLoadBalancerEastWestIntraTenantTrafficAction | 在位於相同應用程式階層的負載平衡租用戶與 VM 之間執行流量。 模擬從後端應用程式 (DB) 到前端應用程式 (網站) 的負載平衡流量。 |
NetLoadBalancerInboundTrafficAction | 從租用戶網路外部到負載平衡的 VM (網站) 之間執行流量。 |
NetLoadBalancerNorthSouthTrafficAction | 從租用戶網路內部執行到負載平衡的 VM 之間執行流量。 |
NetLoadBalancerOutboundTrafficAction | 從租用戶網路內部的負載平衡 VM 到外部的 VM 之間執行流量。 |
NetAddInboundVipToLoadBalancerAction | 動態建立租用戶 VM 的虛擬 IP,主要供其他流量動作使用。 |
VmCloneAction | 動態建立租用戶 VM 的虛擬 IP,主要供其他流量動作使用。 |
VmLiveMigrationAction | 即時將 VM 移轉至其他叢集節點。 |
VmStateChangeAction | 變更 VM 狀態 (例如,變更為暫停)。 |
VmStorageMigrationAction | 在叢集節點之間移轉 VM 儲存體 (VHD)。 |
VmGuestRestartAction | 重新啟動 VM。 |
VmGuestFullPowerCycleAction | 將 VM 電源關閉然後重新開啟。 |
PrivateCloudSimulator - System.Solutions.StorageSpacesDirect
設定
- 設定超融合式解決方案。 如需範例,請參閱此處。
- 建議您將磁碟區數目設定為叢集中伺服器數目的倍數。 例如,如果您有 4 台伺服器,則 4 個磁碟區的向能將比 3 個或 5 個磁碟區更一致。 這可讓叢集在伺服器之間平均分配磁碟區「擁有權」(一部伺服器處理每個磁碟區的中繼資料協調流程)。
- 建議將復原檔案系統 (ReFS) 用於「儲存空間直接存取」。
- 根據預設,測試會為每個叢集節點建立 20 個 VM。 估計平均 VM 的 VHD 檔案大小可能是 40 GB。 若要在 4 節點叢集環境中執行此測試,您的虛擬磁碟大小應至少為 20 * 40 * 4 = 3200GB。
- 最小設定
- 此設定包含最少的叢集節點、最慢支援的處理器、最小記憶體和解決方案系列所支援的最低儲存體容量。
- 請使用 PrivateCloudSimulator - System.Solutions.StorageSpacesDirect (MIN) 作業來驗證此設定
- 設定上限
- 此設定包含叢集節點的上限,以及解決方案系列所支援的儲存體上限。
- 處理器和記憶體應等於或高於解決方案的最低支援值,但不需要是可能支援的最大值。 處理器和記憶體值應該代表解決方案最常見的 SKU。
- 請使用 PrivateCloudSimulator - System.Solutions.StorageSpacesDirect (MAX) 作業來驗證此設定
執行
開啟 HLK Studio
遵循 Windows HLK 使用者入門入門指南來建立機器集區
前往 [專案] 索引標籤,然後按一下 [建立專案]
輸入專案名稱,然後按 Enter
前往 [選項] 索引標籤。
選取包含受測試系統的機器集區和 PCS 控制器機器。
選取左側面板上的 [系統],然後選取 PCS 測試控制器 (注意:不是需要認證的機器)。
以滑鼠右鍵按一下選取的 PCS 控制器機器,然後選取 [新增/修改功能]
在 [功能] 對話方塊中,選取 [System.Solution.StorageSpacesDirect],然後按一下 [確定]
前往 [測試] 索引標籤
選取 [PrivateCloudSimulator - System.Solutions.StorageSpacesDirect (MAX)] 或 [PrivateCloudSimulator - System.Solutions.StorageSpacesDirect (MIN)] (根據您要測試的解決方案大小)
按一下 [執行所選項目]
在 [排程] 對話方塊中,
- 輸入所需測試參數的值
- DomainName:測試使用者的完整網域名稱 (FQDN)。
- UserName:測試使用者的使用者名稱
- 密碼:測試使用者的密碼
- ComputeCluster:計算叢集名稱
- StoragePath:預設值是 ""。 它會使用來自計算叢集的所有可用 CSV。 如果要使用不同的路徑,可以輸入逗號分隔路徑。 範例:"C:\ClusterStorage\Volume1,C:\ClusterStorage\Volume2" (需要雙引號)
- VmSwitchName:輸入虛擬交換器的名稱。 此名稱在所有節點上都必須相同
- FreeDriveLetter:預設值為 R。在安裝期間,PcsFiles.vhd 檔案會掛接至 PCS控制器上的此磁碟機代號。 請確定此磁碟機代號可供使用。
- 將機器對應至角色
- 測試控制器:選取 PCS 測試控制器機器
- 輸入所需測試參數的值
按一下 [確定] 以排程測試。
請參閱 透過 SQL Server Reporting Services 即時檢視 PCS 報告,以檢視測試執行的即時結果。
期間
- PCS 動作 (如下所列) 將執行 96 小時。
- 完整執行可能需要 24-36 小時 (包括設定和清除的時間)。
PCS 動作
設定檔會定義要執行的動作,以驗證 Microsoft AzureStack 的磁碟機。 下表列出此設定檔中包含的動作。
動作名稱 | 描述 |
---|---|
VmCloneAction | 建立新的 VM。 |
VmLiveMigrationAction | 即時將 VM 移轉至其他叢集節點。 |
VmSnapshotAction | 取得 VM 的快照集。 |
VmStateChangeAction | 變更 VM 狀態 (例如,變更為暫停)。 |
VmStorageMigrationAction | 在叢集節點之間移轉 VM 儲存體 (VHD)。 |
VmGuestRestartAction | 重新啟動 VM。 |
VmStartWorkloadAction | 啟動使用者模擬的工作負載。 |
VmGuestFullPowerCycleAction | 將 VM 電源關閉然後重新開啟。 |
ComputeNodeEvacuation | 清空一個叢集節點的所有資源。 |
ClusterCSVMoveAction | 將 CSV 磁碟移至最佳的可用節點。 |
StorageNodePoolMove | 將存放集區 (在「儲存空間」中建立) 移至儲存體叢集中的不同擁有者節點。 |
StorageNodeRestart | 重新啟動儲存體叢集中的節點。 |
StorageNodeBugcheck | 錯誤會檢查儲存體叢集的一個節點。 |
StorageNodeUpdateStorageProviderCacheAction | 在 PowerShell 中呼叫 update-storageprovidercache 命令。 |
PrivateCloudSimulator - System.Solutions.AzureStack
設定
- 設定超融合式解決方案。 如需範例,請參閱此處。
- 建議您將磁碟區數目設定為叢集中伺服器數目的倍數。 例如,如果您有 4 台伺服器,則 4 個磁碟區的向能將比 3 個或 5 個磁碟區更一致。 這可讓叢集在伺服器之間平均分配磁碟區「擁有權」(一部伺服器處理每個磁碟區的中繼資料協調流程)。
- 「儲存空間直接存取」必須使用復原檔案系統 (ReFS)。 否則,作業將會失敗。
- 根據預設,測試會為每個叢集節點建立 20 個 VM。 估計平均 VM 的 VHD 檔案大小可能是 40 GB。 若要在 4 節點叢集環境中執行此測試,您的總虛擬磁碟大小應至少為 20 * 40 * 4 = 3200GB。
- 最小設定
- 此設定包含最少的叢集節點、最慢的處理器、最小記憶體和解決方案系列所支援的最低儲存體容量。
- 請使用 PrivateCloudSimulator - System.Solutions.AzureStack (MIN) 作業來驗證此設定
- 設定上限
- 此設定包含叢集節點的上限,以及解決方案系列所支援的儲存體上限。
- 處理器和記憶體應等於或高於解決方案的最低支援值,但不需要是可能支援的最大值。 處理器和記憶體值應該代表解決方案最常見的 SKU。
- 請使用 PrivateCloudSimulator - System.Solutions. AzureStack (MAX) 作業來驗證此設定
執行
開啟 HLK Studio
遵循 Windows HLK 使用者入門入門指南來建立機器集區
前往 [專案] 索引標籤,然後按一下 [建立專案]
輸入專案名稱,然後按 Enter
前往 [選項] 索引標籤。
選取包含受測試系統的機器集區
選取左側面板上的 [系統],然後選取 PCS 測試控制器 (注意:不是需要認證的機器)。
以滑鼠右鍵按一下選取的裝置,然後選取 [新增/修改功能]
在 [功能] 對話方塊中,選取 [System.Solution.AzureStack],然後按一下 [確定]
前往 [測試] 索引標籤
選取 [PrivateCloudSimulator - System.Solutions.AzureStack]
按一下 [執行所選項目]
在 [排程] 對話方塊中,
- 輸入所需測試參數的值
- DomainName:測試使用者的完整網域名稱 (FQDN)。
- UserName:測試使用者的使用者名稱
- 密碼:測試使用者的密碼
- ComputeCluster:計算叢集名稱
- StoragePath:預設值是 ""。 它會使用來自計算叢集的所有可用 CSV。 如果要使用不同的路徑,可以輸入逗號分隔路徑。 範例:"C:\ClusterStorage\Volume1,C:\ClusterStorage\Volume2" (需要雙引號)
- VmSwitchName:輸入虛擬交換器的名稱。 此名稱在所有節點上都必須相同
- FreeDriveLetter:預設值為 R。在安裝期間,PcsFiles.vhd 檔案會掛接至 PCS控制器上的此磁碟機代號。 請確定此磁碟機代號可供使用。
- 將機器對應至角色
- 測試控制器:選取 PCS 測試控制器機器
- 輸入所需測試參數的值
按一下 [確定] 以排程測試。
請參閱 透過 SQL Server Reporting Services 即時檢視 PCS 報告,以檢視測試執行的即時結果。
期間
- PCS 動作 (如下所列) 將執行 96 小時。
- 完整執行可能需要 24-36 小時 (包括設定和清除的時間)
動作
設定檔會定義要執行的動作,以驗證 Microsoft AzureStack 的存放裝置機箱。 下表列出此設定檔中包含的動作。
動作名稱 | 描述 |
---|---|
VmCloneAction | 建立新的 VM。 |
VmLiveMigrationAction | 即時將 VM 移轉至其他叢集節點。 |
VmSnapshotAction | 取得 VM 的快照集。 |
VmStateChangeAction | 變更 VM 狀態 (例如,變更為暫停)。 |
VmStorageMigrationAction | 在叢集節點之間移轉 VM 儲存體 (VHD)。 |
VmGuestRestartAction | 重新啟動 VM。 |
VmStartWorkloadAction | 啟動使用者模擬的工作負載。 |
VmGuestFullPowerCycleAction | 將 VM 電源關閉然後重新開啟。 |
ClusterCSVMoveAction | 將 CSV 磁碟移至最佳的可用節點。 |
StorageNodePoolMove | 將存放集區 (在「儲存空間」中建立) 移至儲存體叢集中的不同擁有者節點。 |
StorageNodeRestart | 重新啟動儲存體叢集中的節點。 |
StorageNodeBugcheck | 錯誤會檢查儲存體叢集的一個節點。 |
StorageNodeUpdateStorageProviderCacheAction | 在 PowerShell 中呼叫 update-storageprovidercache 命令。 |
透過 SQL Server Reporting Services 即時檢視 PCS 報告
當 PCS 作業執行時,這些報告會儲存在 PCS 控制器上的 SQL 資料庫中。 每個報告都會列出所有已執行的作業、通過百分比,以及測試期間取得和釋放的所有資源。 系統會為每個測試執行建立新的資料庫,讓您隨時檢閱先前測試執行的資料。
如果要檢視報告,請遵循下列步驟:
根據預設,Windows Server 會啟用 Internet Explorer 增強式安全性設定。 如果要檢視報告,請將其停用。
開啟 [伺服器管理員 => 本機伺服器 => 按一下 [IE 增強式安全性設定] 來將其關閉以供系統管理員和使用者使用。
從 PCS 控制器開啟 IE,並瀏覽
http://<PcsControllerMachineName>/Reports
。按一下 PCS 報告 = >PCSRuns。
每個 PCS 執行都是透過唯一的 Pass Run ID 來識別。
按一下 [Pass Run ID] (例如,按一下 f44b3f88-3dbf-476e-9294-9d479ca0a369),從 PCS 執行開啟報告。 這些報告中的資料是即時的。 在測試執行時,您可以即時監視測試執行的進度。
- 參與測試執行的所有資源 (節點、叢集和 VM) 概觀。
- 在每一個資源上執行的所有動作。 [通過] 和 [失敗] 資料行會報告已通過和失敗的動作數目。
在 [整體作業資訊] 資料表中,請按一下 [動作/通過/失敗] 資料行中的連結來開啟詳細資訊頁面,讓您深入了解該動作的結果。 例如,如果按一下 [VMLiveMigrationAction] 項目的失敗號碼 9,會顯示下圖所示的摘要。
上述第一個項目提供下列資訊:
失敗識別碼:當我們在 PCS 中遇到失敗時,我們會將失敗訊息一般化,並為其產生唯一的雜湊。 在上述範例中,失敗識別碼為 97c12afd-23a8-3982-e304-a5dc6793950d
失敗雜湊: 一般化失敗訊息。 在上述範例中,失敗雜湊為
虛擬機器<虛擬機器>即時移轉失敗,進度<百分比> (移轉狀態:移轉中)
錯誤:「<虛擬機器>」的虛擬機器移轉作業在移轉目的地「<計算節點>」失敗。 (虛擬機器識別碼 <GUID>)
無法接收虛擬機器移轉的資料:此作業因為逾時期限過期而傳回。 (0x800705B4)。計算目前執行次數:此執行期間發生這個特定錯誤訊息失敗之特定類型的動作計數。 在上述範例中,VMLiveMigrationAction 執行了 3 次。
計算所有執行:由於所有 PCS 執行的這個特定失敗而失敗的動作計數。 針對 VMLiveMigrationAction,此計數為 3。
受影響的 PCS 執行:指出此失敗已影響多少個執行。 針對 VMLiveMigrationAction,只有 1 個 PCS 執行受到影響。
若要進一步查看錯誤 - 您可以按一下該畫面上的失敗識別碼,向下切入到所有 PCS 執行失敗類型的全域歷程記錄。 例如,按一下 97c12afd-23a8-3982-e304-a5dc6793950d 以顯示下列內容。 該頁面會列出所有失敗的作業,依失敗類型分組,其效果是醒目提示您可能需要調查的主要功能。
如果您按一下 [動作識別碼],可以更深入地向下切入以查看「動作記錄報告」。 錯誤會以紅色顯示;警告則以黃色顯示。
針對從 HLK 控制器執行的 PCS 進行疑難排解
PCS 執行流程有多個階段。 以下是從 HLK Manager = >Explorers => Job Monitor = >select Machine Pool => select the job in Job Execution Status 中檢視結果的範例。
如果 PCS 在 安裝程式、執行,或清除階段失敗,可以以滑鼠右鍵按一下作業名稱 (或子工作名稱) => 按一下 [瀏覽作業記錄] 來瀏覽作業記錄。 記錄檔名稱 PCS-E2Elaunch_Setup.log、PCSE2Elaunch_Execute.log 和 PCS-E2Elaunch_Cleanup.log。 記錄檔應該包含失敗的相關資訊。 嘗試在記錄檔結尾附近搜尋未預期的例外狀況。
針對從 PCS 控制器執行的 PCS 進行疑難排解
當 PCS 作業在安裝程式/執行/清除階段失敗時,您可以直接從 PCS 控制器重新執行該階段。 如果要疑難排解這些階段中的問題,這是個實用的方法。
- 開啟提升權限的命令提示字元
- 重新執行 ReRunPcsSetup.cmd、ReRunPcsExecute.cmd,或 ReRunPcsCleanup.cmd 指令碼
記錄和診斷
PCS 有三個主要階段:安裝程式、執行和清除。 PCS 作業會使用 PCS-E2Elaunch.ps1 指令碼來啟動這三個階段。 它們的記錄檔名稱是 PCS-E2ELaunch_Setup.log、PCS-E2ELaunch_Execute.log 和 PCSE2ELaunch_Cleanup.log。
當 PCS 執行完成時,PCS 會在清除階段分析記錄。 符合下列準則時,執行成功,且分析的報告會儲存為 PCSReport.htm。
- 所有 PCS 動作至少有 90% 通過率
- 除了 PCS 為測試目的所起始的節點以外,沒有任何非預期的叢集節點損毀
在清除階段,PCS 控制器會產生下列檔案。
- PcsReport.htm:執行的相關摘要。
- ClusterName-PRE.mht.html:執行階段前執行的叢集驗證測試報告
- ClusterName-POST.mht.html:執行階段後執行的叢集驗證測試報告
- PcsLog-DateTime.zip:包含記錄,並在測試完成時複製到 HLK 控制器。
- MHTML 資料夾:包含 PCS SQL 記錄
- SDDCDiagnosticInfo 資料夾:包含叢集記錄和事件記錄
多次觀察到 PCS 認證執行發現或導致的問題與 PCS 本身無關。 以下說明包含基本指南,可協助縮小部分問題的範圍。
- 執行叢集驗證測試,並檢查報告是否有錯誤。
- 在容錯移轉叢集管理員上,檢查所有節點、vDisk 和集區的狀況是否都良好。 如果不是,在呼叫 MSFT 之前,請先投入時間檢查記錄/偵錯。
- 開啟 Hyper-V 管理員,並確定已列舉 VM 和 vSwitch (也可以執行 Get-VM 或 Get-VMSwitch)。
- 請確定您可以在一個/所有計算節點上,建立 PCS 測試之外的 vSwitch。
- 請確定您可以在一/所有節點上建立 VM,並且可以將 vmNetworkAdapter 連結到 vSwitch。
- 從計算節點上的 %systemdrive% 執行 "dir /s *.dmp" ,尋找因錯誤檢查而產生的傾印檔案。
- 如果您未連結核心程序偵錯工具,可以使用 LiveKD 來查看停滯的核心程序模組/執行緒。
- 檢查計算節點的授權是否啟用,因為 Eval 版本授權每隔 180 天重設一次。
產生包含 PCS 記錄的 ZIP 檔案
您可以從 PCS 控制器執行下列指令碼,以產生包含必要記錄的 ZIP 檔案。 當作業被取消或測試執行時,這個方法很有用。
C:\pcs\PCS-E2ELaunch.ps1 -DomainName <string> -UserName <string> -Password <string> -ComputeCluster <string> [-StorageCluster <string>] -CollectLog [-CollectLogLevel <int>]
參數
- DomainName:測試使用者的完整網域名稱 (FQDN)。
- UserName:測試使用者的使用者名稱
- 密碼:測試使用者的密碼
- ComputeCluster:計算叢集名稱的名稱
- StorageCluster:選擇性,儲存體叢集名稱的名稱。 如果電腦和 儲存體叢集相同,請勿指定此參數。
- CollectLog:必要
- CollectLogLevel:選擇性,預設值為 1。 輸入 3 以收集詳細資訊記錄。
手動產生 PcsReport.htm 檔案
當 PCS 正在執行時,您可以在 PCS 控制器上執行下列 Cmdlet 以產生列出來自所有節點的非預期錯誤檢查的 HTML 報告。
Import-Module C:\PCS\PrivateCloudSimulator-Manager.psm1
Get-PCSReport
自訂 PCS 動作
每個 PCS 作業都有自己的 xml 檔案,可定義其動作。
每個作業最多可以包含 3 個 xml 檔案:PrivateCloudSimulator.xml、PrivateCloudSimulator_Create.xml、PrivateCloudSimulator_Storage.xml
這些 XML 檔案位於 HLK 控制器上。 以下是 PrivateCloudSimulator - System.Solution.AzureStack 作業的範例。 醒目提示的資料夾名稱是 HLK 作業的名稱。
C:\Program Files (x86)\Windows Kits\10\Hardware Lab Kit\Tests\amd64\PCS\System.Solutions.AzureStack\PrivateCloudSimulator_Create.xml
範例 1:啟用/停用動作
<ConfigurableType Type="Microsoft.PrivateCloudSimulator.VM.Actions.HyperV.VmCloneAction, Microsoft.PrivateCloudSimulator.VM.Actions.HyperV">
<ConfigurableTypeField FieldName="Interval" ValueType="System.TimeSpan" Value="00:01:00" />
<ConfigurableTypeField FieldName="StartupNumber" ValueType="System.Int32" Value="2" />
<ConfigurableTypeField FieldName="InjectVMRTInGuest" ValueType="System.Boolean" Value="true" />
<ConfigurableTypeField FieldName="BaseVHDPath" ValueType="System.String" Value="%BASEVHD%" />
</ConfigurableType>
- 測試動作名稱為 VmCloneAction。
- [間隔] 欄位會設定動作執行的頻率。 使用 hh:mm:ss 格式。 例如,值 02:00:00 會每隔 2 小時重複一次動作。
- [StartUpNumber] 欄位會定義該動作的執行個體數目,以在計算叢集的每個節點上起始。 若要停用動作,請將此欄位設定為零。
- 請勿修改其他欄位。
範例 2:將 VM 變更為使用差異磁碟
<ConfigurableType Type="Microsoft.PrivateCloudSimulator.VM.Actions.HyperV.VmCloneBase, Microsoft.PrivateCloudSimulator.VM.Actions.HyperV">
<ConfigurableTypeField FieldName="VmClusteringPercentage" ValueType="System.Int32" Value="100" />
<ConfigurableTypeField FieldName="UseDiffDisks" ValueType="System.Boolean" Value="false" />
</ConfigurableType>
- 根據預設,PCS 會建立提供的客體 OS VHD 複本,以建立預設具有動態虛擬磁碟的 VM。 若要建立具有差異磁碟的 VM,請將 UseDiffDisks 值設定為 true。
範例 3:變更每個節點建立的 VM 數目
<ConfigurableType Type="Microsoft.PrivateCloudSimulator.VM.Actions.HyperV.VmCreationBase, Microsoft.PrivateCloudSimulator.VM.Actions.HyperV">
<!-- MaxVmCount is Max Number of VMs on any one node -->
<ConfigurableTypeField FieldName="MaxVmCount" ValueType="System.Int32" Value="20" />
</ConfigurableType>
- 根據預設,PCS 會為每個叢集節點建立 20 個 VM。 平均 VM 大小可以是 40 GB。 在 4 節點叢集環境中,可能需要 20 * 4 * 40 = 3200GB 磁碟空間。 如果您嘗試認證硬體,請勿變更預設值。 您應該考慮新增更多磁碟,而非減少數目。
自訂動作記錄
PCS 執行具有 RunId。 PCS 動作具有動作識別碼。 當 PCS 動作失敗時,PCS 會從失敗訊息中移除變體 (亦即 VM 名稱),並為其產生唯一的雜湊值。 類似的失敗具有相同的唯一雜湊值。 然後,PCS 將它們在 SQL 報告網站中整合在一起。
PCS 會使用 .NET 追蹤接聽程式來收集測試結果。 這些接聽程式定義於 Microsoft.PrivateCloudSimulator.exe.config。
- SQLOnline:此接聽程式會將結果記錄到 SQL 資料庫。
- AnalyticalLogGather:此接聽程式會在動作失敗時收集額外的資訊。
當特定動作失敗或出現特定雜湊值時,您可以設定 AnalysisLogGather 接聽程式來收集事件記錄、叢集記錄或呼叫指令碼。 這定義於 ActionFailureReactionPolicy.xml。
在 ActionFailureReactionPolicy.xml 中,PCS 支援兩種類型的觸發程序和三種類型的反應。 您可以使用此 XML 定義規則,例如「當觸發程序 X 出現時,接受反應 Y 和 Z」。 大部分的動作都會將 NodeScope 設定為 ReservedOnly,而 MaxLevel 設定為 3 (重大、錯誤和警告事件)。
觸發程序:
類型 | 資料 |
---|---|
ActionFail | ActionFullName |
KnownFailure | FailureHash |
反應:
類型 | 資料 |
---|---|
ETWCollection | Channel、NodeScope、StorageLocation、MaxLevel |
ClusterLogCollection | UseLocalTime、NodeScope、StorageLocation、MaxTimeDuration (選擇性) |
CustomPS | ScriptFullPath、NodeScope、Argument |
有效的 NodeScope 值如下:
- AllNodes
- ComputeOnly
- StorageOnly
- EdgeOnly
- NCOnly
- ReservedOnly
有效的 MaxLevel 值如下:
- 0 (所有層級的記錄)
- 1 (重大)
- 2 (錯誤)
- 3 (警告)
- 4 (資訊)
- 5 (詳細資訊)
範例:
<Trigger>
<Type>ActionFail</Type>
<Data Name="ActionFullName" Value="Microsoft.HyperV.Test.Stress.PrivateCloud.ComputeNode.Action.StorageNodeRestartAction">
</Data>
<ReactionMatchList>
<!-- Details of Reaction are Defined Below and are referenced using the ID attribute-->
<MatchingReaction ID ="1"></MatchingReaction>
<MatchingReaction ID ="2"></MatchingReaction>
</ReactionMatchList>
</Trigger>49
<Reaction ID="1">
<Type>ETWCollection</Type>
<Data Name="Channel" Value="Microsoft-Windows-Hyper-V-VMMS-Analytic"></Data>
<Data Name="NodeScope" Value="ReservedOnly"></Data>
<Data Name="StorageLocation" Value="C:\PCS\PCSEventData\%NODE%\%ActionId%\EventLogs"></Data>
<Data Name="MaxLevel" Value="3"></Data>
</Reaction>
動作記錄檔會儲存至 PCS 控制器上的「『FORENSICLOGLOCATION」資料夾。 根據預設,它是 C:\PCS\PCSEventData。
針對每個失敗的動作,會從保留讀節點收集下列資訊。 您可以在該動作的 SQL 報告頁面中看到此記錄位置。
- %MachineName%\%RunId%\ClusterLogs\%ActionId%
- %MachineName%\%RunId%\EventLogs\%ActionId%
- %MachineName%\%RunId%\CustomResponse\%ActionId%
常見問題集
請參閱私人雲端模擬器常見問題集