我們將重點探討RAID技術當前的狀況和它的諸多變體,并且預測未來的發展方向。這包括傳統的實施和新增的拓展保護功能如擦除代碼等等。 與以前一樣,這些方法和其他方法主要被用于傳統硬盤和固態硬盤,以提高它們的可用性和性能。
回顧RAID 5和寬條或RAID群組
我們先來回顧一下這個系列的評論文章中的第一部分中所舉的一個例子,一個15+1或十六個磁片組成的RAID 5群組。對于某些應用和RAID 5(或RAID 4或6)實施而言,一個15+1寬條或群組可能是足夠的。
然而,如果沒有鏡像或電池保護寫回高速緩存(WBC)的話,寫數據可能會成為一個特殊的瓶頸。 另一個比較常見的現象是所有的RAID 5實施都會導致超額的寫數據IO活動。 雖然硬件或軟件領域的某些RAID實施案例會造成超額后端寫數據(比如寫放大),但這也不是絕對的,特別是在寫數據集合能力很強的情況下。
有些使用WBC的硬件和軟件實施案例可以將數據集體寫在內存(高速緩存)中,從而實現完整寬條寫入。與其他的系統相比,這種做法造成的后端寫數據活動要相對更少一些。 因此,并非所有的RAID實施都是一樣的。同樣,正是由于RAID定義顯示出一種特別的理論實施方法并不意味著所有的廠商都是以那種方式去實施的。
RAID:額外寫入?
因此,RAID是否一定會造成額外寫入或寫放大呢?
這要看具體的RAID水平來定,在某些情況下,與實施的配置包括數據塊或共享區的大小也有關系。例如,RAID 1(鏡像和復制)可以同時進行兩個或更多的寫操作,這就跟把數據拷貝到兩個磁盤驅動器的結果是一樣的。 除了利用WBC之外,某些實施案例也許會在實時或延時模式下進行寫操作。
RAID 1實施方案中的雙通道寫操作是否意味著寫入的數據量可以提高一倍?(如果使用3個磁盤鏡像,寫入數據量是否會提高2倍?)
那也取決于是否對比沒有拷貝保護的單一JBOD。另一方面,在RAID 4、5、6或其他方案中,額外寫操作與廠商如何實施硬件或軟件的方式也有關系。 因此,在RAID實施中,就存在很多類似于蘋果和橘子的對比。這個因素會造成某些荒謬的結果、事實和FUD。
RAID、寫操作和固態硬盤怎么樣?
那將取決于RAID的水平和廠商的硬件或軟件實施情況,以及廠商如何整合固態硬盤損耗均衡以實現耐用性和性能優化的結果。這與是否在服務器、工作站或桌面使用企業存儲系統或設備和軟件也有很大關系。
因此,某些RAID水平、它們的具體實施以及配置方式都會導致寫操作增加,進而增加固態硬盤的損耗。另一方面,有些RAID水平和實施在寫集合方面做得比其他方案更好一些,與其他方案相比,它可以與固態硬盤NAND閃存損耗均衡整合以改善工作周期。
平衡性能、可用性、容量和經濟性(PACE)
值得一提的其他內容是,雖然15+1或16個硬盤結構的RAID群組的容量對等保護預留空間很小,但是還存在硬盤是否或何時出現故障的問題。根據RAID硬件或軟件以及硬盤的類型和容量的不同,在一個較長的重建過程中,RAID集就會暴露出來,有可能出現輔助硬盤或兩個硬盤同時出現故障的情況。
因此,在嘗試利用大容量硬盤或寬RAID 5配置來削減成本與避免空間容量保護預留量之間有一個平衡的問題。然而,這也打開了潛在的暴露點。
在可選的方案中包括窄RAID 5群組,更可靠和快速的硬盤以便在重建過程中將暴露面降低到最小程度,利用不同的RAID水平比如RAID 6(雙對等)或其他方案,具體使用哪種方案將取決于具體的需求和企業關注的問題。此外還有混合增強型RAID解決方案。 例如,有些混合解決方案可以將基礎磁盤池當作RAID 6配置的一部分來使用,同時還可以將快速重建與擦除代碼對等系統中發現的情況結合在一起。這方面的典型例子是NetApp的E系列Dynamic磁盤池功能,即該方案重建故障磁盤所花的時間只有傳統RAID 6解決方案所花時間的一小部分。
由于很多其他的廠商都在RAID實施棧(獨立于LUN)下采用了磁盤池或虛擬劵的某種變體,因此即便看到其他的類似功能也不足為奇。
RAID重建的難題
我在使用RAID的過程中和長時間重建過程中看到的問題與技術實施、配置和購買決策都有一定的關系。這些問題通常也會影響到在存儲上削減成本的決策。
有趣的是,在支持更多存儲容量同時削減成本和保持性能水平不下滑的道路上,我們也許繞著RAID走了一整圈。我發現,RAID最初的一項前提或目標是同時使用多塊硬盤來彌補當時的廉價SCSI磁盤在靈活性和可靠性上的不足。 在現實生活中遇到了長時間RAID重建的人經常會談到使用廉價、大容量硬盤。
雖然在長時間重建特別是基于對等的保護的情況下很容易想到RAID,但是需要考慮的因素也不少。例如,如果使用RAID 1(鏡像),那么重建時間應該比使用對等解決方案所需的時間要短一些。 原因是對一塊硬盤做全盤鏡像或再同步所花的時間要少一些。在基于對等的重建過程中,需要讀出現有硬盤上的內容和對等信息,以便為新的硬盤重新生成數據。 使用對等的數據再生所花的時間取決于IO和必然會發生的數學計算。某些實施案例在這方面表現得比另一項案例要好一些,但是在使用基于對等的數據保護方案時,雖然對磁盤容量預備量的要求降低了,但是重建時間會長一些。
導致重建時間太長的還有其他一些原因,包括硬盤的容量、讀數據的接口和性能水平、RAID重建或拷貝輔助功能、控制器或軟件實施等等。