












最新內容
http://www.86xian.com 發布日期:2015-04-03 中關村多媒體創意產業園 關注度:
http://www.bjmmedia.com.cn
當基于閃存的存儲系統最早成為企業一個高效可行的選項之時,它被作為一個靜態層來銷售,工作負載必須通過手動方式轉移到閃存上。但是,對于高成本的存儲資源而言,這實在是一個效率低下的使用方式,因為移動到閃存上的工作負責通常并不是在所有時間都需要閃存的極速。其次,許多數據中心發現很難界定哪些工作負載,或者工作負載的哪些部分需要移到閃存。
面對這些挑戰,一般只有在需要極速性能的時候才采購閃存。擴大閃存的使用范圍就意味著廠商需要提供一定程度的自動化,以確保最活躍的數據能夠被移入和移出閃存層,從而達到最佳利用。
廠商通常采取兩種方法來解決這個問題——分層和緩存。盡管術語通常可以交換使用,它們實際上意味著兩種完全不同的東西。兩種模式都采用算法來確定哪些數據應該放置在哪種存儲介質上。在某些情況下,這種算法僅僅是簡單地按先進先出的方式組織數據,但很多廠商已經基于特定的訪問模式,對他們的算法加以改進。
什么是閃存分層?
在一個分層模型中,數據被唯一地移動到閃存層,這意味著它絕不會同時存在于閃存和硬盤驅動器上。這對閃存層的高可用性提出了很高的要求,因為這層的任何故障都可能導致數據丟失。考慮到移到該層的數據都是最活躍的數據,故障可能導致非常重要的信息丟失。
當分層策略最早提出的時候,所有新的或修改的數據在寫入時都先送到硬盤層,然后再通過數據讀操作,使閃存獲得存儲該數據的資格。絕大多數算法都需要在很短的時間內進行多個讀寫訪問,才能使數據升級到閃存。盡管將保障數據安全寄希望于一種已知技術(硬盤)這一點很好,但這種方法的問題是,它也意味著寫I/O將永遠無法充分利用閃存的性能優勢。
隨著廠商和用戶越來越接受閃存技術,他們逐漸習慣于把所有寫I/O先送到閃存層,然后再根據需要降級到硬盤層。這使得寫進程也能受益到閃存的極速,而隨著各種保護功能逐漸添加到閃存中,這種做法現在也被認為是“安全”的。
什么是緩存?
一般來說,緩存相較分層而言,是一種保存數據時間更短暫的方法。在分層系統中數據可以在閃存中保存數月,而緩存通常只是在數據還被需要的時候保存數據。有三種基本類型的緩存:繞寫式(write-around),直寫式(write-through)和回寫式(write-back)。
繞寫式(write-around)緩存意味著所有數據首先被寫入到硬盤區,當它成為合格的后,再基于讀操作將它復制(注意不是移動)到閃存區。這意味著數據總是駐留在硬盤層,通常由RAID或鏡像功能進行數據保護。其結果是,緩存區的閃存并不需要像上述分層模型中所要求的高可靠性。此外,由于所有數據首先被寫入硬盤,閃存的使用壽命應該會延長。只有真正值得閃存“緩存”的數據才會被寫到閃存。
需要注意的是,雖然閃存區的故障并不意味著數據丟失,卻意味著性能損失,因為所有的后續I/O都必須從硬盤區發起。已經習慣了閃存性能的用戶可能會認為性能的下降和宕機一樣糟糕。
繞寫式緩存技術也意味著所有數據在升級到閃存區之前都需要確保合格。所以在這個模型中,寫操作將會一直緩慢,并直到有足夠的I/O訪問該數據以證明它確實值得復制到閃存中,這時閃存的高性能才會反映出來。最后,數據復制過程需要數據所在的存儲控制器進行處理,以及I/O帶寬,這可能會造成一些不可預測的系統問題,因為數據被復制到了閃存。
直寫式高速緩存(write-through)試圖解決一些繞寫式緩存面對的挑戰。在該模型中,所有寫操作都被送到閃存和硬盤層。這樣做的結果是,數據冗余地存在于兩個層次。該技術確保最活躍的數據預先放置到閃存之上,所以就沒有必要再審核數據升級資格并進行復制。寫操作性能仍然依賴于硬盤區,因為寫確認必須出自該層。此外,閃存耐用性會減小,因為現在所有數據都會存到閃存,而不只是那些獲得升級資格的。
回寫式高速緩存(write-back)通過在數據寫入閃存區后即回復寫確認,從而提高了寫操作性能。這些數據將會在后來存儲I/O不太繁忙的時候再寫入到硬盤層。回寫式緩存的風險是在數據被寫入硬盤之前閃存發生故障。此外,在像VMware那樣的集群環境中,在進行虛擬機遷移時,需要格外小心確保閃存區在遷移之前必須清空。
和分層機制一樣,回寫式緩存對閃存區高可用性的要求也愈加嚴格,因為有時候閃存里容納的是數據的唯一副本。
何時使用何種技術?
關于基于閃存的存儲早期的擔憂主要是其耐用性是否經得起企業級應用,這早已成為了過去。感謝閃存不斷下滑的價格,通過RAID或鏡像的方式部署冗余閃存的成本問題也漸漸不再是問題。
如果你正考慮帶閃存的系統,假定經過反復檢查你已確認需要在存儲系統中實施適當的冗余技術的話,你可以放心部署分層系統或者回寫式緩存。這將提供最佳的性能,這也是為什么你需要把基于閃存的存儲放在投資首位的原因。
從用戶的角度看,如果適當的冗余措施已經就位,那么無論是緩存還是分層并沒有太大區別,因此選擇基于閃存的存儲系統不應該單單只考慮這些功能本身。IT規劃人員應該調查其他一些因素,例如在閃存層或緩存區保持某些特定數據集的能力,以及與環境或應用相集成的能力等等。
(來源:TechTarget中國)