iThome

固態儲存的熱潮無法抵擋,現在的重點早已不是要不要導入Flash固態儲存,而是在於要以甚麼樣的型式來應用Flash儲存。

Flash記憶體的應用型態可以有這3種組合:

1. 100%使用Flash記憶體,完全捨棄機械式硬碟。

2. 完全不使用Flash記憶體,100%使用機械式硬碟。

3. 混合使用Flash記憶體與傳統機械式硬碟。

現在幾乎已經沒有人會完全否定Flash記憶體的價值,或多或少都會認為有使用Flash記憶體的必要性,剩下的選擇就是(1)或(3),「全快閃(All Flash)」還是「混合使用Flash與硬碟」哪一種架構更合乎企業需求。

憑藉著超凡的效能表現,純粹由Flash記憶體構成的全快閃陣列,是近來企業儲存應用中最受矚目的一個產品領域,幾乎成了Flash儲存熱潮的代名詞。

僅僅幾年以前,多數人都認為全快閃陣列仍是一種過於昂貴、可望而不可及的產品,效能數據雖然令人炫目,但成本高昂缺乏實際導入的誘因。不過隨著Flash記憶體成本以每年降低20%的比例持續下降,壓縮、重複資料刪除等技術的應用也有效提高了全快閃陣列的空間利用效率,大幅改善了企業對全快閃陣列的接受程度,甚至連「全固態儲存的資料中心」,似乎也不再是可望而不可及的夢想。

全面固態儲存化的障礙

儘管全快閃架構的聲勢鋪天蓋地,Flash儲存應用的成熟度與接受度也有了大幅提高,但由於種種先天、後天障礙的存在,「全面固態儲存化」的理想依舊不可能在近期內實現,甚至可能永遠不會到來。

企業儲存應用首要的四大課題,是效能、規模、可靠性與經濟性。

Flash陣列能滿足高效能需求固然無庸置疑,儲存規模目前也已不是問題,一些高階儲存產品甚至能支援多達數千臺SSD的全快閃組態,但經濟性仍一直是Flash儲存應用的最大爭議,另外Flash記憶體寫入壽命限制所產生的可靠性與系統維護疑慮,目前也還有一些問題尚未完全解決。

 ●與硬碟間的成本差距難以拉近

如果Flash記憶體和硬碟一樣便宜,又沒有壽命與可靠性疑慮,那麼我們就可放心地全面以Flash取代硬碟了,可惜的是,現實並非如此理想。

固然Flash記憶體的成本雖然一直下降,但硬碟的成本同樣也在下降,兩者之間的單位容量成本仍持續維持10、20倍以上的差距,迄今還遠遠沒有達到可無視這個價格差距,全面採用Flash記憶體的時候。

就3、5年內的可見未來而言,MLC Flash SSD的成本,可能會降低到與低容量的1萬轉、1.5萬轉高轉速硬碟接近的層次,但與大容量低轉速硬碟(7200轉或更低)相比,價格差距仍沒有大幅拉近的可能。

所以我們可以預期,SSD近期內應該就會完全取代「高轉速硬碟」,但在可見的未來,尚沒有取代「全部硬碟」的可能性。

 ●SSD寫入負載均衡的副作用

為因應NAND Flash記憶體寫入壽命有限的問題,現在的企業級SSD或Flash陣列都採用了寫入負載均衡機制,將寫入負載分散由陣列中的全部SSD、或SSD中的全部Flash記憶體顆粒來共同承擔,藉此抑制個別Flash記憶體的過度磨耗,再搭配預留高比例未使用備用區塊的超額容量配置(over-provisioning),從而達到延長壽命的目的,但這卻也連帶出現意想之外的副作用。

寫入壽命固定的SSD,將隨著寫入壽命的損耗以可預期的型式逐漸失效,在使用寫入負載均衡的情況下,同一系統中的全部SSD是將會同步地一起損耗與老化,很可能會同時到達壽命而一起失效,為了避免陣列資料損毀,必須在SSD到達寫入壽命末期時及時替換,但問題在於:由於各SSD將會同時進入寫入壽命末期,所以到時必須一次更換整個陣列全部十幾臺或數十臺SSD,這不僅會給維護成本將帶來很大壓力,很可能還會出現需要進行資料遷移的問題。

反之,硬碟由於是隨機性的失效,就機率來說,多臺硬碟同時失效的情況反倒不那樣容易出現,出現損壞時大多是個別1、2臺硬碟的問題,只更換1、2臺硬碟對企業來說,便容易的多,不會給營運成本或系統服務帶來太大衝擊。

 ●應用面向狹窄與管理孤島

由於單位容量成本依舊相當高昂,全快閃陣列都是訴求給那些高I/O需求的關鍵應用,如VDI、高交易資料庫等使用,而非訴求作為企業任何應用都可普遍使用的儲存設備。SSD相對昂貴的單位容量成本,先天便決定了全快閃陣列不是任何應用都可隨意使用的一項設備,也不可能完全取代企業機房中既有的傳統磁碟陣列。

對企業來說,即使導入了全快閃陣列,整個機房中會實際使用全快閃陣列的應用也只占很小一部分,用戶還是需要傳統硬碟式磁碟陣列,來滿足非關鍵應用的一般儲存需求,這也讓全快閃陣列成了機房中專供少數應用使用的「孤島」,管理既不與其他儲存設備兼容,儲存資源也無法與其他儲存設備共享。

 ●並非任何情境都有效能優勢

高效能是SSD最大優勢,卻並非任何存取情境中都擁有遠超硬碟的高效能,隨機I/O效能確實遠超硬碟,但循序I/O就沒有這樣大的優勢,尤其是循序寫入的效能,相對於機械式硬碟更沒有優勢可言。對於循序存取居多的環境,使用SSD便太昂貴了。

 ●缺少足夠的進階資料服務應用

除了提供儲存空間外,企業級儲存設備還必須提供各式各樣的資料服務功能,如快照、Clone、同步/非同步遠端複製、加密、一寫多讀(WORM)等等,還需提供搭配前端VMware、Oracle等主要應用程式平臺的附屬支援功能,來因應資料保護、法規遵循與測試開發等非線上存取類型的需求。

現有的傳統磁碟陣列產品經過多年發展後,資料服務軟體功能都已十分成熟、完整,相較下,歷史短暫、這幾年才興起的全快閃陣列就非如此,資料服務功能的完整性仍無法與傳統磁碟陣列相比,某些全快閃陣列甚至完全沒有提供資料服務功能。導入全快閃陣列的企業,或者只能暫時放棄在全快閃陣列上使用部份資料服務,或者就是得搭配第三方產品來提供類似的功能。

混合架構興起--按需配置儲存資源

既然全快閃架構在成本、壽命與資料服務方面仍未臻理想,而傳統磁碟陣列亦有隨機I/O效能低落的先天缺陷,那麼顯而易見的解決辦法,便是結合SSD與硬碟兩者,這也是混合式陣列產品興起的初衷。

混合式陣列是一種「按需配置」原則的應用-依前端應用的I/O需求特性,分別給予不同性質的儲存資源,低延遲、高隨機性的I/O需求,給予SSD的資源;只需要儲存空間、對效能沒有特別要求的I/O需求,則給予硬碟的資源。

實際環境中通常只有一小部份應用,會需要低延遲、高隨機效能的I/O服務,如果不分應用緊要與否、一律給予SSD資源,顯然不合成本效益。

但傳統的全硬碟配置也已不敷使用,傳統硬碟雖然足以應付一般應用,但受先天架構所限,必須透過組成大規模陣列的笨拙方式,才能拼湊出關鍵應用所需的高隨機I/O效能,為了一小部份關鍵應用的高I/O需求,往往必須耗費數十臺甚至上百臺硬碟組成陣列,即便滿足了I/O效能,卻也耗費了大量空間與電力,顯然也不是合乎效益的做法。

因此為了兼顧效能與成本,同時使用SSD與傳統硬碟的混合儲存架構,才是當前IT環境最合理的做法,在儲存設備中混用小比例的SSD,即足以因應一小部份關鍵應用的高I/O需求,其餘應用則透過傳統硬碟來提供儲存服務。

兩種混合式架構--自動分層與快取

同時混用SSD與硬碟的混合式儲存產品,可以依Flash裝置在系統中所處的地位與作用,分為自動分層式與快取式兩種型態。

就硬體組成來看,自動分層式與快取式的混合架構產品大致是一樣的,都是在儲存設備機箱中同時混插了SSD與硬碟,區別在於SSD在整個系統中扮演的是甚麼角色-是作為與硬碟並列的另一個儲存層 ?還是作為介於硬碟與DRAM之間的輔助快取記憶體 ?

兩種架構最大差別在於:自動分層架構中的SSD,是和硬碟一樣可供Volume與LUN使用的空間;快取架構中的SSD,則是獨立於Volume與LUN之外,專門做為讀取快取或寫入緩衝區的獨立空間。

 ●分層式的混合式架構

也就是將SSD作為與硬碟並列的儲存層,構成一個獨立的RAID群組,與硬碟構成的RAID群組共同組成具有不同效能-成本特性的數個儲存分層,然後讓系統建立跨儲存層的Volume或LUN,再透過自動分層功能,視各資料區塊的存取頻繁程度定期執行遷移作業,將存取頻繁的「熱資料」遷移到高速的SSD層,其他很少存取的「冷資料」遷移到低速大容量的硬碟層,從而達到按需分配儲存資源的效果。

 ●Flash快取式的混合架構

透過大容量的SSD作為輔助DRAM快取記憶體的第二層快取記憶體,藉由SSD的空間來大幅擴大快取記憶體容量,藉此減少存取底層硬碟的機率。

即使是當前最高階的儲存設備,一般最多也只提供1、2TB等級的DRAM快取記憶體,由於成本高昂,實際環境中的DRAM快取配置容量,往往遠低於前述數字。

而藉由SSD所建立的輔助快取記憶體,即使是中低階儲存設備,也輕易地擁有數百GB甚至數TB的快取記憶體空間,儘管SSD的效能遠不如DRAM,不過SSD快取能夠以量取勝,透過增大快取容量來達到提高快取命中率的目的。

目前的Flash快取技術又可分為「讀快取」與「讀+寫快取」兩種類型,大多數Flash快取都是只對讀取I/O作用的「讀快取」類型,少數則是同時支援讀取快取與寫入緩衝的「讀+寫快取」類型,可同時對讀取與寫入I/O提供作用。

理論上,在讀快取運作下,存取較頻繁、讀取機率最高的資料會被快取到快取區內。

寫入快取則能透過SSD緩衝區先行承接所有寫入I/O,寫入I/O所代表的新增資料或資料異動,也都是最需要優先處理的資料區塊。因此透過SSD快取亦能達到儲存資源按需分配的效果,藉由快取讓SSD空間優先用於那些最緊要的I/O要求。

 ●自動分層vs.快取

有少數儲存產品可同時支援分層與快取兩種Flash應用,如EMC的VNX,不過多數產品都只提供其中一種,所以用戶必須從中選擇一種適合自己的架構。

無論哪一種架構,基本原則都是在於透過高速的SSD來提供「效能」,並搭配大容量低成本的硬碟來提供「容量」,最終目的同樣都是透過結合SSD與傳統硬碟兩種儲存裝置,來達到兼顧成本與效能的目的。

不過由於兩種架構使用SSD的方式不同,因而特性也有異。

以自動分層技術來說,加速的效果很明確,只要熱資料被搬移到SSD層,就能享有SSD的高效能。缺點則是反應周期較長,無法即時回應系統存取行為的變化,大多數自動分層儲存技術都是以24小時為作業周期,也就是每隔24小時,才會針對系統存取行為重新分配、遷移各資料區塊所處的儲存分層,然後I/O加速才會生效。另外自動分層技術的政策設定也相對比較複雜。

快取則有截然不同的特性,快取幾乎不需要任何政策設定,完全依靠快取演算法來運作,用戶沒有什麼管理負擔。快取的反應速度也遠高比自動分層技術,以讀取快取來說,只要資料被讀取過一次、在快取演算法運作下若資料被快取到SSD快取區,後續讀取I/O如果命中快取,便可發揮快取加速的效果,最快只需要間隔1個I/O循環就能回應系統存取行為的變化。如果是寫入快取,則是由SSD快取區直接承接寫入I/O,可即時發揮SSD的高速效益。

但讀取快取能否發揮加速效果,完全視快取是否命中而定,加速效果較不明確,不同前端應用形態與存取行為,所得到的快取命中效果,差異非常大,某些情況下幾乎很難有快取命中,此時讀取快取便無法發揮I/O加速效果。而就寫入快取來說,效果則會受可用緩衝空間大小的影響,當SSD寫入緩衝區被填滿後,便需進行費時的資料區塊抹寫作業,才能承載新資料的寫入。

總的來看,自動分層技術在任何存取形態下,都能發揮加速I/O的作用,但運作反應比較慢,當資料存取頻繁程度的冷熱發生變化時,得等到每24小時一次的重新遷移資料區塊分層的時間周期到來後,才會更動資料區塊的分層,從而達到加速I/O的效果。

至於SSD快取雖然有著可即時反應的優勢,但對加速I/O的效用,會隨著存取形態的不同而有很大差異。讀取快取完全依靠命中快取來達到I/O加速效果,在某些環境下(如大區塊資料連續存取),幾乎很難有快取命中,連帶也無法產生I/O加速效果。因此Flash記憶體快取應用能發揮加速效果的場合,是有限制的,通常是小區塊存取為主的環境。寫入快取由於是依靠SSD緩衝區來承接所有寫入I/O,如果遭遇SSD不擅長的存取情境,例如循序的寫入I/O或SSD緩衝區遭到填滿時,就無法發揮I/O加速效果。

另一方面,雖然許多SSD快取功能都只提供讀取快取功能,而不支援寫入快取功能,所以只有讀取作業能得到快取的助益,寫入作業則否。不過在一個讀、寫混合的存取環境中,若能透過Flash快取記憶體加速讀取效能,則底層磁碟的負擔減輕,能釋出更多磁碟資源給寫入作業使用,連帶也能一定程度改善寫入效能(讀取作業被導向到Flash快取記憶體裝置承擔,底層磁碟只需負擔寫入作業即可)。

 

全快閃陣列、混合陣列與混合陣列的效能--成本位階

當前儲存設備的效能位階,從高到低依序是伺服器端的PCIe SSD、全快閃陣列、混合式陣列,以及傳統的磁碟陣列,但單位容量成本的位階則是相反的排列,其中融合了SSD與傳統硬碟的混合式陣列,居於兼顧效能-成本的折衷位置。

 

相關報導請參考:新型態混合式陣列竄起

熱門新聞

Advertisement