小科普 | RAID磁盤陣列是個啥?
瀏覽量: 次 發(fā)布日期:2023-08-25 18:55:56
小科普 | RAID磁盤陣列是個啥?
有不少粉絲在我們的后臺留言說,想讓我們講一下有關(guān)磁盤陣列,也就是RAID相關(guān)的事情。那么今天呢,我們就談一談什么是RAID,而RAID又該怎么用。
本篇小科普分為以下內(nèi)容,由于篇幅較多,我們將分兩天給大家推送:
1、什么是RAID
2、RAID都有哪些類型(上)
a) RAID0
b) RAID1
c) RAID01/10
3、熱備份與冷備份(Hot Spare / Cold Spare)
------以上是今天推送內(nèi)容------
4、RAID都有哪些類型(下)
a) RAID5
b) RAID50
c) RAID6
5、軟件RAID與硬件RAID
6、我該怎么用RAID
- 1 -
什么是RAID
RAID(Redundant Arrays of Independent Disks,一說Redundant Arrays of Inexpensive Disks),中文名稱叫獨立磁盤冗余陣列(廉價磁盤冗余陣列),簡稱磁盤陣列。它的作用呢,是在多塊硬盤組成的陣列系統(tǒng)中,犧牲一塊至多塊硬盤的容量,來對數(shù)據(jù)的存儲提供一定的容錯能力。
我們先來簡單假設(shè)一種使用情況:你擁有一些重要的數(shù)據(jù),但是你并沒有將這些數(shù)據(jù)進行備份,他們只存在于你臺式機的單一硬盤中。那么一旦遇到臺式機的硬盤損壞,你的這些數(shù)據(jù)只能去找數(shù)據(jù)恢復(fù)公司了;而如果你的臺式機做了磁盤陣列,那么只需要替換陣列中壞掉的硬盤就可以重新恢復(fù)數(shù)據(jù)了。
這正是RAID的魅力所在。如果你只組建一個相對廉價的陣列,甚至不需要額外的硬件成本,只要你的主板支持RAID功能,就可以體驗RAID給你帶來的好處。
- 2 -
RAID都有哪些類型
知道了RAID是什么之后,我們就來看看RAID都有哪些類型吧。根據(jù)RAID算法的不同,有RAID0、RAID1、RAID2、RAID3、RAID4、RAID5、RAID6、RAID7、RAID01/10、RAID50等等很多種,然而由于他們其中有一些的算法過于麻煩,日常使用中很少涉及。因此,我們這次的科普只涉及幾種廣泛使用的RAID類型:包含RAID0、RAID1、RAID5、RAID01/10四種。除此之外,我們還將順帶提及RAID6以及RAID50這兩種稍麻煩點,但至少還有人用的陣列類型。至于剩下的嘛……就不多說啦。
▌RAID0(條帶存儲)
假設(shè)陣列中一共有n塊硬盤,RAID0是將需要存儲的數(shù)據(jù)以“條帶(Stripe)”為單位分成n份,然后分別寫入n塊硬盤中。因此,RAID0將提供非常優(yōu)秀的讀寫性能。打個簡單的比方,如果你要讀寫一個2G的文件,在普通硬盤上,要以單盤的速度讀取/寫入2G的數(shù)據(jù);而如果在4盤RAID0陣列中,每個盤只需讀取/寫入500MB的數(shù)據(jù),四個盤可以并行讀取/寫入,因此理論的讀寫速度將是單塊硬盤的4倍。
但是嚴(yán)格的說,RAID0并不能算Redundant Array(冗余陣列),因為它并不提供冗余的容錯機制。只要陣列中有一塊硬盤壞掉,由于這塊硬盤保存著所有數(shù)據(jù)(每個文件)的某一部分,因此所有數(shù)據(jù)都將無法讀取,整個陣列中的數(shù)據(jù)將宣告報廢。雖然RAID0的空間利用率可以達到1,但是容錯率卻是為0。因此,一般會輔以其他RAID類型來實現(xiàn)數(shù)據(jù)的冗余容錯。
▌RAID1(鏡像存儲)
RAID1是最安全的陣列方案,但也是空間利用率最低的方案。RAID1將所有數(shù)據(jù)原封不動copy一份,放于另一塊硬盤中。如果你用4塊1T的硬盤組成RAID1陣列,可用空間甚至只有1T!因為剩下的3塊硬盤中的數(shù)據(jù)與第一塊硬盤一模一樣。當(dāng)然這也提供了壞n-1塊硬盤的數(shù)據(jù)保障,只要任意一塊硬盤是好的,就算剩余硬盤全部壞掉也可以讀取數(shù)據(jù)。因此空間利用率只有1/n,而容錯率高達(n-1)/n。但是由于空間利用率實在太低,一般來講只用2塊硬盤組成RAID1,再輔以其他RAID類型共同協(xié)作。
至于RAID1陣列組的性能,讀取性能取決于陣列中最快的硬盤(誰讀的快就用誰的數(shù)據(jù),反正數(shù)據(jù)都一樣),而寫入性能則取決于陣列中最慢的硬盤(要等所有硬盤寫入結(jié)束,才完成寫入操作)。
▌RAID01/10
介紹完RAID0與RAID1,大家或許會發(fā)現(xiàn)如果是單獨使用,它們倆都有著巨大的不足。因此,就有兩種結(jié)合性的RAID方案被提出:RAID0+1與RAID1+0,分別簡稱為RAID01和RAID10(所以發(fā)音分別是“RAID零一/RAID一零”,可不要讀成“RAID十”呦)。這兩種方案都是同時吸取了RAID0的讀寫快速優(yōu)點與RAID1的安全容錯優(yōu)點,但是RAID10由于可以在相同的性能/容量下提供比RAID01更好的容錯安全性,因此RAID01已經(jīng)被棄用。
要具體了解為什么棄用RAID01而選擇RAID10,我們要先分別了解它倆的原理。其實很簡單,RAID01就是先將多塊磁盤組成RAID0陣列,之后再用2個RAID0陣列組成RAID1。而RAID10則先用兩塊硬盤組成RAID1陣列,再用多個RAID1陣列組成RAID0。接下來我們假設(shè)擁有10塊1T硬盤,來看看它們兩個的安全性:
先來看RAID01:ABCDE硬盤組RAID0容量5T,F(xiàn)GHIJ硬盤組RAID0容量5T,兩組硬盤組RAID1容量5T。在壞掉一塊硬盤的情況下(假設(shè)F壞掉),F(xiàn)GHIJ組成的RAID0陣列失效,整個RAID1陣列處于降級(不健康)狀態(tài);此時若ABCDE中任意一塊硬盤再壞掉,將導(dǎo)致ABCDE組成的RAID0陣列失效,整個RAID1陣列將完全失效,數(shù)據(jù)全部丟失。因此在一塊硬盤失效,陣列恢復(fù)重建過程中的失敗率為5/9,超過了50%。
再來看RAID10:AB硬盤組RAID1容量1T,CD組RAID1容量1T……依此類推組成5個RAID1,之后再將這5個1T陣列組成RAID0,容量5T。依然假設(shè)壞掉F盤,此時F所處的RAID1陣列(E、F)處于降級狀態(tài),而整個RAID0陣列依然健康(由于RAID0陣列沒有容錯機制,因此除了健康就是失效,沒有降級狀態(tài));如果第二塊硬盤壞掉,只要不是E盤,整個RAID0陣列就不會失效。因此RAID10在一塊硬盤失效,陣列恢復(fù)重建過程中的失敗率僅為1/9,只有RAID01的五分之一。
以上就是棄用RAID01而采用RAID10的原因,可能比較繞,希望大家可以耐心看完。不過只要大家認真讀過,就能發(fā)現(xiàn)RAID10對于硬盤的限制:至少4塊硬盤,并且硬盤數(shù)目需要是2的倍數(shù)(因為要做RAID1)。而總可用空間為(單盤容量*硬盤數(shù)量/2),也就是空間利用率為1/2;最多允許陣列中一半的硬盤壞掉(每個小RAID1陣列中壞一塊硬盤),因此容錯率也為1/2。
至于RAID10的理論讀取性能呢,則為max(小RAID1陣列中兩塊盤的讀取速度)*n/2;而理論寫入性能則是min(小RAID1陣列中兩塊盤的寫入速度)*n/2。
- 3 -
熱備盤與冷備盤
(Hot Spare / Cold Spare)
講到這里,大家想必已經(jīng)對RAID陣列有一定的了解了,也見到了RAID的容錯冗余能力。那么在繼續(xù)剩下的RAID類型科普之前,我們先來講一下,如果我在具有容錯冗余能力的RAID陣列(即除去RAID0的其他RAID類型)中壞掉了一塊硬盤,RAID陣列會如何自我進行恢復(fù)呢?
我們就以2盤的RAID1為例。假如壞掉了一塊盤,RAID1陣列將只有1塊盤在正常運行,這時的RAID1陣列將處于降級(Degraded)狀態(tài),也就意味著當(dāng)前陣列已無容錯冗余能力,雖然還能繼續(xù)運行,但是數(shù)據(jù)已經(jīng)不安全,需要人為干預(yù)進行修復(fù)。對于我們來講,只需要拔出壞掉的硬盤,換一塊相同容量的、好的硬盤插上去,RAID1陣列就會自動開始恢復(fù)重建過程。簡單來說,就是將剩余1塊盤中的數(shù)據(jù)重新拷貝到新?lián)Q上的這塊盤中。根據(jù)硬盤大小的不同,陣列恢復(fù)重建過程將從十幾小時到幾十小時不等。
那么,我們換上的這塊硬盤,不管你是從抽屜里拿出來的還是去科技市場買了一塊新的,都是通過人為操作插入到整個陣列里的。在出問題之前,這塊盤就冷冷的躺在抽屜里而并不會通電,這塊盤就叫冷備盤(Cold Spare)。
那能不能讓陣列自動找一塊好的硬盤來替換掉壞掉的盤呢?當(dāng)然可以。我們可以為任何一種具有容錯冗余能力的RAID陣列配備熱備盤(Hot Spare)。簡單來說,就是在建好RAID陣列后,再向其中插入1到多塊與陣列中硬盤相同容量的盤,將其設(shè)置為Hot Spare模式。這些盤在陣列健康的時候就靜靜的呆在那,也不存數(shù)據(jù),也沒有讀寫訪問。一旦陣列中有硬盤出問題,陣列處于Degraded狀態(tài)時,RAID控制器會立即激活熱備盤,開始陣列的恢復(fù)重建工作。
配備熱備盤的好處是當(dāng)陣列出現(xiàn)問題時,可以第一時間啟動恢復(fù)重建操作,而不必等操作人員發(fā)現(xiàn)之后再手動操作。這樣就避免了陣列在(降級后,操作人員發(fā)現(xiàn)之前)的這段時間內(nèi)“帶病運行”,增加了數(shù)據(jù)的可靠性。當(dāng)然,缺點就是又增加了成本。
. 磁盤陣列壞了怎么修復(fù)啊,RAID磁盤陣列故障診斷與修復(fù)全攻略
. 磁盤陣列常見故障,RAID磁盤陣列故障解析與應(yīng)對策略
. raid1拆下來的硬盤能直接讀,RAID1硬盤數(shù)據(jù)獨立讀取與恢復(fù)方法概述
. 磁盤陣列怎么更換故障硬盤,RAID磁盤陣列故障硬盤更換操作指南
. raid0數(shù)據(jù)恢復(fù)方法,全面解析與操作指南
. 磁盤陣列壞了一塊硬盤,raid1壞了一塊硬盤換新的怎么重建
. raid1硬盤更換和重建,聯(lián)想t230raid1硬盤更換和重建
. raid卡foreign恢復(fù),RAID卡Foreig狀態(tài)恢復(fù)指南
. raid5壞了一個硬盤如何恢復(fù),RAID5陣列中壞道硬盤的恢復(fù)方法詳解
. DiskGenius組raid,輕松實現(xiàn)數(shù)據(jù)安全與性能提升
. 信息不小心刪除了怎么找回,信息不小心刪除了怎么辦?教你幾招輕松找回
. 更換raid卡數(shù)據(jù)會丟失嗎,更換RAID卡數(shù)據(jù)會丟失嗎?全面解析RAID卡更換與數(shù)據(jù)
. raid0 raid1 raid5 raid10 區(qū)別
. raid硬盤恢復(fù)成普通硬盤,RAID硬盤恢復(fù)成普通硬盤的詳細指南
. raid1壞了一個硬盤如何恢復(fù),raid1第一塊硬盤壞怎么辦
. 不小心刪除的音頻文件怎么恢復(fù),不小心刪除的音頻文件怎么恢復(fù)?全方位指南
. raid10 數(shù)據(jù)恢復(fù),diskgenius官方免費版