將此篇文章跟 Facebook 上的朋友分享將此篇文章跟 Plurk 上的朋友分享將此篇文章跟 Twitter 上的朋友分享列印轉寄
2019/5/6

服務上線前先做功課 日後運作管理不慌張

HCIBench壓測改善有依據 vSAN架構營運擴充更平順

王偉任
一般建置好VMware vSAN超融合基礎架構,在營運服務上線前,都會先進行容錯與壓力測試。對此本文將以實作演練的方式示範,如何採用在VMware Labs Fling中擁有極高評價的HCIBench超融合基礎架構儲存效能壓測工具,針對vSAN超融合基礎架構進行各項儲存效能壓力測試。


當企業或組織的IT管理人員將VMware vSAN超融合基礎架構建置完成後,在營運服務上線之前應該都會進行相關的容錯及壓力測試,例如拔線測試NIC Teaming容錯移轉機制、部署VM虛擬主機估算所需花費的時間等等。

然而,對於建構好的vSAN超融合基礎架構究竟能夠提供多少儲存資源運作效能?是否能夠以更精確且量化的數據來進行佐證?以上兩點必須深入了解,以便屆時營運服務上線後能夠針對vSAN節點主機擴充進行正確的評估。

舉例來說,建置時vSAN儲存資源效能測試結果為30萬IOPS,日後營運時當儲存資源效能已高達25萬IOPS的工作負載平均值時,管理人員便應開始考慮擴充vSAN節點主機,以便增加IOPS儲存效能及儲存空間(圖1)。


▲圖1 採用vSAN All-Flash架構,單台vSAN節點主機可提供高達15萬IOPS儲存效能。(圖片來源:VMware官網 - vSAN產品概觀)


以下將透過在VMware Labs Fling中擁有極高評價的HCIBench超融合基礎架構儲存效能壓測工具,針對vSAN超融合基礎架構進行各項儲存效能壓力測試。




認識HCIBench儲存效能壓測工具

HCIBench(Hyper-Converged Infrastructure Benchmark)儲存效能壓測工具,是由vSAN上海研發團隊中的工程師所開發。簡單來說,HCIBench是一款專門針對vSAN超融合基礎架構的儲存效能測試工具,管理人員可透過Virtual Appliance的方式進行運作環境的部署作業,後續便可以透過HCIBench Controller VM虛擬主機,針對vSAN叢集產生大量的VM虛擬主機,然後同時併發執行儲存效能壓力測試。

值得一提的是,HCIBench儲存效能壓力測試工具,在VMware Labs Fling中免費提供給管理人員使用,因此企業組織無須花費額外的費用,即可透過HCIBench針對vSAN超融合基礎架構進行儲存效能壓力測試,並產生測試報表。

HCIBench運作元件及架構

在HCIBench運作架構中,如圖2所示,具備兩個不同的角色分別是擔任管理工作任務的Controller VM虛擬主機,以及負責儲存效能壓力測試的Vdbench Guest VM虛擬主機。


▲圖2 HCIBench運作元件及運作架構示意圖。(圖片來源:VMware Labs Flings – HCIBench User Guide)


當管理人員透過OVA格式的Virtual Appliance虛擬設備進行部署Controller VM虛擬主機的工作任務,並且在部署完成Controller VM虛擬主機和順利啟動後,將會運作下列幾個核心元件:

‧RVC(Ruby vSphere Console):HCIBench壓測工具的核心引擎,屆時將由此運作元件主導部署Vdbench Guest VM壓測虛擬主機、在壓測虛擬主機內部執行Vdbench壓測工具,並透過vSAN Observer工具監控及收集儲存效能壓力測試結果。

‧vSAN Observer:當啟動儲存效能壓力測試工作任務時,負責監控vSAN叢集和vSAN節點主機的儲存效能表現。

‧Automation Bundle:由Ruby和Bash Script所組成的自動化腳本,負責自動化部署Vdbench Guest VM壓測虛擬主機,包括壓測虛擬主機的VMDK虛擬磁碟初始化、屆時在壓測虛擬主機內部執行Vdbench壓測工具。

‧Configuration files:在HCIBench運作架構中,負責儲存各式壓力測試及部署作業的組態設定檔。

‧Linux壓測虛擬主機範本檔:屆時大量部署Vdbench Guest VM壓測虛擬主機的範本檔案。

實戰HCIBench儲存效能壓測工具

在本文實作環境中,已經建置好vSAN 6.7 Update 1超融合基礎架構,接著將實際部署HCIBench儲存效能壓測工具,以便觀察vSAN超融合環境對於各式各樣儲存資源工作負載的效能表現。




HCIBench部署前置作業

當管理人員準備好vSAN超融合環境,在部署HCIBench儲存效能壓測工具之前,確認已經完成下列前置作業項目:

1. 確保vSAN叢集與vSAN節點主機已正常運作。

2. 建議管理人員將HCIBench壓測工具中負責管理任務的Controller VM虛擬主機部署到vSAN叢集中。雖然支援將Controller VM虛擬主機部署到「單機」的ESXi虛擬平台主機上,但是該台ESXi虛擬平台主機必須能夠存取vCenter Server管理平台才行。

3. 屆時部署的大量Vdbench Guest VM壓測虛擬主機虛擬網路環境中,必須要有DHCP Server負責配發IP位址給壓測虛擬主機。倘若該虛擬網路並沒有DHCP Server時,則配置與Controller VM虛擬主機使用同一段虛擬網路,它將提供DHCP Server特色功能來配發IP位址。

4. 管理人員除了從VMware Flings網站下載HCIBench OVA檔案外,還需要額外下載開放原始碼中負責產生Disk I/O工作負載的指令碼工具壓測執行檔Vdbench檔案。

部署HCIBench Virtual Appliance

在本文實作環境中,採用最新的HCIBench 1.6.8.7版本進行部署作業,預設情況下,部署的HCIBench Virtual Appliance虛擬設備便是HCIBench運作架構中負責管理任務的Controller VM。完成部署後,相關的虛擬硬體配置及已安裝的軟體套件資訊如下:

‧虛擬硬體配置:8 vCPU、8GB vRAM、16GB vDisk。

‧作業系統版本:Photon OS 1.0

‧安裝軟體套件:Ruby 2.3.0、Rubygem 2.5.1、Rbvmoni 1.8.2、RVC 1.8.0、sshpass 1.05、Apache 2.4.18、Tomcat 8.54、JDK 1.8u102

首先,管理人員登入HTML5管理介面,依序點選「vCenter Server > Datacenter > Cluster > Actions > Deploy OVF Template」項目,接著在Select an OVF template頁面內按下〔Choose Files〕按鈕,然後選擇「HCIBench_1.6.8.7.ova」檔案。

在Select a name and folder頁面中,為此台HCIBench虛擬主機進行命名(本文為HCIBench),並選擇所要存放的vSphere Datacenter。接下來,在Select a compute resource頁面內,選擇HCIBench虛擬主機所要運作的vSAN叢集和vSAN節點主機。

在Review details頁面中,將會再次顯示HCIBench虛擬主機的相關資訊,以便管理人員能夠確認繼續進行部署作業,如圖3所示。


▲圖3 再次檢視部署HCIBench虛擬主機的組態設定。


在License agreements頁面中勾選「I accept all license agreements」項目,以便同意使用者授權條款。而在Select storage頁面內,選擇要將HCIBench虛擬主機存放於哪個Datastore儲存資源中,本文選擇存放在vsanDatastore儲存資源。

在Select networks頁面中,如圖4所示,需要選擇Controller VM虛擬主機所要採用的虛擬網路環境,其中「VM Network」虛擬網路為屆時Vdbench Guest VM壓測虛擬主機的虛擬網路環境,這段虛擬網路應該具備DHCP Server以便配發IP位址。倘若實作環境中並沒有架設DHCP Server,則可配置與Controller VM虛擬主機同一段虛擬網路,由Controller VM虛擬主機提供DHCP Server服務。至於「Management Network」虛擬網路,則是屆時管理人員存取Controller VM虛擬主機Web UI圖形介面的網路環境。


▲圖4 選擇Controller VM虛擬主機採用的虛擬網路環境。


如圖5所示,在Customize template頁面中,將配置Controller VM虛擬主機的網路資訊,例如預設閘道、IP位址、DNS伺服器、子網路遮罩。同時,在Root Credential欄位內填入Controller VM虛擬主機的管理者密碼。


▲圖5 組態設定Controller VM虛擬主機的網路資訊及管理者密碼。


最後來到Ready to complete頁面,再次檢視部署HCIBench Controller VM虛擬主機的資訊,若正確無誤,按下〔Finish〕按鈕立即進行部署作業。

存取Controller VM Web UI管理介面

當HCIBench Controller VM虛擬主機部署作業完畢,管理人員便可以開啟瀏覽器,然後在網址列鍵入「https://HCIBench_IP:8443」,本文實作環境為「https://hcibench.vsan.weithenn.org:8443」,如此一來,即可存取Controller VM Web UI管理介面。

如圖6所示,預設管理者登入帳號為「root」,管理者密碼則是剛才部署時所設定的Root Credential。


▲圖6 登入Controller VM Web UI管理介面。


組態設定運作環境及壓測參數

順利登入Controller VM Web UI管理介面後,在管理介面中共有五大組態設定項目,包含vSphere環境組態設定、vSAN叢集組態設定、Vdbench壓測VM虛擬主機組態設定、Vdbench壓測設定檔,以及Vdbench組態設定檔產生器。




vSphere環境組態設定

首先,在vSphere環境組態設定的部分,如圖7所示,管理人員必須填入vSphere虛擬環境相關組態內容:


▲圖7 進行vSphere環境組態設定。


‧vCenter Hostname/IP:填入vCenter Server管理平台的FQDN名稱或IP位址,本文實作環境為「vcsa.vsan.weithenn.org」。

‧vCenter Username:填入vCenter Server管理平台的管理者帳號,本文設定為「Administrator@vsan.weithenn.org」。

‧vCenter Password:填入vCenter Server管理平台的管理者密碼。

‧Datacenter Name:填入vSphere架構中Datacenter名稱,本次實作設定成「Datacenter」。

‧Cluster Name:填入vSphere架構中叢集名稱,本文實作環境設為「Cluster」。

‧Resource Pool Name:填入vSphere架構中資源集區名稱,本文實作環境未建立資源集區,所以可不填。

‧VM Folder Name:填入vSphere架構中VM虛擬主機資料夾名稱。由於本文實作環境未建立VM虛擬主機資料夾,所以可不填。

‧Network Name:填入Vdbench Guest VM壓測虛擬主機的虛擬網路連接埠名稱,未指定的話將採用預設值「VM Network」,本文實作環境為「MGMT-DPortGroup」。在預設情況下,部署的Vdbench Guest VM壓測虛擬主機會透過DHCP Server自動取得動態配發的IP位址,倘若希望Vdbench Guest VM壓測虛擬主機採用「固定IP位址」,則勾選「Set Internal Static IP for Vdbench Client VMs」選項。

‧Datastore Name:指定部署Vdbench Guest VM壓測虛擬主機的Datastore儲存資源。如果管理人員希望壓測虛擬主機能夠同時部署到「多個」Datastore儲存資源時,可以每行填入一個Datastore名稱即可,屆時系統便會平均部署到多個Datastore儲存資源。例如,組態設定2個Datastore儲存資源並部署100台壓測虛擬主機時,便會分別部署50台壓測虛擬主機至每個Datastore儲存資源中。

‧Storage Policy:指定部署的Vdbench Guest VM壓測虛擬主機,要採用哪個vSAN SPBM儲存原則管理機制。如果未指定,將採用預設值「vSAN Default Storage Policy」。

‧Clear Read/Write Cache Before Each Testing:當管理人員勾選此項目後,系統於Vdbench測試作業執行前,會先執行清空vSAN快取內容的動作。

vSAN叢集組態設定

如圖8所示,管理人員必須填入vSAN叢集及節點主機相關組態內容:


▲圖8 設定vSAN叢集組態。


‧Deploy on Hosts:預設情況下,系統將會針對vSAN叢集中的所有vSAN節點主機進行部署作業,倘若管理人員希望僅將Vdbench Guest VM壓測虛擬主機,部署於特定vSAN節點主機的話,則勾選此項目。

‧Hosts:當管理人員勾選「Deploy on Hosts」項目後,必須於此欄位指定vSAN節點主機的FQDN或IP位址,以便稍後將Vdbench Guest VM壓測虛擬主機部署於這些指定的vSAN節點主機上。值得注意的是,倘若指定的vSAN節點主機數量超過「5台」時,為了避免部署時產生大量的vSAN網路流量,系統一次只會在5台vSAN節點主機進行部署作業。

‧Host Username:指定vSAN節點主機的管理者帳號。

‧Host Password:指定vSAN節點主機的管理者密碼。

‧EAST RUN:此選項專為vSAN超融合基礎架構環境設計,系統將會採用多種儲存資源工作負載進行壓力測試。

‧Re-Use The Existing VMs If Possible:勾選此選項之後,倘若下一次的壓力測試參數選項與此次的測試條件符合時,便保留所有已經部署的Vdbench Guest VM壓測虛擬主機,否則便會刪除並重新部署Vdbench Guest VM壓測虛擬主機。

Vdbench壓測VM虛擬主機組態設定

在Vdbench壓測VM虛擬主機組態設定方面,如圖9所示,管理人員必須填入Vdbench壓測VM虛擬主機相關組態內容。值得注意的地方是,如果剛才勾選「EASY RUN」選項的話,則此組態設定頁面將被取代:


▲圖9 設定Vdbench壓測VM虛擬主機組態。


‧VM Name Prefix:指定Vdbench Guest VM壓測虛擬主機的命名規則。

‧Number of VMs:指定部署Vdbench Guest VM壓測虛擬主機的數量。

‧Number of Data Disk:指定部署Vdbench Guest VM壓測虛擬主機時,每台壓測虛擬主機需要掛載的VMDK虛擬磁碟數量,預設值為8個。

‧Size of Data Disk:指定壓測虛擬主機掛載的VMDK虛擬磁碟空間大小,預設值為10GB。

Vdbench壓測設定檔

在Vdbench壓測設定檔部分,如圖10所示,管理人員必須填入此次壓測的相關組態內容:


▲圖10 修改Vdbench壓測設定檔。


‧Test Name:指定此次儲存資源壓力測試名稱,此測試名稱將會在Controller VM中的「/opt/output/results」路徑下,建立測試名稱資料夾。倘若未指定將會採用預設值名稱「resultsTIMESTAMP」。

‧Select a Vdbench parameter file:此下拉選單中,將會顯示過去曾經測試過的儲存資源壓力測試項目。

‧Generate Vdbench Parameter File by Yourself:建立儲存資源壓力測試相關參數組態設定檔,例如資料讀取及寫入比例、Disk I/O資料區塊大小等等。

‧Upload a Vdbench parameter file:若管理人員已經有組態設定檔,即可進行上傳後直接使用。

‧Prepare Virtual Disk Before Testing:此下拉選單中,可以選擇是否要針對Vdbench Guest VM壓測虛擬主機,所掛載的VMDK虛擬磁碟進行初始化的動作,預設值為【NONE】。若選擇【ZERO】選項,由於將會預先初始化VMDK虛擬磁碟,所以能夠有效避免第一次進行資料寫入的效能懲罰。當vSAN叢集啟用重複資料刪除功能時,則建議採用【RANDOM】選項。

‧Testing Duration(seconds):指定儲存資源壓力測試時間,單位為「秒」。

‧Clean up VMs:當管理人員希望儲存資源壓力測試完畢,便刪除所有Vdbench Guest VM壓測虛擬主機的話,建議勾選「Clean up VMs after testing」項目。

Vdbench組態設定檔產生器

在Vdbench組態設定檔產生器部分,如圖11所示,管理人員必須在「Upload the Vdbench File」區塊中,按下〔Choose File〕按鈕並上傳Vdbench執行檔,最後按下〔Save Configuration〕按鈕以便儲存此次壓測參數設定和內容。


▲圖11 上傳Vdbench執行檔並儲存此次壓測參數。


壓測前再次驗證vSAN運作環境

順利完成上述儲存資源壓力測試多項參數後,便可以按下〔Validate〕按鈕,進行壓力測試前的環境驗證工作任務,以便確保稍後的壓力測試能夠順利執行,如圖12所示。此時,切換至vCenter Server管理介面,將會發現HCIBench依據剛才填寫的參數,嘗試連接至vCenter Server並部署Vdbench Guest VM壓測虛擬主機,並且於完成驗證運作環境後刪除壓測虛擬主機。


▲圖12 壓測前再次驗證vSAN運作環境。


執行儲存資源壓力測試作業

現在,管理人員可以按下〔Test〕按鈕,讓HCIBench立即執行儲存資源壓力測試作業,如圖13所示。


▲圖13 HCIBench執行儲存資源壓力測試作業。


此時,系統便會依據剛才管理人員組態設定的儲存壓力測試參數,產生Vdbench Guest VM壓測虛擬主機,並透過Vdbench執行檔進行不同工作負載的儲存資源壓力測試作業。

此時,切換到vCenter Server管理介面,依序點選「Cluster > Monitor > vSAN > Performance」項目,便可以查看HCIBench執行儲存資源壓力測試作業對於vSAN叢集產生多少的儲存資源工作負載及效能表現,例如IOPS、Throughput、Latency、Congestions、Outstanding IO,如圖14所示。


▲圖14 HCIBench執行儲存資源壓力測試作業時,vSAN叢集工作負載及效能表現。


查看HCIBench壓力測試報表

當HCIBench執行儲存資源壓力測試作業完畢,則開啟瀏覽器,在網址列中鍵入「http://hcibench.vsan.weithenn.org/results」,依序點選剛才「壓測名稱」的路徑後,便可以查看HCIBench此次的儲存資源壓力測試報表內容,例如產生多少台Vdbench Guest VM壓測虛擬主機、vSAN叢集此次壓測的IOPS儲存效能表現、壓測時網路延遲時間、資料讀取及寫入的延遲時間等等,如圖15所示。


▲圖15 查看HCIBench儲存資源壓力測試報表。


繼續深入點選result路徑中資料夾及檔案,當點選至「stats.html」檔案時,即可觀看vSAN Observer的詳細分析圖表,如圖16所示。


▲圖16 觀看vSAN Observer的詳細分析圖表。


結語

透過本文的說明及實作演練,相信大家已經了解如何透過HCIBench儲存效能壓力測試工具,評估企業或組織所建構的vSAN超融合基礎架構,針對不同的儲存工作負載能有怎樣的儲存效能表現,以便日後營運服務上線時,能夠正確評估何時該擴充vSAN叢集中的vSAN節點主機。

<本文作者:王偉任,Microsoft MVP及VMware vExpert。早期主要研究Linux/FreeBSD各項整合應用,目前則專注於Microsoft及VMware虛擬化技術及混合雲運作架構,部落格weithenn.org。>

這篇文章讓你覺得滿意不滿意
送出
相關文章
活用WAC管理平台 輕鬆管理S2D叢集
突破框架改變舊思維 以軟體定義打造儲存利器
三面向探討儲存演進 堅強陣容力挺轉型創新
部署雙節點vSAN叢集 輕鬆故障移轉/熱備援
實戰部署vSAN 6.7 打造跨ESXi主機儲存池
留言
顯示暱稱:
留言內容:
送出