磁碟陣列(RAID)

2021-08-08 11:07:38 字數 3071 閱讀 8648

raid 即容錯廉價磁碟陣列。raid 可以通過一些技術(軟體或硬體)將多個較小的磁碟整合成為乙個較大的磁碟裝置;而這個較大的磁碟功能可不止是儲存而已,它還具有資料保護的功能。整個 raid 由於選擇的等級不同,而使得整合後的磁碟具有不同的功能,基本常見的等級有以下幾種:

1、raid-0(等量模式,stripe):效能最佳

這種模式如果使用相同型號與容量的磁碟來組成時,效果最佳。這種模式的raid 會將磁碟先切出等量的區塊(舉例來說,4kb),然後當乙個檔案要寫入 raid 時,該檔案會依據塊的大小切割好,之後再依序放到各個磁碟裡面去。由於每個磁碟會交錯存放資料,因此當你的資料要寫入 raid 時,資料會被等量放置在各個磁碟上面。舉例來說,你有兩塊磁碟組成 raid-0時,當你有100mb 的資料要寫入時,每個磁碟會被分配到50mb 的儲存量。raid-0的示意圖如下圖所示:

上圖的意思是,在組成 raid-0時,每塊磁碟(disk a與 disk b)都會被分割成為小區塊。當有資料要寫入 raid 時,資料會先被分成符合小區塊的大小,然後再依序乙個乙個放置到不同的磁碟去。由於資料已經先被分並且依序放置到不同的磁碟上面,因此每塊磁碟所負責的資料量都降低了。照這樣的情況來看,越多塊磁碟組成的 raid-0效能會越好,因為每塊負責的資料量就更低了,這表示我的資料可以分散讓多塊磁碟來儲存,當然效能會變得更好。此外,磁碟總容量也變大了!因為每塊磁碟的容量最終會加總成為 raid-0的總容量。

使用此等級你必須要自行負擔資料損毀的風險,由上圖我們知道檔案是被切割成為適合每塊磁碟分割槽區塊的大小,然後再依序放置到各個磁碟中。如果某一塊磁碟損毀了,那麼檔案資料將缺一塊,此時這個檔案就損毀了。由於每個檔案都是這樣存放的,因此raid-0只要有任何一塊磁碟損毀,在 raid 上面的所有資料都會丟失而無法讀取

另外,如果使用不同容量的磁碟來組成 raid-0時,由於資料是一直等量依序放置到不同磁碟中,當小容量的區塊被用完了,那麼所有的資料都將被寫入到最大的那塊磁碟去。此時的效能就變差了,因為只剩下一塊可以存放資料。

2、raid-1(映像模式,mirror):完整備份

這種模式也是需要相同的磁碟容量,最好是一模一樣的磁碟。如果是不同容量的磁碟組成 raid-1時,那麼總容量將以最小的那一塊磁碟為主!這種模式主要是讓同乙份資料完整儲存在兩塊磁碟上面。舉例來說,如果我有乙個100mb 的檔案,且我僅有兩塊磁碟組成 raid-1時,那麼這兩塊磁碟將會同步寫入100mb 到它們的儲存空間去。因此,整體 raid 的容量幾乎少了50%。由於兩塊硬碟內容一模一樣,好像鏡子映照出來一樣,所以稱他為映象模式。

如上圖所示,乙份資料傳送到 raid-1之後會被分為兩股,並分別寫入到各個磁碟裡面去。由於同乙份資料會被分別寫入到其它不同磁碟,因此如果要寫入100mb 資料時,資料傳送到 i/o 匯流排後會被複製多份到各個磁碟,結果就是資料量感覺變大了,因此在大量寫入 raid-1的情況下,寫入的效能可能會變得非常差。好在如果你使用的是硬體 raid(磁碟陣列卡)時,磁碟陣列卡會主動複製乙份而不使用系統的 i/o 匯流排,效能方面則還可以。如果使用軟體磁碟陣列,可能性能就不好了。

由於兩塊磁碟內的資料一模一樣,所以任何一塊磁碟損毀時,你的資料還可以完整保留下來。所以我們可以說,raid-1最大的優點大概就在於資料的備份。不過由於磁碟容量有一半用在備份,因此總容量會是全部磁碟容量的一半而已。雖然 raid-1的寫入效能不佳,不過讀取的效能則還可以。這是因為資料有兩份在不同的磁碟上面,如果多個程序在讀取同一條資料時,raid 會自行取得最佳的讀取平衡。

3、raid 0+1,raid 1+0

所謂的 raid 0+1就是先讓兩塊磁碟組成 raid-0,並且這樣的設定共有兩組;然後將這兩組 raid-0 再組成一組 raid-1。這就是 raid 0+1。反過來說,raid 1+0就是先組成 raid-1再組成 raid-0的意思。

如下圖所示,disk a+disk b 組成第一組 raid 0,disk c+disk d 組成第二組 raid 0,然後這兩組再整合成為一組 raid 1.如果有100mb 的資料要寫入,則由於 raid 1的關係,兩組 raid 0都會寫入100mb,但由於 raid 0 的關係,因此每塊磁碟僅會寫入50mb 而已。如此一來不論哪一組 raid 0的磁碟損毀,只要另外一組 raid 0還存在,那麼就能夠通過 raid-1的機制來恢復資料。

由於具有 raid-0的優點,所以效能得以提公升,由於具有 raid-1的優點,所以資料得以備份。但是也由於 raid-1的缺點,所以總容量會少一半用來作備份。

4、raid-5:效能與資料備份的均衡考慮

raid-5至少要3塊以上的磁碟才能夠組成這種型別的磁碟陣列。這種磁碟陣列的資料寫入有點類似 raid-0,不過每個迴圈的寫入過程中,在每塊磁碟加入乙個同位檢查資料(parity),這個資料會記錄其它磁碟的備份資料,用於當有磁碟損毀時的救援。raid-5讀寫的情況如下圖所示。

圖中每次迴圈寫入時,都會有部分的同位檢查碼被記錄下來,並且記錄的同位檢查碼每次都記錄在不同的磁碟,因此,任何乙個磁碟損毀時都能夠通過其他磁碟的檢查碼來重建原本磁碟內的資料。不過需要注意的是,由於有同位檢查碼,因此 raid-5的總容量會是整體磁碟數量減一塊。以上圖為例,原本的三塊磁碟只會剩下兩塊磁碟的容量,而且當損毀的磁碟數量大於等於兩塊時,整組 raid5的資料就損毀了。因為 raid5預設僅能支援一塊磁碟的損毀情況。

在讀寫效能的比較上,讀取的效能還不賴,與 raid-0有的比,不過寫的效能就不見得能夠增加很多。

由於 raid-5僅能支援一塊磁碟的損毀,還有另外一種等級就是 raid-6,這個 raid-6則使用兩塊磁碟的容量作為 parity 的儲存,同時兩塊磁碟損毀時,資料還是可以救回來。

RAID磁碟陣列

raid redundant arrays of inexpensive disks 即容錯式廉價式磁碟陣列。raid可以通過一種技術,將多個較小的磁碟整合成乙個較大的磁碟裝置,儲存除外,還具備資料保護功能。分為以下幾個等級 raid 0 等量模式,stripe raid 1 對映模式,mirror...

RAID 磁碟陣列

raid的主要用途 提公升磁碟的整體效能,提供資料冗餘備份。raid的分類 硬raid,軟raid 硬raid 採用 pci express 卡物理地提供有專用的 raid 控制器。有 nvram 用於快取的讀取和寫入。快取用於 raid 重建時,即使出現電源故障,它會使用後備 的電池電源保持快取 ...

RAID磁碟陣列

raid 0 將多個較小的磁碟合併成乙個大的磁碟,不具有冗餘,並行i o,速度最快。raid 0 亦稱為帶區集。它是將多個 磁碟並列起來,成為乙個大硬碟。在存放資料時,其將資料按磁碟的個數來進行分段,然後同時將這些資料寫進這些盤中。所以,在所有的級別中,raid 0 的速度是最快的。但是 raid ...