儲存空間直接存取的效能歷程記錄
效能歷程記錄是一項新功能,可讓儲存空間直接存取系統管理員跨主機伺服器、磁碟機、磁碟區、虛擬機器等輕鬆地存取歷史計算、記憶體、網路和儲存體的測量結果記錄。 系統會自動收集效能歷程記錄,並儲存在叢集上長達一年。
重要
此功能是 Windows Server 2019 的新功能。 在 Windows Server 2016 中無法使用。
開始使用
Windows Server 2019 中的儲存空間直接存取預設會收集效能歷程記錄。 您不需要安裝、設定或啟動任何事物。 不需要網際網路連線、不需要 System Center,而且不需要外部資料庫。
若要以圖形方式查看叢集的效能歷程記錄,請使用 Windows Admin Center:
若要以程式設計方式查詢及處理,請使用新的 Get-ClusterPerf
Cmdlet。 請參閱 PowerShell 中的使用量。
收集的內容
效能歷程記錄會針對 7 種類型的物件而收集:
每個物件類型都有許多數列:例如,會針對每部伺服器收集 ClusterNode.Cpu.Usage
。
如需針對每個物件類型收集的內容以及如何解譯它們的詳細資料,請參閱下列子主題:
Object | 數列 |
---|---|
磁碟機 | 針對磁碟機收集的內容 |
網路介面卡 | 針對網路介面卡收集的內容 |
伺服器 | 針對伺服器收集的內容 |
虛擬硬碟 | 針對虛擬硬碟收集的內容 |
虛擬機器 | 針對虛擬機器收集的內容 |
磁碟區 | 針對磁碟區收集的內容 |
叢集 | 針對叢集收集的內容 |
許多數列會跨對等物件匯總到其父系:例如,會針對每個網路介面卡分別收集 NetAdapter.Bandwidth.Inbound
,並匯總至整體伺服器;同樣地,ClusterNode.Cpu.Usage
會匯總至整體叢集;等等。
時間範圍
效能歷程記錄最多儲存一年,資料細微性會降低。 在最近的一小時內,每十秒鐘有一次測量結果。 之後,它們會以智慧方式合併 (視需要平均或加總) 合併成較粗略的數列,以跨越更長的時間。 在最近的一天內,每五分鐘有一次測量結果;最近一週內,每十五分鐘一次;依此類推。
在 Windows Admin Center 中,您可以選取圖表右上角的時間範圍。
在 PowerShell 中,則使用 -TimeFrame
參數。
以下是可用的時間範圍:
時間範圍 | 測量頻率 | 保留時間 |
---|---|---|
LastHour |
每 10 秒 | 1 小時 |
LastDay |
每 5 分鐘 | 25 小時 |
LastWeek |
每 15 分鐘 | 8 天 |
LastMonth |
每 1 小時 | 35 天 |
LastYear |
每 1 天 | 400 天 |
PowerShell 中的使用方式
使用 Get-ClusterPerformanceHistory
Cmdlet 來查詢及處理 PowerShell 中的效能歷程記錄。
Get-ClusterPerformanceHistory
提示
使用 Get-ClusterPerf 別名來儲存一些按鍵輸入。
範例
取得虛擬機器 MyVM 在過去一小時內的 CPU 使用量:
Get-VM "MyVM" | Get-ClusterPerf -VMSeriesName "VM.Cpu.Usage" -TimeFrame LastHour
如需更進階的範例,請參閱已發佈的範例指令碼,其中提供了用於尋找尖峰值、計算平均值、繪製趨勢線、執行極端值偵測等等的入門程式碼。
指定物件
您可以透過管線指定您想要的物件。 這適用於 7 種物件類型:
來自管線的物件 | 範例 |
---|---|
Get-PhysicalDisk |
Get-PhysicalDisk -SerialNumber "XYZ456" | Get-ClusterPerf |
Get-NetAdapter |
Get-NetAdapter "Ethernet" | Get-ClusterPerf |
Get-ClusterNode |
Get-ClusterNode "Server123" | Get-ClusterPerf |
Get-VHD |
Get-VHD "C:\ClusterStorage\MyVolume\MyVHD.vhdx" | Get-ClusterPerf |
Get-VM |
Get-VM "MyVM" | Get-ClusterPerf |
Get-Volume |
Get-Volume -FriendlyName "MyVolume" | Get-ClusterPerf |
Get-Cluster |
Get-Cluster "MyCluster" | Get-ClusterPerf |
如果未指定,則會傳回整體叢集的效能歷程記錄。
指定數列
您可以使用下列參數來指定您想要的數列:
參數 | 範例 | 清單 |
---|---|---|
-PhysicalDiskSeriesName |
"PhysicalDisk.Iops.Read" |
針對磁碟機收集的內容 |
-NetAdapterSeriesName |
"NetAdapter.Bandwidth.Outbound" |
針對網路介面卡收集的內容 |
-ClusterNodeSeriesName |
"ClusterNode.Cpu.Usage" |
針對伺服器收集的內容 |
-VHDSeriesName |
"Vhd.Size.Current" |
針對虛擬硬碟收集的內容 |
-VMSeriesName |
"Vm.Memory.Assigned" |
針對虛擬機器收集的內容 |
-VolumeSeriesName |
"Volume.Latency.Write" |
針對磁碟區收集的內容 |
-ClusterSeriesName |
"PhysicalDisk.Size.Total" |
針對叢集收集的內容 |
提示
使用 Tab 鍵自動完成來探索可用的數列。
如果未指定,則會傳回指定物件可用的每個數列。
指定時間範圍
您可以使用 -TimeFrame
參數來指定您想要的歷程記錄時間範圍。
提示
使用索引標籤自動完成來探索可用的時間範圍。
如果未指定,則會傳回 MostRecent
測量結果。
運作方式
效能歷程記錄儲存體
啟用儲存空間直接存取後不久,就會建立大約 10 GB 的磁碟區,名為 ClusterPerformanceHistory
,並在該處佈建可延伸儲存引擎的實例 (也稱為 Microsoft JET)。 此輕量型資料庫會儲存效能歷程記錄,而不需要系統管理員介入或管理。
儲存空間支援磁碟區,並依據叢集中的節點數目,使用簡單、雙向鏡像或三向鏡像復原。 磁碟機或伺服器故障之後會被修復,就像儲存空間直接存取中的其他任何磁碟區一樣。
磁碟機使用 ReFS,但不是叢集共用磁碟區 (CSV),因此它只會出現在叢集群組擁有者節點上。 除了自動建立之外,此磁碟區沒有任何特殊之處:您可以看到它、瀏覽、調整大小或將其刪除 (不建議)。 如果發生錯誤,請參閱疑難排解。
物件探索和資料收集
效能歷程記錄會自動探索相關的物件,例如虛擬機器、叢集中的任何位置,並開始串流其效能計數器。 計數器會被匯總、同步處理,並插入資料庫中。 串流會持續執行,並以對系統影響最小的方式進行優化。
收集是由高可用性的健康情況服務來處理:如果執行所在的節點關閉,稍後會在叢集中的另一個節點上繼續。 效能歷程記錄可能會短暫失效,但會自動繼續。 您可以在 PowerShell 中執行 Get-ClusterResource Health
,以查看健康情況服務及其擁有者節點。
處理測量差距
當測量結果合併成跨越更長時間的較粗略數列,如時間範圍中所述,則會排除資料遺漏的期間。 例如,如果伺服器已關閉 30 分鐘,則在接下來的 30 分鐘內以 50% 的 CPU 執行,則每小時的 ClusterNode.Cpu.Usage
平均值會正確記錄為 50% (而非 25%)。
擴充性和自訂
效能歷程記錄對指令碼而言容易使用。 使用 PowerShell 直接從資料庫提取任何可用的歷程記錄,以建置自動化報告或警示、匯出歷程記錄以進行安全保存、變換您自己的視覺效果等等。如需實用的入門程式碼,請參閱已發佈的範例指令碼。
無法收集其他物件、時間範圍或數列的歷程記錄。
測量頻率和保留期間目前無法設定。
啟動或停止效能歷程記錄
如何啟用此功能?
除非您 Stop-ClusterPerformanceHistory
,否則預設會啟用效能歷程記錄。
若要重新啟用它,請以系統管理員身分執行此 PowerShell Cmdlet:
Start-ClusterPerformanceHistory
如何停用此功能?
若要停止收集效能歷程記錄,請以系統管理員身分執行此 PowerShell Cmdlet:
Stop-ClusterPerformanceHistory
若要刪除現有的測量結果,請使用 -DeleteHistory
旗標:
Stop-ClusterPerformanceHistory -DeleteHistory
提示
在初始部署期間,您可以將 Enable-ClusterStorageSpacesDirect
的 -CollectPerformanceHistory
參數設定為 $False
,以防止效能歷程記錄開始。
疑難排解
Cmdlet 無效
錯誤訊息,例如「'Get-ClusterPerf' 一詞無法辨識為 Cmdlet」表示無法使用或安裝此功能。 確認您有 Windows Server 2025、已安裝故障轉移叢集,且您正在執行 儲存空間直接存取。
注意
此功能不適用於 Windows Server 2016 或更早版本。
沒有可用資料
如果圖表顯示「沒有可用的資料」,以下說明如何疑難排解:
如果新加入或建立物件,請等候物件被發現 (最多 15 分鐘)。
重新整理頁面,或等候下一次背景重新整理 (最多 30 秒)。
某些特殊物件會從效能歷程記錄中排除,例如未叢集的虛擬機器,以及不使用叢集共用磁碟區 (CSV) 檔案系統的磁碟區。 請檢查物件類型的子主題,例如磁碟區的效能歷程記錄,以取得精細列印結果。
如果問題持續發生,請以系統管理員身分開啟 PowerShell,然後執行
Get-ClusterPerf
Cmdlet。 Cmdlet 包含用於識別常見問題的疑難排解邏輯,例如 ClusterPerformanceHistory 磁碟區遺失,並提供補救指示。如果上一個步驟中的命令沒有傳回任何內容,您可以在 PowerShell 中執行
Stop-ClusterResource Health ; Start-ClusterResource Health
,嘗試重新啟動健全狀況服務 (這樣會收集效能歷程記錄)。
其他參考
- 儲存空間直接存取概觀 \(部分機器翻譯\)