軟體定義儲存 SDS HCI 超融合基礎架構 VSAN 容錯移轉 VM 虛擬主機

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

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

2019-04-30
一般建置好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。>

 


追蹤我們Featrue us

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!