基于閃存的存儲(chǔ)能夠解決很多性能問題,尤其是由虛擬服務(wù)器環(huán)境所導(dǎo)致的問題。但閃存仍有很多神秘之處:它們可信嗎?哪種類型的閃存最適合虛擬環(huán)境?
閃存是一種內(nèi)存技術(shù),與RAM不同,在斷電時(shí)它仍舊可以保留所存儲(chǔ)的信息。盡管閃存在執(zhí)行讀寫操作時(shí)并不像RAM那樣快,但性能遠(yuǎn)遠(yuǎn)高于典型的硬盤。更為重要的是,訪問數(shù)據(jù)時(shí)幾乎不存在任何時(shí)間延遲。閃存技術(shù)非常適合隨機(jī)I/O,而虛擬服務(wù)器環(huán)境中恰恰存在大量的隨機(jī)I/O。
對(duì)閃存主要的關(guān)注點(diǎn)之一是其執(zhí)行寫操作的方式。閃存可以執(zhí)行的寫操作次數(shù)有限,這意味著閃存廠商需要開發(fā)復(fù)雜的控制器技術(shù),對(duì)寫入閃存模塊的方式進(jìn)行管理,確保每個(gè)閃存單元接收相同的寫請(qǐng)求。
目前有三種類型的閃存,耐久性各不相同。單階存儲(chǔ)單元(SLC)閃存在每個(gè)單元寫一位數(shù)據(jù),耐久性最好。多階存儲(chǔ)單元(MLC)閃存在每個(gè)單元寫多位數(shù)據(jù),耐久性排名第二。三階存儲(chǔ)單元(TLC)在每個(gè)單元寫三位數(shù)據(jù),耐久性最差。每個(gè)單元寫入的數(shù)據(jù)位越多意味著每個(gè)單元的容量越高,每GB的成本越低,同樣意味著平均壽命更短。
SLC是數(shù)據(jù)中心標(biāo)準(zhǔn),但控制器技術(shù)的不斷優(yōu)化使得MLC被大多數(shù)用例所接受。尤其是在采用了某種方式的數(shù)據(jù)保護(hù),比如鏡像或者RAID或者使用了閃存層時(shí)。
了解閃存的幾種規(guī)格
就在虛擬環(huán)境中使用閃存而言,通常有三種規(guī)格可供選擇。
最常見的是固態(tài)硬盤,其與硬盤的規(guī)格相同。這類閃存可以很容易地安裝在服務(wù)器內(nèi)部或者存儲(chǔ)陣列內(nèi)部,直接使用HDD的驅(qū)動(dòng)器插槽即可。
SSD的不足之處在于性能、密度。在SSD中放置閃存意味著所有的存儲(chǔ)I/O都是通過(guò)SCSI堆棧處理的。與其他方式相比,會(huì)增加一些延遲。盡管如此,這些系統(tǒng),尤其是陣列,仍舊可以交付成千上萬(wàn)個(gè)IOPS,因此很少會(huì)受到需要使用SCSI協(xié)議的SSD的影響。密度同樣受到了忽視,閃存SSD廠商已經(jīng)采用了獨(dú)特的方式在硬盤中塞入盡可能多的閃存,與同等的HDD相比,SSD通常提供了更大的存儲(chǔ)容量。
就某些環(huán)境而言,SCSI所增加的延遲存在問題,盡管通常我們所指的并不是虛擬環(huán)境。當(dāng)延遲是一個(gè)關(guān)注點(diǎn)時(shí),可以選擇PCIe SSD,將閃存設(shè)備集成到PCIe板卡上。這通常避免了標(biāo)準(zhǔn)的存儲(chǔ)協(xié)議堆棧而且能夠在本地訪問CPU。但用于三大最為流行的虛擬環(huán)境的驅(qū)動(dòng)器都是很普通的。
PCIe應(yīng)該被虛擬環(huán)境視為RAM內(nèi)存的一個(gè)擴(kuò)展。因?yàn)镻CIe具備低延遲特性,能夠提供性能非常高的虛擬內(nèi)存池,這樣一來(lái)動(dòng)態(tài)RAM用于存儲(chǔ)換出的頁(yè)面幾乎對(duì)性能沒有任何影響。
另一種正在變得流行的閃存是內(nèi)存總線閃存。內(nèi)存總線閃存安裝在服務(wù)器內(nèi)存插槽中而不是PCIe總線中。內(nèi)存總線閃存看起來(lái)像是DRAM雙排直插內(nèi)存模塊,但實(shí)際上包含的是閃存。這種實(shí)現(xiàn)方式的延遲甚至比PCIe SSD還要低而且在訪問CPU時(shí)提供了私有、高性能路徑。內(nèi)存總線閃存在虛擬環(huán)境中應(yīng)用有限,但將內(nèi)存總線閃存用作虛擬交換內(nèi)存大有裨益,當(dāng)難于使用PCIe插槽時(shí),內(nèi)存總線閃存同樣是刀片、1U以及2U服務(wù)器的理想選擇。