Raid可以理解為是將多個硬碟組合在一起,利用虛擬儲存技術,形成一個硬碟陣列,用來提升儲存空間和製造冗余
為何要講這個Topic呢?因為分散式儲存很多idea就是從Raid來的,只是Raid是提升機櫃與機櫃之間的可靠性,而一般來說的分散式儲存是透過網路串連不同Datacenter
RAID其實很複雜,需要對大型IT基礎設施有足夠的理解,所以本篇只介紹幾個基礎的RAID架構,架構圖都是參考維基百科
RAID0
一個大圓柱,例如Disk0,就是一塊硬碟,一個小圓柱,例如A1,就是HDD中的一小部分圓盤,我們可以把多個Disk串連,從上層系統來看就是一塊超大硬碟
RAID0最簡單,最快,但是也最不安全,資料的存放方式就是A1放完放A2,A2放完放A3,所以當一塊硬碟壞了,全部都壞了
RAID1
RAID1 和RAID0類似,但是寫入會一次寫入兩份,一條資料過來,先寫兩份到各自左右兩邊的A1,A1寫完再寫A2,所以RAID1的資料寫入效能是RAID0的一半,不過有要一個硬碟活著資料都還在,RAID1可以並聯更多DISK以增加可靠性,不過相應的寫入效能會更慢
RAID5
RAID0速度快但不可靠,RAID1可靠但是硬碟利用率和效能差,所以RAID1往後都在找一種儲存效能、可靠性和成本兼顧的方式,直到RAID5才漸漸被市場所接受
RAID5至少需要三塊硬碟,下圖是四塊硬碟的架構,那RAID5怎麼存資料呢?從第一排開始,資料來了,一樣先存進去A1、A2、A3,然後我們看到了Ap,他是A1、A2、A3的奇偶校驗資料,這樣當一塊disk掛了,可以透過奇偶校驗復原資料
和RAID0想比,寫入速度較慢,讀取速度差不多,可靠性好很多
和RAID1想比,需要更多硬碟才能保證可靠度,但是硬碟的利用率高很多,寫入速度也較快
RAID6
RAID6和RAID5非常相似,唯一的差別就是需要比RAID多一塊硬碟存放第二個奇偶校驗資料,如下圖所示
兩個的奇偶校驗演算法不同,所以RAID6至少需要四塊硬碟,可以容許兩塊硬碟損壞