RAID 就是一種由多塊廉價磁碟構成的冗餘陣列,在作業站群系統下是作為一個獨立的大型儲存裝置出現。
RAID 可以充分發揮出多塊硬碟的優勢,可以提升硬碟速度,增大容量, 提供容錯功能夠確保資料安全性,易於管理的優點,在任何一塊硬碟出現問題的情況下都可以繼續工作,不會受到損壞硬碟的影響。
通常我們較為常見的 RAID 有 RAID 0 、 RAID1 、 RAID 5 和 RAID10
  RAID 0
定義:
RAID 0,它代表了所有 RAID 級別中最高的儲存效能。 RAID 0 提高儲存效能的原理是把連續的資料分散到多個磁碟上存取,這樣,站群系統有資料請求就可以被多個磁碟並行的執行,每個磁碟執行屬於它自己的那部分資料請求。這種資料上的並行操作可以充分利用匯流排的頻寬,顯著提高磁碟整體存取效能。推薦閱讀:《香港站群伺服器硬碟磁碟型別有哪些》
常見的 RAID 磁碟有哪幾種?
工作原理:
站群系統向三個磁碟組成的邏輯硬碟 (RAID0 磁碟組) 發出的 I/O 資料請求被轉化為 3 項操作,其中的每一項操作都對應於一塊物理硬碟。透過建立 RAID 0,原先順序的資料請求被分散到所有的三塊硬碟中同時執行。從理論上講,三塊硬碟的並行操作使同一時間內磁碟讀寫速度提升了 3 倍。 但由於匯流排頻寬等多種因素的影響,實際的提升速率肯定會低於理論值,但是,大量資料並行傳輸與序列傳輸比較,提速效果顯著顯然毋庸置疑。
優缺點:
讀寫效能是所有 RAID 級別中最高的。
RAID 0 的缺點是不提供資料冗餘,因此一旦多使用者資料損壞,損壞的資料將無法得到恢復。 RAID0 執行時只要其中任一塊硬碟出現問題就會導致整個資料的故障。一般不建議企業站群多使用者單獨使用。
  RAID1
定義:
RAID 1 透過磁碟資料映象實現資料冗餘,在成對的獨立磁碟上產生互為備份的資料。當原始資料繁忙時,可直接從映象複製中讀取資料,因此 RAID 1 可以提高讀取效能。 RAID 1 是磁碟陣列中單位成本最高的,但提供了很高的資料安全性和可用性。當一個磁碟失效時,站群系統可以自動切換到映象磁碟上讀寫,而不需要重組失效的資料。
工作原理:
RAID1 是將一個兩塊硬碟所構成 RAID 磁碟陣列,其容量僅等於一塊硬碟的容量,因為另一塊只是當作資料 “映象” 。 RAID1 磁碟陣列顯然是最可靠的一種陣列,因為它總是保持一份完整的資料備份。它的效能自然沒有 RAID0 磁碟陣列那樣好,但其資料讀取確實較單一硬碟來的快,因為資料會從兩塊硬碟中較快的一塊中讀出。 RAID1 磁碟陣列的寫入速度通常較慢,因為資料得分別寫入兩塊硬碟中並做比較。 RAID1 磁碟陣列一般支援 “熱交換”,就是說陣列中硬碟的移除或替換可以在站群系統執行時進行,無須中斷退出站群系統。 RAID1 磁碟陣列是十分安全的,不過也是較貴一種 RAID 磁碟陣列解決方案,因為兩塊硬碟僅能提供一塊硬碟的容量。 RAID1 磁碟陣列主要用在資料安全性很高,而且要求能夠快速恢復被破壞的資料的場合。
在這裡,需要注意的是,讀只能在一塊磁碟上進行,並不會進行並行讀取,效能取決於硬碟中較快的一塊。寫的話通常比單塊磁碟要慢,雖然是並行寫,即對兩塊磁碟的寫入是同時進行的,但因為要比較兩塊硬碟中的資料,所以效能比單塊磁碟慢。推薦閱讀:《如何最佳化 WordPress 主機磁碟空間》
優缺點:
RAID1 透過硬碟資料映象實現資料的冗餘,保護資料安全,在兩塊盤上產生互為備份的資料,當原始資料繁忙時,可直接從映象備份中讀取資料,因此 RAID1 可以提供讀取效能。
RAID1 是硬碟中單位成本最高的,但提供了很高的資料安全性和可用性,當一個硬碟失效時,站群系統可以自動切換到映象硬碟上讀/寫,並且不需要重組失效的資料。
  RAID 5
定義:
RAID 5 是 RAID 0 和 RAID 1 的折中方案。 RAID 5 具有和 RAID0 相近似的資料讀取速度,只是多了一個奇偶校驗資訊,寫入資料的速度比對單個磁碟進行寫入操作稍慢。同時由於多個資料對應一個奇偶校驗資訊,RAID5 的磁碟空間利用率要比 RAID 1 高,儲存成本相對較低,是目前運用較多的一種解決方案。
工作原理:
RAID5 把資料和相對應的奇偶校驗資訊儲存到組成 RAID5 的各個磁碟上,並且奇偶校驗資訊和相對應的資料分別儲存於不同的磁碟上,其中任意 N-1 塊磁碟上都儲存完整的資料,也就是說有相當於一塊磁碟容量的空間用於儲存奇偶校驗資訊。因此當 RAID5 的一個磁碟發生損壞後,不會影響資料的完整性,從而保證了資料安全。當損壞的磁碟被替換後,RAID 還會自動利用剩下奇偶校驗資訊去重建此磁碟上的資料,來保持 RAID5 的高可靠性。
做 RAID5 陣列所有磁碟容量必須一樣大,當容量不同時,會以最小的容量為準。 最好硬碟轉速一樣,否則會影響效能,而且可用空間=磁碟數 n-1,RAID5 沒有獨立的奇偶校驗盤,所有校驗資訊分散放在所有磁碟上, 只佔用一個磁碟的容量。
  RAID10
定義:
RAID10也被稱為鏡象陣列條帶。象RAID0一樣,資料跨磁碟抽取; 象RAID1一樣,每個磁碟都有一個鏡象磁碟, 所以RAID 10的另一種會說法是 RAID 0+1。RAID10提供100% 的資料冗餘,支援更大的捲尺寸,但價格也相對較高。對大多數只要求具有冗餘度而不必考慮價格的應用來說,RAID10提供最好的效能。使用RAID10,可以獲得更好的可靠性,因為即使兩個物理驅動器發生故障(每個陣列中一個),資料仍然可以得到保護。RAID10需要4 + 2*N 個磁碟驅動器(N >=0), 而且只能使用其中一半 (或更小, 如果磁碟大小不一) 的磁碟用量, 例如 4 個 250G 的硬碟使用 RAID10 陣列, 實際容量是 500G 。
實現原理:
RAID10 其實結構非常簡單,首先建立 2 個獨立的 RAID1,然後將這兩個獨立的 RAID1 組成一個 RAID0,當往這個邏輯 RAID 中寫資料時,資料被有序的寫入兩個 RAID1 中。磁碟 1 和磁碟 2 組成一個 RAID1,磁碟 3 和磁碟 4 又組成另外一個 RAID1; 這兩個 RAID1 組成了一個新的 RAID0 。如寫在硬碟 1 上的資料 1 、 3 、 5 、 7,寫在硬碟 2 中則為資料 1 、 3 、 5 、 7,硬碟中的資料為 0 、 2 、 4 、 6,硬碟 4 中的資料則為 0 、 2 、 4 、 6,因此資料在這四個硬碟上組合成 RAID10,且具有 RAID0 和 RAID1 兩者的特性。
雖然 RAID10 方案造成了 50% 的磁碟浪費,但是它提供了 200% 的速度和單磁碟損壞的資料安全性,並且當同時損壞的磁碟不在同一 RAID1 中,就能保證資料安全性。假如磁碟中的某一塊盤壞了,整個邏輯磁碟仍能正常工作的。
當我們需要恢復 RAID10 中損壞的磁碟時,只需要更換新的硬碟,按照 RAID10 的工作原理來進行資料恢復,恢復資料過程中站群系統仍能正常工作。原先的資料會同步恢復到更換的硬碟中。
目前常用的 RAID 是這幾種,在實際應用中,應當根據多使用者的資料應用特點和具體情況,綜合考慮可用性、效能和成本來選擇合適的 RAID 等級。推薦相關閱讀:《站群伺服器容錯性對站群伺服器正常執行有什麼影響》