對(duì)硬盤參數(shù)進(jìn)行小調(diào)整,配合其它優(yōu)化措施,作很小努力就能使虛擬服務(wù)器的性能得到提升。
因?yàn)楦鞣N正當(dāng)理由,包括數(shù)據(jù)遠(yuǎn)程復(fù)制、簡(jiǎn)易的存儲(chǔ)資源管理,高度虛擬化的數(shù)據(jù)中心總是會(huì)選用存儲(chǔ)區(qū)域網(wǎng)絡(luò)(SAN)。但是有些企業(yè)仍保持虛擬機(jī)和數(shù)據(jù)存儲(chǔ)互相獨(dú)立,使它們?cè)趩蝹€(gè)服務(wù)器上運(yùn)行。這里有一些方法,可以用來在這類分布式下環(huán)境優(yōu)化存儲(chǔ)性能。
虛擬化服務(wù)器上的本地存儲(chǔ)性能
本地存儲(chǔ)所面臨的挑戰(zhàn)是:一個(gè)單獨(dú)的服務(wù)器能容納物理磁盤的空間始終有限。這意味著管理員可以將系統(tǒng)配置成:高容量、性能適度,或者高性能、容量適度。混合各種特性是可能的:例如,服務(wù)器只使用少量高性能磁盤,剩余盤位則使用高容量、低性能磁盤。但是你無法同時(shí)最大限度地提高容量和性能。在為服務(wù)器提供存儲(chǔ)部件之前,我們最好先了解清楚服務(wù)器的工作負(fù)載需求特點(diǎn)。
如果你重視性能,建議你留意本地驅(qū)動(dòng)器上的分區(qū)對(duì)齊狀況。分區(qū)對(duì)齊是新型硬盤驅(qū)動(dòng)器的特征,使用4KB扇區(qū)大小,而不是通常的512字節(jié)扇區(qū)。這就降低了每個(gè)扇區(qū)的數(shù)據(jù)開銷,使磁盤空間得到更有效利用。但是操作系統(tǒng)必須定位對(duì)齊磁盤扇區(qū),這樣磁盤上扇區(qū)的邊界和操作系統(tǒng)才能保持一致——否則磁盤必須重復(fù)讀寫更大的扇區(qū),這將降低磁盤性能。扇區(qū)正確對(duì)齊能增加磁盤系統(tǒng)的有效性能,對(duì)某些陣列類型(比如RAID 5)形成幫助。
大家應(yīng)該記得本地磁盤上的磁盤碎片可以成為一個(gè)問題,但是在SAN環(huán)境中這不是問題。碎片的產(chǎn)生源自于文件系統(tǒng)的工作方式。當(dāng)文件被擦除和重寫,新的數(shù)據(jù)會(huì)寫入到空閑空間,而這些空間是由被刪除或變化的文件組成的。這都是正常的文件操作,但是隨著時(shí)間推移,數(shù)據(jù)有在驅(qū)動(dòng)器上擴(kuò)散的傾向,而且會(huì)越來越糟。一個(gè)文件越分散,驅(qū)動(dòng)器找到所有文件片的難度就越大,執(zhí)行性能越低。如果發(fā)現(xiàn)驅(qū)動(dòng)器性能隨著時(shí)間增長(zhǎng)明顯變差,那就有必要對(duì)磁盤進(jìn)行碎片整理,重新排列文件,使文件數(shù)據(jù)塊變得連續(xù)。
虛擬化控制臺(tái)性能可能也對(duì)本地磁盤存儲(chǔ)任務(wù)敏感。例如,類似動(dòng)態(tài)擴(kuò)容、差分和快照等特征可能對(duì)本地磁盤性能有不利影響——但是又不得不用到這些功能,除非已經(jīng)使用了SAN存儲(chǔ)。如果本地服務(wù)器的負(fù)載需要基于磁盤的數(shù)據(jù)保護(hù),就必須使用其它的本地磁盤(或者SAN)來完成任務(wù)。例如,如果一個(gè)虛擬機(jī)存儲(chǔ)在磁盤1,在磁盤1進(jìn)行快照操作會(huì)明顯中斷虛擬機(jī)正常運(yùn)行,我們應(yīng)該嘗試使用磁盤2來保存快照,或者將快照發(fā)送到iSCSI SAN。