張瑪麗
(山西職業(yè)技術(shù)學(xué)院,山西 太原 030006)
虛擬化技術(shù)給我們帶來了非常大的影響,使我們的信息化建設(shè)可以更好地發(fā)展。在使用虛擬化技術(shù)的初期,應(yīng)該從資源分配、硬件配置的選擇到vSphere中心的配置,在規(guī)劃的每一個(gè)階段做出最優(yōu)選擇,這將對(duì)虛擬基礎(chǔ)架構(gòu)是否能有效實(shí)現(xiàn)產(chǎn)生巨大影響。首先需要考慮容量規(guī)劃和性能規(guī)劃,接著對(duì)相關(guān)的硬件選擇和設(shè)計(jì)進(jìn)行考量,最后對(duì)vSphere的配置進(jìn)行優(yōu)化。這些都對(duì)虛擬化基礎(chǔ)架構(gòu)有著深遠(yuǎn)影響。
容量規(guī)劃需要注意兩個(gè)關(guān)鍵因素:性能和容量。虛擬化的基礎(chǔ)性能指的是在虛擬架構(gòu)上所有應(yīng)用程序的性能總和,而虛擬化的基礎(chǔ)容量指的是虛擬架構(gòu)上所有工作負(fù)載資源使用量的總和。所以,基礎(chǔ)規(guī)劃的是給定工作負(fù)載的情況下需要給予多少資源 (容量),以及這些資源的速度(性能)。
虛擬化規(guī)劃在新的應(yīng)用和現(xiàn)有應(yīng)用比較中,前者要困難很多。因?yàn)槲覀儽仨氈獣援a(chǎn)品供應(yīng)商對(duì)應(yīng)用的配置需求,并將這些需求轉(zhuǎn)化成更加符合實(shí)際的虛擬資源的需求。所以我們需要多和產(chǎn)品供應(yīng)商溝通交流,確切了解是否還有相應(yīng)的虛擬化推薦配置。在給新的應(yīng)用程序配置的虛擬資源初期可能會(huì)高,隨時(shí)還需要不斷監(jiān)控這些虛擬機(jī),并進(jìn)行相應(yīng)的調(diào)整使之回歸合理的配置水平。
在虛擬化進(jìn)行規(guī)劃的時(shí)候,我們需要關(guān)注的核心資源有四個(gè):CPU、內(nèi)存、磁盤和網(wǎng)絡(luò)。如果一臺(tái)物理服務(wù)器的配置如下:
CPU:雙路8核心CPU,每顆核心3056MHz
內(nèi)存:32GB
磁盤:總?cè)萘?TB
網(wǎng)絡(luò):兩塊千兆網(wǎng)卡
在系統(tǒng)運(yùn)行過程中,不難統(tǒng)計(jì)出各資源的真實(shí)利用率:
CPU利用率峰值:15%
內(nèi)存利用率峰值:20%
磁盤容量利用率:22%
網(wǎng)絡(luò)利用率:小于1%
調(diào)整之后的虛擬機(jī)配置如下:
CPU:需要3667MHz,2顆虛擬CPU足夠
內(nèi)存:需要6.4GB,配置8GB足夠
磁盤:需要0.66TB,采用精簡配置,按需增加
網(wǎng)絡(luò):遠(yuǎn)遠(yuǎn)低于鏈路負(fù)載,不予考慮
收集以上四種核心數(shù)據(jù)的方法有很多種,可以使用現(xiàn)有Windows系統(tǒng)或者Linux系統(tǒng)內(nèi)置的工具來收集CPU利用率、內(nèi)存利用率、磁盤I/O以及網(wǎng)絡(luò)I/O。也可以利用虛擬軟件提供商提供的工具來進(jìn)行,如VMware公司提供的工具VMware Capacity Planner。收集數(shù)據(jù)有助于提高虛擬化規(guī)劃的速度和可靠性。
我們會(huì)面對(duì)大量規(guī)格不同的服務(wù)器,這些服務(wù)器是虛擬化規(guī)劃的原始資源。要想使用這些硬件資源來進(jìn)行基礎(chǔ)規(guī)劃,需要先進(jìn)行數(shù)據(jù)標(biāo)準(zhǔn)化處理,需要收集原始的規(guī)劃數(shù)據(jù):
1.4.1 數(shù)據(jù)收集
第一步收集同時(shí)運(yùn)行的虛擬機(jī)數(shù)量;物理CPU的平均值;物理CPU的平均數(shù)量;物理CPU的平均利用率峰值;物理內(nèi)存平均數(shù);物理內(nèi)存的平均利用率峰值。第二步收集計(jì)劃的主機(jī)配置信息:每臺(tái)主機(jī)CPU插槽數(shù);每顆CPU的內(nèi)核數(shù);每顆內(nèi)核的MHz數(shù);每臺(tái)主機(jī)的內(nèi)存數(shù)。
收集完畢后,可以利用公式進(jìn)行虛擬化所需容量的計(jì)算:
對(duì)于CPU的計(jì)算:
標(biāo)準(zhǔn)化物理主機(jī)CPU平均值=物理CPU的平均值×物理CPU的平均數(shù)量;
高峰CPU的平均利用率峰值=物理CPU的平均利用率峰值×標(biāo)準(zhǔn)化物理主機(jī)CPU平均值;
高峰CPU總使用量=同時(shí)運(yùn)行的虛擬機(jī)數(shù)×高峰CPU的平均利用率峰值
計(jì)算過程如下:
3056MHz×8=24448MHz
24448 MHz×15%=3667.2MHz
100×3 667.2MHz=366720MHz 100臺(tái)虛擬機(jī)同時(shí)運(yùn)行需要366720MHz的運(yùn)算能力。
對(duì)于內(nèi)存的計(jì)算:
高峰內(nèi)存使用量=物理內(nèi)存平均數(shù)×物理內(nèi)存的平均利用率峰值;
高峰內(nèi)存使用總量=同時(shí)運(yùn)行的虛擬機(jī)數(shù)×高峰內(nèi)存使用量
計(jì)算過程如下:
32768 MB×20%=6553.6MB
100×6 553.6MHz=655360MB 100臺(tái)虛擬機(jī)同時(shí)運(yùn)行需要655360MB的內(nèi)存容量。
1.4.2 主機(jī)數(shù)量計(jì)算
主機(jī)CPU規(guī)格
每臺(tái)主機(jī)的內(nèi)核總數(shù)=主機(jī)CPU數(shù)量×CPU核心數(shù);
每臺(tái)主機(jī)MHz總數(shù)=每臺(tái)主機(jī)的內(nèi)核總數(shù)×每個(gè)內(nèi)核MHz數(shù)
每臺(tái)主機(jī)CPU可用MHz數(shù)=主機(jī)CPU最高利用率×每臺(tái)主機(jī)MHz總數(shù)
計(jì)算過程如下:
2×8=1 6
3056MHz×16=48896MHz
80%×48896MHz=39117MHz
主機(jī)內(nèi)存規(guī)格
每臺(tái)主機(jī)內(nèi)存可用數(shù)=每臺(tái)主機(jī)內(nèi)存容量×最大使用率
計(jì)算過程如下:
32768 MB×80%=26215MB
以上計(jì)算過程中,保留20%的硬件資源用以應(yīng)對(duì)突發(fā)資源請(qǐng)求。
利用已經(jīng)計(jì)算出來的虛擬機(jī)資源總量和每個(gè)主機(jī)可以使用的資源量,可以從CPU和內(nèi)存兩個(gè)方面來計(jì)算需要的主機(jī)數(shù)量 (冗余N+1):
根據(jù)CPU計(jì)算需要的主機(jī)數(shù)量:
高峰CPU總使用量/每臺(tái)主機(jī)CPU可用MHz數(shù)=366720MHz/39117MHz=9.3,考慮進(jìn)位和冗余,需要的主機(jī)數(shù)量為11臺(tái)。
根據(jù)內(nèi)存計(jì)算需要的主機(jī)數(shù)量:
高峰內(nèi)存使用總量/每臺(tái)主機(jī)內(nèi)存可用數(shù)=655360MB/26215MB=24.9,考慮進(jìn)位和冗余,需要的主機(jī)數(shù)量為26臺(tái)。
結(jié)合以上計(jì)算結(jié)果,綜合得出需要26臺(tái)物理主機(jī)才能夠滿足同時(shí)運(yùn)行100臺(tái)虛擬機(jī)的要求。但是,考慮到CPU和內(nèi)存的利用率,這樣的方案和配置并不是最優(yōu)的,因?yàn)樵黾又鳈C(jī)的CPU、磁盤等硬件資源所花費(fèi)的資金,遠(yuǎn)遠(yuǎn)高于增加內(nèi)存的投入。所以,應(yīng)該改變主機(jī)的配置,單獨(dú)的增加內(nèi)存容量,用來優(yōu)化虛擬機(jī)方案。此案例中,將每臺(tái)主機(jī)的內(nèi)存從32G增加到128G,計(jì)算結(jié)果如下:
每臺(tái)主機(jī)的內(nèi)存容量:131072MB×80%=104857.6MB
根據(jù)內(nèi)存計(jì)算需要的主機(jī)數(shù)量為:
高峰內(nèi)存使用總量/每臺(tái)主機(jī)內(nèi)存可用數(shù)=655360MB/104857.6MB=6.25,慮進(jìn)位和冗余,需要的主機(jī)數(shù)量為8臺(tái)。
由此可以得出結(jié)論,在進(jìn)行虛擬化基礎(chǔ)規(guī)劃的時(shí)候,進(jìn)行容量規(guī)劃可以發(fā)現(xiàn)很多細(xì)節(jié),基于這些結(jié)果可以很好地對(duì)硬件的選擇進(jìn)行優(yōu)化。
一般情況下,千兆以太網(wǎng)交換機(jī)足以滿足虛擬機(jī)的負(fù)載流量,所以在網(wǎng)絡(luò)規(guī)劃中,并不存在容量的問題。但是,隨著虛擬機(jī)的不斷增多,在vSphere的管理下,需要考慮隔離流量等問題,如網(wǎng)絡(luò)管理、vMotion、容錯(cuò)、存儲(chǔ)和流量等。這些功能部署在擴(kuò)展應(yīng)用中,會(huì)增加網(wǎng)絡(luò)端口的數(shù)量,所以如何更優(yōu)地部署網(wǎng)絡(luò)端口數(shù)量是網(wǎng)絡(luò)規(guī)劃的重點(diǎn)。
一般采用vSwitch的方式,搭建虛擬交換機(jī)來滿足虛擬網(wǎng)絡(luò)端口的使用。結(jié)合虛擬交換機(jī)的端口聚合,足以滿足當(dāng)前需求。
在虛擬化開始階段運(yùn)行良好的基礎(chǔ)架構(gòu),隨著負(fù)荷的增加,性能會(huì)隨之降低。從存儲(chǔ)的角度看,單磁盤大容量已經(jīng)很普遍,但是它的運(yùn)算速度慢以及虛擬環(huán)境的存儲(chǔ)資源共享架構(gòu),會(huì)使得情況越來越糟。所以,做好虛擬化的存儲(chǔ)性能規(guī)劃相當(dāng)重要。
面對(duì)傳統(tǒng)的存儲(chǔ)架構(gòu),加上不同速度不同容量的磁盤,在滿足速度和容量的情況下,會(huì)導(dǎo)致滿足性能的同時(shí),浪費(fèi)大量的空間,究其原因就是采用RAID存儲(chǔ)無法有效利用存儲(chǔ)資源。利用虛擬存儲(chǔ)池和子LUN分層技術(shù),可以找到靈活的解決方案。
虛擬存儲(chǔ)池可以由大量不同速度、不同容量的磁盤組成。底層存儲(chǔ)池采用的RAID位于較低的一個(gè)層面上,以LUN形式交付給主機(jī)使用的大存儲(chǔ)池。子LUN分層技術(shù)做到負(fù)載均衡,將數(shù)據(jù)塊移動(dòng)到合適層次。不同的虛擬機(jī)存儲(chǔ)在不同的磁盤上,在性能和容量的選擇上更靈活,更合理。
整體設(shè)計(jì)不僅僅是決策和硬件的配置,還需要考慮到各方面因素,包括容量、性能、安全、管理、連續(xù)性和災(zāi)難恢復(fù)等。從規(guī)劃開始,伴隨著管理和維護(hù)的不斷進(jìn)行,設(shè)計(jì)一直貫穿其中。收集數(shù)據(jù)、分析數(shù)據(jù)、制作設(shè)計(jì)文檔、擴(kuò)展性考量,都是設(shè)計(jì)所面臨的不同階段的重要過程。
從資源角度講,不僅要考慮硬件的容量,還需要考慮管理因素,考量不同的基礎(chǔ)架構(gòu)的優(yōu)缺點(diǎn)。從存儲(chǔ)角度講,選擇支持多種協(xié)議的統(tǒng)一存儲(chǔ)解決方案,關(guān)鍵要素是靈活性和效率。
硬件的選擇關(guān)鍵要考慮滿足大部分的需求的同時(shí),能夠簡化結(jié)構(gòu)部署。
任何一種技術(shù),都有通用場(chǎng)合下應(yīng)該使用的特性,也有特殊場(chǎng)合下給特殊用途使用的功能。
在可用性方面,更主要的是考慮哪種接入控制策略:集群允許主機(jī)故障數(shù)目;作為故障切換空間容量保留的百分比;指定故障切換主機(jī)。
在vMotion方面,由于需要消耗很大的流量,所以盡量將vMotion流量隔離到獨(dú)立的網(wǎng)卡上;或者配置多網(wǎng)卡進(jìn)行vMotion在線遷移工作。
在DRS方面,選用全自動(dòng)的DRS實(shí)現(xiàn)負(fù)載均衡的工作方式。在存儲(chǔ)方面,包括空間利用率負(fù)載均衡和I/O延時(shí)負(fù)載均衡。在整體性能保證的前提下,進(jìn)行最優(yōu)選擇。
虛擬化基礎(chǔ)建設(shè)需要做大量的規(guī)劃,需要做詳細(xì)的容量規(guī)劃來明確基礎(chǔ)的硬件需求;需要明確解決方案中的需求和局限。在整個(gè)環(huán)境的部署中,還需要明確采用哪種合適的架構(gòu),對(duì)環(huán)境的要求 (空間、環(huán)境、制冷),是否提供冗余,是否提供安全性等因素。我們需要做出很多決策來給設(shè)計(jì)提供判斷依據(jù),這些決策會(huì)對(duì)整個(gè)項(xiàng)目的部署產(chǎn)生很大影響。開始階段的規(guī)劃越詳細(xì),基礎(chǔ)架設(shè)的結(jié)構(gòu)就越牢靠。