什么是 RAID?RAID 代表獨(dú)立磁盤冗余陣列。這對(duì)很多人來說可能意義不大,但讓我們從頭開始。它是一堆硬盤驅(qū)動(dòng)器,通常在容量、大小、速度和型號(hào)上都匹配,它們組合在一起,通過軟件或硬件提供驅(qū)動(dòng)器冗余。實(shí)際上,它允許一個(gè)或多個(gè)(我們將討論)驅(qū)動(dòng)器在任何時(shí)間點(diǎn)發(fā)生故障或“降級(jí)”。
例如,傳統(tǒng)上,臺(tái)式 PC 具有單個(gè)硬盤驅(qū)動(dòng)器(或如今的 SSD)。如果此磁盤發(fā)生故障,系統(tǒng)將崩潰,除非您在另一個(gè)驅(qū)動(dòng)器或云上進(jìn)行了備份,否則您將面臨丟失數(shù)據(jù)的非常高的風(fēng)險(xiǎn)。
RAID 所做的是將至少 2 個(gè)驅(qū)動(dòng)器組合在一起,形成一個(gè)虛擬驅(qū)動(dòng)器。然后,這將以與您的操作系統(tǒng)(Windows、Linux、Mac 等)完全相同的方式使用。但是好處是,如果其中一個(gè)驅(qū)動(dòng)器啟動(dòng)或完全失敗,則不會(huì)導(dǎo)致任何停機(jī),并且對(duì)最終用戶或服務(wù)器本身絕對(duì)沒有影響。
為什么需要 RAID
如果您的系統(tǒng)需要正常運(yùn)行時(shí)間,例如,您無法等待更換驅(qū)動(dòng)器到達(dá)并安裝,以及數(shù)據(jù)恢復(fù),那么您需要 RAID。這當(dāng)然適用于幾乎所有服務(wù)器設(shè)置,但對(duì)于臺(tái)式 PC 的使用通常變得很重要——盡管 SSD 的可靠性在臺(tái)式 PC 中略微抵消了這一點(diǎn)。
我們總是推薦 RAID 用于服務(wù)器系統(tǒng),不管它在做什么。RAID 不必很昂貴,我們將在下面介紹各種 RAID“級(jí)別”。
我需要哪個(gè) RAID 級(jí)別?
有 4 種流行的 RAID 級(jí)別;
RAID 級(jí)別 |
優(yōu)點(diǎn) + 缺點(diǎn) |
RAID 0 |
這是為了將最多 2 個(gè)磁盤組合在一起——稱為條帶化。好處是您結(jié)合了 2 個(gè)磁盤的速度,實(shí)際上是 1 個(gè)非常快的磁盤。數(shù)據(jù)冗余為零,如果磁盤發(fā)生故障,您幾乎可以肯定會(huì)永久丟失所有數(shù)據(jù)。不建議將這用于服務(wù)器環(huán)境,但通常在臺(tái)式 PC 中很受歡迎,尤其是在高性能 SSD 中。 |
RAID 1 |
這用于較小的環(huán)境,因?yàn)樗试S在一個(gè)陣列中最多包含 2 個(gè)磁盤,并且通常用于 2 個(gè)用于操作系統(tǒng)的較小磁盤。RAID 1 稱為鏡像。顧名思義,它將一個(gè)驅(qū)動(dòng)器實(shí)時(shí)鏡像到另一個(gè)驅(qū)動(dòng)器。兩個(gè)驅(qū)動(dòng)器之一可能在任何時(shí)間點(diǎn)發(fā)生故障,并且系統(tǒng)狀態(tài)不應(yīng)發(fā)生變化。驅(qū)動(dòng)器需要快速更換。RAID 1 并不是特別快,因?yàn)樗枰獙?shù)據(jù)從每個(gè)驅(qū)動(dòng)器復(fù)制到另一個(gè)驅(qū)動(dòng)器,然后驗(yàn)證所有 IO 操作都發(fā)生了這種情況,這就是為什么它經(jīng)常用作桌面或服務(wù)器系統(tǒng)上的 OS 驅(qū)動(dòng)器的原因。 |
RAID 5 |
這是一種流行的 RAID 級(jí)別,但有其優(yōu)點(diǎn)和缺點(diǎn)。RAID 5 使用奇偶校驗(yàn),它分布在陣列中的所有磁盤上。您可以根據(jù)需要向 RAID 5 陣列添加任意數(shù)量的驅(qū)動(dòng)器,但至少需要 3 個(gè)驅(qū)動(dòng)器。RAID 5 陣列中最多有 1 個(gè)驅(qū)動(dòng)器隨時(shí)發(fā)生故障。RAID 5 的好處是您可以獲得更高的讀取速度,但寫入速度卻相當(dāng)差。這使其成為數(shù)據(jù)庫任務(wù)的一個(gè)有吸引力的選擇,其中讀取數(shù)據(jù)通常比寫入數(shù)據(jù)更重要。需要注意的是,在 RAID 5 中,無論添加多少磁盤,您都會(huì)損失 1 個(gè)磁盤的容量。例如,如果您在 RAID 5 中有 3 個(gè) 1TB 磁盤,則陣列中將有一個(gè) 2TB 的可用格式化容量。使用 RAID 5,您將需要具有板載緩存和超級(jí)電容備份的高性能硬件 RAID 控制器。 |
RAID 6 |
這與 RAID 6 非常相似——它具有相同的讀取和寫入速度,但具有雙奇偶校驗(yàn)。這意味著在任何一個(gè)時(shí)間點(diǎn)最多有 2 個(gè)磁盤發(fā)生故障。缺點(diǎn)是您將丟失 2 個(gè)存儲(chǔ)磁盤。例如,如果您的 RAID 6 陣列有 4 個(gè) 1TB 磁盤,您將只能在虛擬磁盤中獲得 2TB 的可用空間。與 RAID 5 相同,所有奇偶校驗(yàn) RAID 選項(xiàng)都需要具有高速緩存 RAM 的硬件控制器。 |
RAID 10 |
這正在成為最受歡迎的。它是最快和最可靠的 RAID 級(jí)別。然而,它是最昂貴的。RAID 10 基本上是 RAID 1 over RAID 0。RAID 10 至少需要 4 個(gè)磁盤。想象這一點(diǎn)的最佳方法是考慮創(chuàng)建 2x RAID 0 陣列(每個(gè) 2 個(gè)磁盤),然后在這些 2x RAID 0 陣列上創(chuàng)建一個(gè) RAID 1 陣列。RAID 10 意味著您擁有 RAID 0 的高性能以及 RAID 10 的冗余。這意味著您可能(在 2 個(gè)驅(qū)動(dòng)器 RAID 10 陣列中)有 2 個(gè)驅(qū)動(dòng)器出現(xiàn)故障。 |
軟件 RAID 與硬件 RAID – 哪個(gè)更好?
軟件 RAID通常是一個(gè)簡單的板載 RAID 控制器,例如 Intel 的 RST,如今幾乎所有主板上都可以找到它。它們非常簡單,沒有緩存 RAM,并且通常有相當(dāng)簡單的(如果根本沒有的話)報(bào)告或管理程序。軟件 RAID 將依賴 CPU 執(zhí)行 RAID 操作,因此不會(huì)盡可能快。軟件 RAID 通常只支持 RAID 0 和 1。有時(shí)它會(huì)支持 RAID 5、6 甚至 10,但這通常需要 Windows,因?yàn)椴僮飨到y(tǒng)/CPU 的高級(jí)驅(qū)動(dòng)程序支持處理奇偶校驗(yàn)數(shù)據(jù) – 這將是一個(gè)緩慢的系統(tǒng).
硬件 RAID是專用的控制器卡,但更重要的是它具有 Cache RAM。通常,一個(gè)好的控制器具有大約 2GB 的緩存 RAM。硬件 RAID 控制器有自己的 CPU,它與高速緩存 RAM 對(duì)話以處理奇偶校驗(yàn)數(shù)據(jù)。這意味著 RAID 5、6 和 10 操作將非常快。然而,硬件 RAID 控制器可能很昂貴——因?yàn)槟粌H需要控制器本身,而且還需要備用電池或超級(jí)電容模塊.?這非常重要——它們的作用是在發(fā)生電源故障時(shí)將奇偶校驗(yàn)/事務(wù)數(shù)據(jù)(通常使用超級(jí)電容,幾乎無限期地)存儲(chǔ)在控制器緩存 RAM 中。電源故障可能是由任何原因引起的——系統(tǒng)崩潰、PSU 故障,當(dāng)然還有電源故障。如果緩存 RAM 沒有使用電池或超級(jí)電容器備份并且出現(xiàn)電源故障,那么您將面臨 RAID 事務(wù)數(shù)據(jù)損壞的非常高的風(fēng)險(xiǎn),這可能會(huì)導(dǎo)致數(shù)據(jù)丟失、數(shù)據(jù)損壞甚至丟失整個(gè) RAID 陣列——不好。