首先要講采用RAID的目的是什么?簡單講就是需要需要大容量存儲空間、數據可靠性強和強大的I/O吞吐能力。RAID中有三個關鍵技術:鏡像(Mirroring)、數據條帶(Data Stripping)和數據校驗(Data Parity)。
那么固態硬盤是不適合呢?要看以下幾個問題。
1、當建立一個RAID系統后,數據將分片保存在RAID系統中不同的硬盤上,多個數據分片共同組成一個完整數據。當固態硬盤要做數據條帶時候,必須先把數據寫入到已經擦出的物理頁面上,但該頁原始數據也在,過一段時間固態硬盤主控會通過垃圾回收機制來回收這些失效頁。
這樣我們可以理解為“讀-修改-寫”過程,這個過程頻繁操作會影響固態硬盤寫放大系數(WA),最終會影響固態硬盤壽命。
2、做磁盤鏡像的時候,會并發對一個或多個副本來讀寫數據,當鏡像中某一塊盤出現故障,RAID卡會從空閑Spare盤進行數據重構。如果是固態硬盤,勢必要會全部讀寫一遍,導致固態主控啟動垃圾回收機制,使得性能固態硬盤明顯下降。
3、數據校驗是通過校驗算法對冗余數據進行校驗,確保數據可靠安全存儲在RAID系統中,這個過程需要從多處讀取數據并計算對比。這個過程與第一個問題類似。同時固態硬盤TBW一樣,也意味著硬盤壽命中同時壞的可能性非常高,如果發生這樣的故障,會影響整個RAID系統的健壯性。
綜上所述,固態硬盤與機械硬盤底層技術不同,使得傳統RAID卡與固態硬盤配合有很大問題,會影響固態硬盤使用壽命,提高運維成本,因此不建議采用固態硬盤做RAID。