Virtualization

SAN 和管理程序之間的 iSCSI 性能非常緩慢

  • May 21, 2011

我們在執行 iSCSI-Target 的 1U Ubuntu 伺服器中的 mans SAN 設置很差,RAID-0 中有兩個 300GB 驅動器。然後我們將它用於虛擬機的塊級儲存。管理程序通過專用 VLAN 和介面上的千兆位連接到 SAN。

我們只有一個虛擬機設置並進行一些基準測試。如果我們hdparm -t /dev/sda1從虛擬機執行,我們會從虛擬機到 SAN 獲得 75MB/s 的“ok”性能。./configure然後我們基本上用和編譯一個包make。一切開始正常,但突然之間 SAN 上的平均負載增長到 7+,事情變得緩慢。當我們 SSH 進入 SAN 並執行 top 時,確定負載是 7+,但 CPU 使用率基本上沒有,而且伺服器有 1.5GB 的可用記憶體。當我們終止虛擬機上的編譯時,SAN 上的 LOAD 會慢慢回到低於 1 的數字。

這到底是什麼原因造成的?我們如何進一步診斷呢?

這是高負載期間 SAN 的兩個螢幕截圖。

1> Output of iotop on the SAN:

http://imgur.com/2doVP

2> Output of top on the SAN:

http://i.stack.imgur.com/UK0f8.png

在目標上啟用寫入記憶體後,您應該會看到性能顯著提高(細節取決於實現 - 您使用的是什麼,tgt?)和您的磁碟

hdparm -W 1 /dev/sda
hdparm -W 1 /dev/sdb

然而,這是有代價的:在斷電或 SAN 系統掛起的情況下,這將危及數據完整性(尤其是在執行數據庫時),因為被認為已永久寫入磁碟的數據僅駐留在 volatile 中動態隨機存取儲存器。為了降低這種風險,您應該使用帶有 BBWC(電池支持的寫入記憶體)的控制器,其中數據可以在斷電一段時間(通常為 1-2 天)後存活。

ESXi 的主要“問題”是它不斷地同步()磁碟。將元數據寫入 VMFS(如果有的話)的需要使情況變得更糟。每當人們使用沒有寫入記憶體的控制器時,vmware 社區論壇上到處都是“我的磁碟很慢”的文章。

引用自:https://serverfault.com/questions/272136