合理選擇磁盤(pán) 提升虛擬機(jī)性能
虛擬化通常關(guān)注于核心的計(jì)算元素比如處理器和內(nèi)存,但是I/O以及磁盤(pán)存儲(chǔ)同樣對(duì)虛擬機(jī)的總體性能以及響應(yīng)能力具有重要的影響。磁盤(pán)存儲(chǔ)以及I/O甚至更為關(guān)鍵,因?yàn)榕c磁盤(pán)相關(guān)的功能往往對(duì)處理任務(wù)的性能影響更大。急于提升虛擬機(jī)性能的虛擬化管理人員應(yīng)該投入精力優(yōu)化磁盤(pán)操作性能。
提升虛擬機(jī)性能的磁盤(pán)選項(xiàng)
在虛擬化中,hypervisor將工作負(fù)載從運(yùn)行在底層的物理硬件中抽象出來(lái),允許快速分配并共享計(jì)算資源,遷移工作負(fù)載。盡管hypervisor以及與虛擬化兼容的處理器性能開(kāi)銷(xiāo)很小,但是虛擬化層的存在卻對(duì)性能有影響。
當(dāng)磁盤(pán)性能對(duì)工作負(fù)載至關(guān)重要時(shí),某些管理員可能會(huì)選擇以直通模式配置LUN,允許虛擬機(jī)的操作系統(tǒng)繞過(guò)hypervisor與直接LUN進(jìn)行通信。例如,Windows服務(wù)器虛擬機(jī)可能使用直通模式繞過(guò)Hyper-V直接訪(fǎng)問(wèn)磁盤(pán),這對(duì)SQL Server數(shù)據(jù)庫(kù)的性能有些許提升。然而,由于客戶(hù)操作系統(tǒng)(采用直通模式)以及hypervisor試圖同時(shí)訪(fǎng)問(wèn)磁盤(pán),那么hypervisor必須被配置為忽略直通LUN。
直通模式存在的問(wèn)題是其不被某些重要的虛擬化功能比如虛擬機(jī)快照或者集群所支持。因此,虛擬機(jī)在實(shí)際上可能會(huì)受益于虛擬化提供的各種功能特性而非采用直通模式所帶來(lái)的處于邊緣地位的性能提升。管理員需要評(píng)估虛擬機(jī)的需求并確定直通模式的適宜性。
除直通模式外,Hyper-V以及其他hypervisor還提供了其他磁盤(pán)存儲(chǔ)選項(xiàng)。例如,當(dāng).VHD文件被創(chuàng)建時(shí),大小固定的磁盤(pán)將分配所有的數(shù)據(jù)塊。一旦被創(chuàng)建,大小固定的磁盤(pán)就不能夠進(jìn)行調(diào)整了。然而,動(dòng)態(tài)擴(kuò)展磁盤(pán)從一開(kāi)始創(chuàng)建的就是沒(méi)有數(shù)據(jù)塊的.VHD文件,當(dāng)數(shù)據(jù)寫(xiě)入到.VHD文件中后磁盤(pán)空間才會(huì)被分配出去。這和精簡(jiǎn)配置類(lèi)似,盡管在邏輯上創(chuàng)建了一塊磁盤(pán),但實(shí)際的磁盤(pán)空間只有數(shù)據(jù)寫(xiě)入時(shí)才會(huì)被用到。
差分磁盤(pán)是一種特殊的動(dòng)態(tài)擴(kuò)展磁盤(pán)類(lèi)型。其設(shè)計(jì)思路是父磁盤(pán)擁有固定的鏡像而且差分磁盤(pán)與父磁盤(pán)相關(guān)聯(lián),因此寫(xiě)入到磁盤(pán)的數(shù)據(jù)被存放在差分磁盤(pán)而非.VHD文件中。讀請(qǐng)求首先檢查差分磁盤(pán)的.VHD文件,如果沒(méi)有更改,就會(huì)讀父.VHD文件。當(dāng)需要標(biāo)準(zhǔn)化的磁盤(pán)鏡像而且回滾功能很重要時(shí),差分是一個(gè)不錯(cuò)的主意,但是管理員在維護(hù)父子磁盤(pán)配置時(shí)可能會(huì)面臨挑戰(zhàn)。
合理分配磁盤(pán)空間
磁盤(pán)空間分配不存在唯一的標(biāo)準(zhǔn),因?yàn)楹芏嘧兞靠赡軙?huì)影響計(jì)算資源的分配。在理想情況下,運(yùn)行在虛擬機(jī)內(nèi)的工作負(fù)載需要的計(jì)算資源應(yīng)該與部署在物理服務(wù)器上沒(méi)有什么兩樣。然而,虛擬化依賴(lài)于軟件hypervisor,而且運(yùn)行hypervisor所需要的額外的計(jì)算資源將會(huì)為大多數(shù)虛擬化工作負(fù)載增加一些開(kāi)銷(xiāo)。例如,微軟建議虛擬工作負(fù)載應(yīng)該比在物理環(huán)境中運(yùn)行時(shí)多獲得5%到10%的計(jì)算資源。
然而,需要指出的是以上只是一條不應(yīng)該被嚴(yán)格執(zhí)行的指南,因?yàn)椴煌瑧?yīng)用的資源需求、性能需求、用戶(hù)流量模式以及負(fù)載增長(zhǎng)預(yù)期都不相同。管理員在分配磁盤(pán)前應(yīng)該仔細(xì)考慮上述因素,在開(kāi)發(fā)測(cè)試環(huán)境中進(jìn)行基準(zhǔn)測(cè)試后再在生產(chǎn)環(huán)境進(jìn)行部署。
此外,存儲(chǔ)價(jià)格昂貴,存儲(chǔ)過(guò)度分配將增加企業(yè)的運(yùn)營(yíng)成本。管理員經(jīng)常會(huì)使用動(dòng)態(tài)擴(kuò)展磁盤(pán)或者其他精簡(jiǎn)配置技術(shù)來(lái)預(yù)留磁盤(pán)空間,或者使用重復(fù)數(shù)據(jù)刪除技術(shù)移除重復(fù)的內(nèi)容并降低存儲(chǔ)容量需求。
使用物理磁盤(pán)提升虛擬機(jī)性能的指導(dǎo)方針
存儲(chǔ)性能——無(wú)論是虛擬應(yīng)用還是物理應(yīng)用——都始于在物理層進(jìn)行良好的設(shè)計(jì),部署性能更好的存儲(chǔ)設(shè)備將有利于提升虛擬機(jī)存儲(chǔ)性能。磁盤(pán)選擇通常涉及磁盤(pán)大小、速度、主軸以及數(shù)據(jù)布局。
例如,選擇2.5寸硬盤(pán)而非體積更大的3.5寸硬盤(pán)。硬盤(pán)體積越小,其盤(pán)面也就越小,旋轉(zhuǎn)速度更快,延遲更小也就是尋道時(shí)間更短。小磁盤(pán)查找數(shù)據(jù)的速度更快、功耗更低,能夠降低數(shù)據(jù)中心存儲(chǔ)的能耗。
需要考慮的另一個(gè)因素就是磁盤(pán)組的構(gòu)成。磁盤(pán)組的性能往往更好因?yàn)閿?shù)據(jù)分散在多個(gè)磁盤(pán)上,可以同時(shí)在多個(gè)磁盤(pán)上查找數(shù)據(jù)能夠提升性能。除整合磁盤(pán)外,RAID 5或者RAID 6磁盤(pán)組能夠支持多個(gè)軸,并在存儲(chǔ)陣列或者服務(wù)器內(nèi)提供全面的數(shù)據(jù)保護(hù)。
如果可能的話(huà),采用動(dòng)態(tài)數(shù)據(jù)分布方案將自動(dòng)在最外側(cè)的磁道訪(fǎng)問(wèn)最重要或者訪(fǎng)問(wèn)最為頻繁的數(shù)據(jù)。請(qǐng)記住整個(gè)磁盤(pán)盤(pán)片以相同的速度旋轉(zhuǎn),因此最外側(cè)的磁道實(shí)際上要比內(nèi)側(cè)磁道的讀寫(xiě)速度更快。盡管整個(gè)磁盤(pán)的速度仍舊受磁盤(pán)緩存大小的限制,但是動(dòng)態(tài)數(shù)據(jù)分布能夠更快速地訪(fǎng)問(wèn)最重要或者最為頻繁的數(shù)據(jù)。
虛擬機(jī)依賴(lài)存儲(chǔ),但是存儲(chǔ)系統(tǒng)的限制及瓶頸將顯著影響虛擬機(jī)性能。使用直通磁盤(pán)能夠提升性能,但是因此丟掉虛擬化相關(guān)的功能卻不值得。和物理部署相比,虛擬機(jī)可能需要額外的存儲(chǔ),但是準(zhǔn)確的存儲(chǔ)容量需求***通過(guò)親自測(cè)試確定,結(jié)合現(xiàn)有的技術(shù)設(shè)計(jì)以緩解對(duì)存儲(chǔ)的需求。