如何爲 Virtual SAN 羣集加力(200 萬 IOPS!!!)



原文:http://blogs.vmware.com/vsphere/2014/03/supercharge-virtual-san-cluster-2-million-iops.html



       現在,很多人都知道上週發佈了 Virtual SAN 5.5,而且引起了轟動。在發佈會上,我們公佈了一些激動人心的性能數據,詳細介紹了 32 節點 VirtualSAN 羣集達到 200 IOPS 的情況。發佈會後,我們常被問到的一個問題是:我們採用了哪些具體配置成就了這樣卓越的性能。請不要着急,本博文將全面揭示所有這些熠熠生輝的細節!


       對於錯過發佈會的人來說,不必再感到遺憾,我們在發佈會上發佈了內部基準分析結果,結果表明 Virtual SAN 32 節點羣集中線性擴展至 200 IOPS


       下面我們將詳細介紹硬件配置、軟件配置和用於兩項基準分析測試的設置,一項採用 100% 讀取工作負載,另一項採用 70% 讀取和 30% 寫入工作負載。首先介紹用於兩項基準分析測試的軟硬件配置。


       根據 Virtual SAN 的建議,我們採用了一致的節點來組成 32 節點羣集。每個主機都是 DellPowerEdge R720,統一採用下列配置


        服務器硬件配置:

  • 處理器:雙插槽 Intel     Xeon CPU E5-2650 v2 @ 2.6GHz (Ivy Bridge)。每槽 8 核,超線程啓用。

  • 內存:128 GB     DDR38 16GB     DIMM @ 1833MHz

  • 網絡:Intel     82599EB 10GbE

  • 存儲控制器:LSI     9207-8i 控制器,帶相位 18 固件。

  • SSD: 1     400GB Intel S3700 (INTEL     SSDSC2BA40),固件版本 DL04

  • 磁盤 HDD4 1.1TB     10K RPM Hitachi SAS 驅動器     (HUC101212CSS600),固件版本 U5E03 1.1TB     10K RPM Seagate SAS 驅動器     (ST1200MM0007),固件版本 IS04


        網絡基礎架構:

  • Arista     7050 交換機,10Gbe,標準 MTU1500 字節)


        軟件配置:

        vSphere 5.5 U1,帶 Virtual SAN 5.5,用於羣集。我們進行了下列更改來默認 vSphere

        配置了下列 ESXi 高級參數。更多關於配置 ESXi 高級參數的內容,請查詢下列知識庫文章          http://kb.vmware.com/kb/1038578


  • 我們將 vSphere 網絡堆棧的堆大小增加至 512MB“esxcli  system settings advanced set -o /adv/Net/TcpipHeapMax 512”

  • 允許 VSAN 構成 32 主機羣集。“esxcli     system settings advanced set -o /adv/CMMDS/goto11 1”。(關於此命令的名稱  goto11 的來歷,請觀看本視頻剪輯

  • 我們爲 LSI 存儲控制器安裝了相位 18 LSI 驅動器(mpt2sas  18.00.00.00.1vmw)。

  • 我們爲性能配置了 BIOS 電源管理(系統配置文件設置),即禁用了所有節能功能。(關於電源管理設置如何成就頂尖性能的背景信息,請參見此白皮書)。


        Virtual SAN 配置:

  • 我們使用單個磁盤組/主機。每個磁盤組包含一個 SSD 和所有七個磁盤。

  • 每個主機都採用單個Virtual SAN vmkernel 端口,具有專用 10GbE上行鏈路。

 

        100% 讀取基準分析

        測試 100% 讀取 IO 配置文件時採用了下列配置。


        虛擬機配置:

       每個主機都運行單個 4-vcpu 32 Ubuntu12.04 虛擬機,VSAN 數據存儲上有 8 個虛擬磁盤(vmdk 文件)。這些磁盤分佈在兩個 PVSCSI 控制器上。我們使用了 pvscsi 的默認驅動器版本 1.0.2.0-k


       我們修改了 pvscsi 的引導時間參數以更好地支持大規模工作負載和高未完成 IO“vmw_pvscsiNaNd_per_lun=254vmw_pvscsi.ring_pages=32”。有關配置此設置的更多背景,請參見http://kb.vmware.com/kb/2053145


       對於此基準分析測試,我們對 vmdks 應用了基於存儲策略的管理設置HostFailuresToTolerate=0


       工作負載配置:

       在每個虛擬機中,我們運行具有 8 個工作線程的 IOMeter。每個線程都配置爲在 8 GB 的單個 vmdk 上運行。每個線程運行 100% 讀取,80% 隨機工作負載,帶 4096 字節 IO,在 4096 字節邊界與 16 OIO 契合。事實上,每個主機上的每個虛擬機都發出:

  • 64GB 工作集的 4096 字節 IO 請求

  • 100% 讀取,80% 隨機

  • 128 OIO/主機彙總


       結果:

       我們將上述實驗運行一小時,然後以 60 秒間隔測量彙總客戶機 IOPS 。所測得的 IOPS 中值是龐大的 2024000       

wKiom1OqdrOwAjcCAAIBq38YMMM719.jpg


       70% 讀取,30% 寫入基準分析

       在測試 70% 讀取 30% 寫入 IO 配置文件時使用了下列配置。


        Virtual SAN 配置:

  • 單磁盤組/主機。每個磁盤組包含一個 SSD 和所有七個磁盤。

  • 對於此基準分析測試,我們對所有 vmdk 應用了基於默認     Virtual SAN 存儲策略的管理設置 HostFailuresToTolerate=1     stripeWidth=1


       虛擬機配置:

       每個主機都運行單個 4-vcpu 32 Ubuntu12.04 虛擬機,VSAN 數據存儲上有 8 個虛擬磁盤(vmdk 文件)。這些磁盤分佈在兩個 PVSCSI 控制器上。我們對 pvscsi 採用了默認驅動器(版本 1.0.2.0-k),並修改了 pvscsi 的引導時間參數,以更好地支持高未完成 IO“vmw_pvscsiNaNd_per_lun=254vmw_pvscsi.ring_pages=32”


       工作負載配置:

       在每個虛擬機中,我們運行具有 8 個工作線程的 IOMeter。每個線程都配置爲在 4GB 的單 vmdk 上運行。每個線程運行 70% 讀取,80% 隨機工作負載,帶 4096 字節 IO,在 4096 字節邊界與 8 OIO 契合。事實上,每個主機上的每個虛擬機都發出:

  • 32GB 工作集的 4096 字節 IO 請求

  • 70% 讀取,80% 隨機

  • 64  OIO/主機彙總


       結果:

       我們將上述實驗運行三個小時,然後以 60 秒間隔測量彙總客戶機 IOPSIOPS 中值是 652900,在 60 秒中值點上客戶機平均讀取延遲是2.94毫秒,平均客戶機寫入延遲是 3.06 毫秒,每 IO 的彙總延遲爲 2.98 毫秒。60 秒間隔期間的彙總網絡吞吐量是 3178 兆字節/ (25.4Gbps)


wKioL1OqdiKC_J2XAAH_bjrjTt8639.jpg


        總結:

       100% 讀取基準分析和 70% 讀取基準分析都得出 VirtualSAN 線式擴展的明確結果,以可預見的方式爲每個主機提供額外性能,每個主機僅需配置一個磁盤組。雖然 VirtualSAN 5.5 爲首個版本,但是,這些數據證明,Virtual SAN 能提供滿足現今幾乎所有工作負載的卓越性能。


       鳴謝:

       在此我要感謝 VMware 性能工程團隊的 LeninSingaravelu Jinpyo Kim,感謝他們在進行上述基準分析測試時所做的工作。我還要感謝雲基礎架構技術營銷團隊的 MarkAchtemichuk,感謝他在該博文創作過程中所給予的幫助。歡迎使用 VirtualSAN


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章