今天我們來分析vSphere中磁碟子系統的指標。 儲存問題是虛擬機器速度緩慢的最常見原因。 如果就 CPU 和 RAM 而言,故障排除僅限於虛擬機器管理程式級別,那麼如果磁碟出現問題,則可能需要處理資料網路和儲存系統。
我將使用儲存系統的區塊存取範例來討論該主題,儘管對於文件訪問,計數器大致相同。
一點理論
在談論虛擬機器磁碟子系統的效能時,人們通常會專注於三個相互關聯的參數:
- 輸入/輸出操作數(每秒輸入/輸出操作數,IOPS);
- 吞吐量;
- 輸入/輸出操作的延遲(延遲)。
IOPS數 通常對於隨機工作負載很重要:存取位於不同位置的磁碟區塊。 此類負載的範例可以是資料庫、業務應用程式(ERP、CRM)等。
容量 對於順序載入很重要:訪問一個接一個的區塊。 例如,檔案伺服器(但不總是)和視訊監控系統可以產生這樣的負載。
吞吐量與 I/O 操作的數量相關,如下所示:
吞吐量 = IOPS * 區塊大小,其中區塊大小是區塊大小。
塊大小是一個相當重要的特性。 現代版本的 ESXi 允許區塊大小最大為 32 KB。 如果塊更大,則將其分成幾個。 並非所有儲存系統都可以有效地處理如此大的區塊,因此 ESXi 進階設定中有一個 DiskMaxIOSize 參數。 使用它,您可以減少虛擬機管理程式跳過的最大區塊大小(更多詳細信息
大的區塊大小可能會對儲存效能產生不利影響。 即使 IOPS 數量和吞吐量相對較小,大塊大小也會導致高延遲。 因此,請注意該參數。
潛伏 – 最有趣的性能參數。 虛擬機器的 I/O 延遲包括:
- 虛擬機器管理程式內部的延遲(KAVG,平均核心毫秒/讀取);
- 資料網路和儲存系統提供的延遲(DAVG,Average Driver MilliSec/Command)。
來賓作業系統中可見的總延遲(GAVG、平均來賓毫秒/指令)是 KAVG 和 DAVG 的總和。
測量 GAVG 和 DAVG,並計算 KAVG:GAVG–DAVG。
讓我們仔細看看 KAVG。 在正常操作期間,KAVG 應趨於零或至少遠小於 DAVG。 據我所知,KAVG 預期較高的唯一情況是 VM 磁碟上的 IOPS 限制。 在這種情況下,當您嘗試超過限制時,KAVG 將會增加。
KAVG 最重要的組成部分是 QAVG - 虛擬機器管理程式內的處理佇列時間。 KAVG 的其餘成分可以忽略不計。
磁碟適配器驅動程式中的佇列和到衛星的佇列具有固定大小。 對於高負載環境,增加此大小可能很有用。
但同樣,首先閱讀 HBA 供應商的文件並在實驗室工作台上測試變更。
SIOC(儲存 I/O 控制)機制的加入可能會影響到月球的佇列大小。 它透過動態變更伺服器上的 Moon 佇列,提供叢集中所有伺服器對 Moon 的統一存取。 也就是說,如果其中一台主機正在運行需要不成比例的效能的虛擬機器(雜訊的鄰居虛擬機器),SIOC 會將該主機上的佇列長度縮短到月球 (DQLEN)。 更多細節
我們已經整理好了 KAVG,現在來介紹一下 DAVG。 這裡一切都很簡單:DAVG是外部環境(資料網路和儲存系統)引入的延遲。 每個現代和不太現代的儲存系統都有自己的效能計數器。 要使用 DAVG 分析問題,查看它們是有意義的。 如果 ESXi 和儲存端一切正常,請檢查資料網路。
為了避免效能問題,請為您的儲存系統選擇正確的路徑選擇策略 (PSP)。 幾乎所有現代儲存系統都支援 PSP 循環(有或沒有 ALUA,非對稱邏輯單元存取)。 此策略允許您使用儲存系統的所有可用路徑。 對於 ALUA,僅使用擁有月球的控制器的路徑。 並非 ESXi 上的所有儲存系統都有設定循環策略的預設規則。 如果您的儲存系統沒有規則,請使用儲存系統製造商的插件,該插件會在叢集中的所有主機上建立相應的規則,或者您自己建立規則。 細節
此外,一些儲存系統製造商建議將每個路徑的IOPS 數量從標準值1000 更改為1。在我們的實踐中,這使得可以從儲存系統中「榨取」更多效能,並顯著減少故障轉移所所需的時間如果控制器故障或更新。 檢查供應商的建議,如果沒有禁忌症,請嘗試更改此參數。 細節
基本虛擬機器磁碟子系統效能計數器
vCenter 中的磁碟子系統效能計數器會收集在資料儲存、磁碟、虛擬磁碟部分:
在第 數據存儲 VM 磁碟所在的 vSphere 磁碟儲存(資料儲存)有一些指標。 在這裡您可以找到以下標準計數器:
- IOPS(每秒平均讀/寫請求),
- 吞吐量(讀取/寫入速率),
- 延遲(讀/寫/最高延遲)。
原則上,一切都從櫃檯名稱中一目了然。 讓我再次提醒您注意,這裡的統計資料不是針對特定 VM(或 VM 磁碟),而是針對整個資料儲存的一般統計資料。 我認為,在 ESXTOP 中查看這些統計數據更方便,至少基於最小測量週期為 2 秒的事實。
在第 圓盤 VM 使用的區塊設備有一些指標。 有求和類型的 IOPS 計數器(測量期間輸入/輸出操作的數量)和幾個與區塊存取相關的計數器(命令中止、匯流排重設)。 我認為在ESXTOP中查看這些資訊也更加方便。
章節 虛擬磁盤 – 從尋找 VM 磁碟子系統效能問題的角度來看最有用。 在這裡您可以看到每個虛擬磁碟的效能。 正是需要此資訊來了解特定虛擬機器是否有問題。 除了 I/O 操作數、讀取/寫入量和延遲的標準計數器之外,本節還包含顯示區塊大小的有用計數器:讀取/寫入請求大小。
下圖中是 VM 磁碟效能圖表,您可以在其中看到 IOPS 數量、延遲和區塊大小。
如果啟用了 SIOC,您也可以查看整個資料儲存的效能指標。 以下是平均延遲和 IOPS 的基本資訊。 預設情況下,只能即時查看此資訊。
ESXTOP
ESXTOP 有多個螢幕,提供整個主機磁碟機系統、各個虛擬機器及其磁碟的資訊。
讓我們從虛擬機器的資訊開始。 使用“v”鍵呼叫“Disk VM”畫面:
NVDISK 是VM磁碟的數量。 若要查看每個磁碟的信息,請按“e”並輸入感興趣的 VM 的 GID。
此畫面上其餘參數的含義從其名稱中可以清楚看出。
故障排除時另一個有用的畫面是磁碟轉接器。 透過「d」鍵呼叫(下圖選擇欄位A、B、C、D、E、G):
NPTH – 從此適配器可見的通往衛星的路徑數量。 若要取得適配器上每個路徑的信息,請按「e」並輸入適配器的名稱:
阿克倫 – 適配器上的最大佇列大小。
此畫面上還有我上面提到的延遲計數器: KAVG/cmd、GAVG/cmd、DAVG/cmd、QAVG/cmd.
按下「u」鍵即可調出磁碟裝置螢幕,該畫面提供有關各個區塊裝置 - 衛星的資訊(下圖中選擇了欄位 A、B、F、G、I)。 在這裡您可以看到衛星佇列的狀態。
德克蘭 – 區塊設備的佇列大小。
交流電視 – ESXi 核心中的 I/O 指令數。
奎德 – 佇列中 I/O 指令的數量。
%美元 – ACTV / DQLEN × 100%。
加載 – (ACTV + QUED) / DQLEN。
如果 %USD 較高,您應該考慮增加隊列。 佇列中的指令越多,QAVG 越高,對應的 KAVG 也越高。
您也可以在磁碟裝置畫面上查看儲存系統上是否正在執行 VAAI(用於陣列整合的 vStorage API)。 為此,請選擇欄位 A 和 O。
VAAI機制可讓您將部分工作從Hypervisor直接轉移到儲存系統,例如歸零、複製區塊或阻塞。
如上圖所示,VAAI 在此儲存系統上工作:積極使用零和 ATS 原語。
有關優化 ESXi 上磁碟子系統工作的提示
- 注意塊大小。
- 設定 HBA 上的最佳隊列大小。
- 不要忘記在資料儲存上啟用 SIOC。
- 根據儲存系統製造商的建議選擇 PSP。
- 確保 VAAI 正在運行。
有用的相關文章:
來源: www.habr.com