朱金鑫 高波 李勝利
(中國聯(lián)通淄博分公司,山東淄博255000)
VMware系統(tǒng)是業(yè)界領(lǐng)先的虛擬化平臺,通過該系統(tǒng)可以創(chuàng)建動態(tài)、靈活的數(shù)據(jù)中心,在簡化企業(yè)的IT基礎架構(gòu)的同時,還可以幫企業(yè)提高效率、降低能耗,從而得到越來越多的企業(yè)認可。
VMWare系統(tǒng)中比較常見的架構(gòu)就是一組或者幾組主機通過iSCSI方式連接到一個存儲設備上的一個或者多個卷,由于所有數(shù)據(jù)傳輸都是通過網(wǎng)絡進行,所以當虛擬機的I/O吞吐量比較大時,主機與存儲之間的傳輸效率往往成為系統(tǒng)的瓶頸,通過實現(xiàn)巨幀、多路徑等高級功能,可以顯著提高ESX主機與存儲設備之間的效率,從而極大提高系統(tǒng)的整體性能。作者通過實驗來驗證通過巨幀及iSCSI多路徑傳輸(MPIO)功能實現(xiàn)提高主機和存儲傳輸效率的可行性。
本文所有實驗全部在EXS4.1企業(yè)版與DELL PS6000存儲設備上實現(xiàn)。環(huán)境為vSphere 4.1,ESX4.1,交換機設備都已經(jīng)安裝完畢,且交換機支持巨幀,每臺ESX主機提供至少2個物理網(wǎng)卡用于連接存儲設備。
在開始配置前,首先要了解VMware ESX主機是怎樣與SAN通過iSCSI軟件適配器來連接存儲設備的。VMware使用VMKernel端口作為會話來連接存儲設備,因此,每個VMKernel端口都需要建立起一條到存儲設備的路徑,他們之間是獨立的。每個會話都是由一個VMKernel通過一個獨立的網(wǎng)卡完成的。一旦會話建立,ESX的NMP和PS6000的網(wǎng)絡負載均衡就會平均分配負載到每一個可用的會話中。在默認設置中,會話是通過一個網(wǎng)卡進行的,其它網(wǎng)卡只有在主網(wǎng)卡失效的情況下才工作。通過本文的設置,可以讓每一個網(wǎng)卡都處于工作狀態(tài),從而提高系統(tǒng)的整體效率。
下面重點介紹在每臺ESX主機3個物理網(wǎng)卡的情況下,按照1:1的比例配置VMKernel的具體步驟,這是VMware應用中的典型配置。
第1步:設置ESX主機上的虛擬交換機并啟用巨幀
這一步主要是在ESX主機上新建一個支持巨幀的虛擬交換機,在當前的版本中,這個操作只能通過命令行進行,在vSphere的圖形配置界面中無法實現(xiàn)。
第4步:為VMKernel端口分配獨立的網(wǎng)卡
這一步主要是在VMkernel端口與物理網(wǎng)卡之間建立一一對應的關(guān)系。在默認情況下,就像在第3步中看到的一樣,每個端口都綁定了該虛擬交換機上所有的網(wǎng)卡,因此我們要為每個VMkernel端口刪除多余的網(wǎng)卡,只留下一個,從而在VMKernel端口與物理網(wǎng)卡之間建立起一一對應的關(guān)系,命令如下。
執(zhí)行完后,再次通過#esxcfg-vswitch–l命令進行查看,每個VMkernel端口都唯一對應著一個獨立的物理網(wǎng)卡。需要指出的是,多路徑負載均衡需要借助類似Round Robin MPIO或者其它的第三方MPIO插件來實現(xiàn)。
第5步:啟用ESX主機iSCSI適配器
這一步啟用iSCSI適配器,準備存儲設備連接ps6000。
執(zhí)行完后,可以通過#esxcfg-sw iscsi–q命令驗證。
第6步:為VMKernel端口綁定iSCSI適配器
這一步用來為第4步中創(chuàng)建的VMkernel端口綁定iSCSI適配器,這一步是實現(xiàn)多路徑負載均衡連接的關(guān)鍵,否則只能是單路徑連接。首先要收集vmhba#軟件適配器與VMkernel端口VMK#的信息。
查看vmhba#軟件適配器:#esxcfg-scsidevs–a
查看VMkernel端口信息:#esxcfg-vmknic–l
從結(jié)果可以看出,iSCSI1與VMK0對應,iSCSI2與VMK1對應,iSCSI3與VMK2對應。
下面通過命令行將VMKernel端口與iSCSI適配器之間綁定,這一步只能通過命令行來實現(xiàn),命令如下:
綁定的結(jié)果可以通過下列命令查看:#esxcli swiscsi nic list–d vmhba33
第7步:實現(xiàn)ESX主機到ps6000之間的連接
到上一步為止,所有關(guān)于vSphere iSCSI適配器的設置都完成了,剩下的需要連接到ps6000上的邏輯卷就可以了。
第8步:啟用本地多路徑連接-Round Robin
前面說過,通過多路徑連接可以極大地提高性能,這一步可以通過VC的圖形界面來實現(xiàn),首先選擇要實現(xiàn)多路徑連接的卷,然后選擇“設置->存儲”,右鍵選擇“管理路徑”,如圖1:
圖1 通過VC啟用多路徑連接
由于Round Robin并不是vSphere的默認選項,如果要設置成默認選項,可以用過下列命令來實現(xiàn):
esxclinmp satp setdefaultpsp–-satp VMW_SATP_EQL–-psp VMW_PSP_RR
本測試通過一臺Liunx操作系統(tǒng)的虛擬機的dd命令進行,啟用多路徑、巨幀前后分別進行測試,結(jié)果表明,讀寫性能有了大幅度的提高,結(jié)果如下:
啟用前:
通過上面幾個步驟,實現(xiàn)了ESX主機與ps6000的存儲之間的巨幀、多路徑連接,由于有些設置只能通過命令行來實現(xiàn),需要對ESX的命令有所了解才行。
[1] 胡嘉璽.虛擬智慧:VMware vSphere運維實錄[M].清華大學出版社,2011.
[2] Scott Lowe.Mastering VMware vSphere 4.Sybex,2009.