虛擬環(huán)境下使用SSD支持內(nèi)存過(guò)量秘法
現(xiàn)在的應(yīng)用程序就像是內(nèi)存吞噬者,占據(jù)消耗著大量的內(nèi)存,因此內(nèi)存往往會(huì)成為整個(gè)服務(wù)器系統(tǒng)中最緊缺的部件。而在一個(gè)虛擬化的服務(wù)器環(huán)境中,缺乏足夠的物理內(nèi)存甚至還會(huì)影響到整個(gè)系統(tǒng)的投資回報(bào)率,它成了高密度計(jì)算系統(tǒng)木桶中的那塊短板。
個(gè)中原因在于,每個(gè)處理器插槽現(xiàn)在支持不斷增長(zhǎng)的內(nèi)核數(shù)量,為了最大化效率,每臺(tái)主機(jī)都必須平衡各虛擬機(jī)所用的資源。當(dāng)某臺(tái)主機(jī)的內(nèi)存資源開(kāi)始緊缺,大量的虛擬機(jī)的運(yùn)行都會(huì)受限,盡管處理器等其它資源還很充沛。
在虛擬環(huán)境中應(yīng)用內(nèi)存過(guò)量使用技術(shù)可以緩解這一問(wèn)題,而通過(guò)SSD來(lái)處理內(nèi)存過(guò)量使用的成本效益更遠(yuǎn)高于機(jī)械磁盤(pán)。
我們來(lái)檢驗(yàn)一下內(nèi)存過(guò)量使用技術(shù)如何解決服務(wù)器硬件中的內(nèi)存限制,以及固態(tài)磁盤(pán)驅(qū)動(dòng)器(SSD)技術(shù)如何更好地解決這個(gè)問(wèn)題。
服務(wù)器硬件中物理內(nèi)存的缺陷
服務(wù)器內(nèi)部的內(nèi)存有兩種問(wèn)題:可用的內(nèi)存插槽數(shù)量以及高密度雙列直插式存儲(chǔ)模塊(DIMM)的成本。虛擬化環(huán)境下的服務(wù)器硬件要求海量?jī)?nèi)存以支持其上面運(yùn)行的數(shù)量眾多的虛擬機(jī)。最新版本的vSphere可以在一臺(tái)主機(jī)上支持高達(dá)1TB的內(nèi)存容量以及每個(gè)虛擬機(jī)最高255GB的內(nèi)存容量。而服務(wù)器內(nèi)部的內(nèi)存插槽數(shù)量限制了單臺(tái)設(shè)備的最大內(nèi)存容量,而是用高密度的DIMM則需要很高的成本。即便你目前有較多的內(nèi)存插槽,假設(shè)你要擴(kuò)展至最大內(nèi)存容量,你必須使用大于4GB的DIMM.而8GB或16GB的服務(wù)器DIMM價(jià)格區(qū)間在400美金到1,300美金每根左右,價(jià)格差取決于速率,檔次和一些其它因素。因此,如果你的虛擬服務(wù)器主機(jī)要配備128GB的內(nèi)存,那么光內(nèi)存的價(jià)格就可達(dá)6,000美金或20,000美金。
vSphere(不過(guò)Hyper-V不支持)具有內(nèi)存過(guò)量使用技術(shù),其使得用戶(hù)的VMware虛擬機(jī)可以使用超過(guò)物理主機(jī)實(shí)際的內(nèi)存容量。這可以使你配置更少的內(nèi)存,從而降低內(nèi)存成本。而且在服務(wù)器已經(jīng)配置最大DIMM內(nèi)存而其上運(yùn)行的虛擬機(jī)又要求更多內(nèi)存時(shí),這種技術(shù)也相當(dāng)有用。通過(guò)內(nèi)存過(guò)量使用技術(shù),即便物理主機(jī)只有8GB的內(nèi)存,而其上運(yùn)行的一臺(tái)虛擬機(jī)可以配置高達(dá)255GB的內(nèi)存。當(dāng)一臺(tái)虛擬上線(xiàn)時(shí),主機(jī)通過(guò)使用外部擴(kuò)展內(nèi)存,并不是物理內(nèi)存,而是在磁盤(pán)上創(chuàng)建的一種特別的虛擬vswp文件。所創(chuàng)建的vswp文件大小等于分配給虛擬機(jī)的內(nèi)存減去虛擬機(jī)啟動(dòng)時(shí)的物理內(nèi)存預(yù)留量(默認(rèn)值是0)。比如一個(gè)消耗16GB內(nèi)存的虛擬機(jī)有4GB的預(yù)留,那么就會(huì)相應(yīng)創(chuàng)建12GB的。vswp文件。這些文件為虛擬機(jī)創(chuàng)建后僅僅在物理主機(jī)消耗盡所有物理內(nèi)存后才會(huì)使用。
雖然內(nèi)存過(guò)量使用技術(shù)是一項(xiàng)非常優(yōu)秀的特性,但也有個(gè)最根本的問(wèn)題:機(jī)械磁盤(pán)的速率較RAM而言是在慢了太多。其結(jié)果是,當(dāng)虛擬機(jī)開(kāi)始使用磁盤(pán)作為內(nèi)存后,其性能直線(xiàn)下降--而這恰恰是我們?cè)谠S多情況下需要避免的。根據(jù)各磁盤(pán)總的工作狀態(tài),有時(shí)一個(gè)虛擬機(jī)遷移到硬盤(pán)后就呈現(xiàn)出幾乎是宕機(jī)的狀態(tài)。
通過(guò)SSD解決內(nèi)存過(guò)量使用技術(shù)中的性能問(wèn)題
SSD提供了一個(gè)全新的解決方案以在很大程度上解決了上述磁盤(pán)技術(shù)中遇到的性能問(wèn)題。一塊15,000rpm轉(zhuǎn)速的SAS驅(qū)動(dòng)器典型的吞吐速率為180 IOPS,而相對(duì)一塊SSD的吞吐量則高得多,一塊3Gbps SATA SSD驅(qū)動(dòng)器可以提供至少5,000 IOPS的寫(xiě)速率和20,000 IOPS的讀速率。通過(guò)存儲(chǔ)中SSD作為虛擬機(jī)的swap文件使得應(yīng)用內(nèi)存過(guò)量使用時(shí)性能不會(huì)受到很大影響。雖然SSD的性能較RAM還有一定的距離,但比起機(jī)械磁盤(pán)而言,它快出很多。
SSD基本上可以變成服務(wù)器中的另一層RAM,提供給虛擬機(jī)。vSphere中的內(nèi)存資源控制可以保障或限制虛擬機(jī)使用的最大物理內(nèi)存,你可以在虛擬機(jī)切換到磁盤(pán)時(shí)很好地加以控制。設(shè)置內(nèi)存預(yù)留可以確保每臺(tái)虛擬機(jī)都可以有一定的物理內(nèi)存;而設(shè)置內(nèi)存閾值可以限制每臺(tái)虛擬機(jī)可以使用的物理內(nèi)存。這使得你可以確保關(guān)鍵的虛擬機(jī)可以訪(fǎng)問(wèn)到最快速的物理內(nèi)存,而次重要的虛擬機(jī)可以在物理內(nèi)存耗盡后轉(zhuǎn)向使用SSD層。
RAM和SSD的成本比較
為了更好地說(shuō)明使用SSD用于內(nèi)存過(guò)量使用時(shí)的成本優(yōu)勢(shì)。我們看一下2種HP服務(wù)器不同配置的價(jià)格比較--第一臺(tái)配置192GB的內(nèi)存和一般的磁盤(pán),而第二臺(tái)配置64GB內(nèi)存和SSD
配置一:HP DL385 G7(2顆12內(nèi)核處理器,192GB內(nèi)存,72GB 15,000rpmSAS磁盤(pán));成本:$15,065
配置二:HP DL385 G7(2顆12內(nèi)核處理器,64GB內(nèi)存,120GB SSD磁盤(pán));成本:$11,141
第一臺(tái)的配置中有192GB的物理內(nèi)存;72GB的磁盤(pán)對(duì)于虛擬化swap文件來(lái)說(shuō)實(shí)在是太慢了。而第二臺(tái)配置64GB的物理內(nèi)存和額外120GB的SSD存儲(chǔ)用于虛擬化swap文件。目前HP 60GB SSD驅(qū)動(dòng)器的價(jià)格約為1,000美金;120GB的約為2,000美金。其結(jié)果是使用SSD作為RAM的替代品,在這個(gè)配置中可以降低至少4,000美金的成本。而且SSD的價(jià)格正在穩(wěn)步下降,容量亦在逐步提升,隨著系統(tǒng)使用時(shí)間增加,應(yīng)用SSD將帶來(lái)更多好處。
除了使用SSD存儲(chǔ)來(lái)替代RAM以外,你還可以使用SSD來(lái)補(bǔ)充RAM.上述HP服務(wù)器的配置中配置了總共24顆處理器內(nèi)核,約可以支持超過(guò)50個(gè)虛擬機(jī)。不過(guò),服務(wù)器可以提供的最大內(nèi)存支持僅有256GB.你可以增加SSD驅(qū)動(dòng)器來(lái)為虛擬機(jī)提供額外可用內(nèi)存,以增加每臺(tái)物理服務(wù)器的集成密度,提高服務(wù)器的處理器利用率。
不論在內(nèi)存層面或是在存儲(chǔ)層面應(yīng)用,SSD技術(shù)較機(jī)械磁盤(pán)提供了極大的性能提升,使得你在架構(gòu)虛擬環(huán)境中的服務(wù)器時(shí)有了更多的選擇。使用SSD來(lái)取代RAM只是許多創(chuàng)新想法中的一個(gè)。其提供了較RAM而言更高的性?xún)r(jià)比,而且可以應(yīng)用在任何規(guī)模的虛擬化解決方案中以提供額外的內(nèi)存容量。虛擬化要求物理服務(wù)器資源的平衡使用,以避免任何性能瓶頸,并最大化利用虛擬環(huán)境中昂貴的服務(wù)器硬件成本。SSD所提供的這種資源方式確保資源使用平衡并提供需要大內(nèi)存支持的虛擬機(jī)可以獲取其所需的內(nèi)存資源。