四大RAID存儲詳解
隨著(zhù)NAS和SAN存儲應用的出現,使用物理存儲的技巧和利用這些技巧來(lái)滿(mǎn)足系統需求快速地消失了。這并不是一件好事。因為我們將存儲卸載到外置設備上的做法并沒(méi)有改變這樣一個(gè)事實(shí),我們需要從根本上了解我們的存儲情況,通過(guò)配置存儲來(lái)滿(mǎn)足系統的特定需求。
最近五到十年似乎出現這樣一種誤解,認為RAID可以等同于系統備份。而事實(shí)并非如此。RAID只是容錯的一種形式。
備份和容錯從概念上來(lái)講是完全不同的。備份讓我們可以在災難發(fā)生之后實(shí)施恢復。而容錯旨在降低災難發(fā)生的幾率。容錯就像是在懸崖上搭建一個(gè)防護網(wǎng),而備份就像是懸崖下面建造一座醫院。你恐怕永遠也不希望既沒(méi)有防護網(wǎng)也沒(méi)有醫院,但他們是完全不同的兩個(gè)事物。
一旦我們?yōu)轵寗?dòng)器部署了RAID,不管是本地附加還是在存儲網(wǎng)絡(luò )中的遠程應用,現在我們有四種主要的RAID解決方案可以用于業(yè)務(wù)中:RAID 1(鏡像)、RAID 5(帶校驗的磁盤(pán)條帶)、RAID 6(帶雙重校驗的磁盤(pán)條帶)以及RAID 10(帶有條帶的鏡像)。
還有其他類(lèi)型的等解決方案,例如RAID 0,但如果你真正了解你的驅動(dòng)器子系統需求,那么你就知道這些只能用于少數環(huán)境中。另外人們使用的還有RAID 50和RAID 51,但是更加少見(jiàn),而且效率并不那么高。十年前,RAID 1和RAID 5是很常見(jiàn)的,但是今天我們已經(jīng)有了更多的選擇。
下面讓我們來(lái)逐個(gè)分析這些選擇并討論一些基本的數據。在我們的例子中,我們將使用“n”來(lái)代表陣列中的驅動(dòng)器數量,“s”代表任何單個(gè)驅動(dòng)器的大小,以此來(lái)表示一個(gè)陣列的可用存儲空間,更直觀(guān)地進(jìn)行存儲容量對比。
RAID 1
這種類(lèi)型的RAID是對驅動(dòng)器進(jìn)行鏡像。你有兩個(gè)驅動(dòng)器,它們同時(shí)在一起做所有事情,因此稱(chēng)做“鏡像”。因為這個(gè)過(guò)程非常簡(jiǎn)單,所以鏡像是非常穩定的,但是如果你之前從來(lái)沒(méi)有使用過(guò)RAID的話(huà),這就要求你必須購買(mǎi)是實(shí)際需要兩倍的驅動(dòng)器,因為第二個(gè)驅動(dòng)器作為冗余之用。
RAID 1的好處在于你可以確保寫(xiě)入到磁盤(pán)中的每個(gè)字位都被寫(xiě)入兩遍以達到保護的目的。因此,使用RAID 1我們的存儲容量應該是(n*s/2)。RAID 1比非RAID驅動(dòng)器性能要略高一些,寫(xiě)入速度接近于非RAID系統,而讀取速度幾乎是大多數情況下的兩倍,因為在讀取操作過(guò)程中驅動(dòng)器可以并行地進(jìn)行訪(fǎng)問(wèn),從而提高了吞吐量。RAID 1限制于兩個(gè)驅動(dòng)器。
RAID 5
帶校驗的磁盤(pán)條帶。在這種類(lèi)型的RAID中,數據以復雜條帶的形式寫(xiě)入到陣列中的所有驅動(dòng)器中,同時(shí)所有驅動(dòng)器中都有分布數校驗塊。這樣RAID 5就可能使用三個(gè)或者更多磁盤(pán)組成的任意大小的陣列,只犧牲相當于一個(gè)磁盤(pán)的存儲容量用于校驗。但是這種校驗是分布式的,并不單獨存在于任何一個(gè)物理磁盤(pán)中。
RAID 5由于在大型陣列中犧牲的存儲容量較少,所以它具有成本效益的特點(diǎn),從而被人們所廣泛使用。與鏡像不同的是,帶有校驗的條帶要求必須在磁盤(pán)之間進(jìn)行針對每個(gè)寫(xiě)入條帶的計算,這造成了一部分的開(kāi)銷(xiāo)。因此,吞吐量并不總是一個(gè)容易計算的項目,它在很大程度上取決于系統在做校驗計算時(shí)候的計算能力。
計算RAID 5的容量非常簡(jiǎn)單:就是((n-1)*s)。RAID 5陣列可以避免這列中任何單個(gè)磁盤(pán)的丟失。
RAID 6
帶雙重校驗的磁盤(pán)條帶。RAID 6與RAID 5非常相似,但它的每個(gè)條帶使用兩個(gè)校驗塊,
評論