免费高清特黄a大片,九一h片在线免费看,a免费国产一级特黄aa大,国产精品国产主播在线观看,成人精品一区久久久久,一级特黄aa大片,俄罗斯无遮挡一级毛片

分享

Raid的學(xué)習(xí)和基礎(chǔ)知識詳解

 xiaochong 2010-01-09
目錄

    1.什么是Raid; 
    2.RAID級別介紹;

      2.1 RAID0的特點與應(yīng)用;
      2.2 RAID1的特點與應(yīng)用;
      2.3 RAID 3的特點與應(yīng)用;
      2.4 RAID 4的特點與應(yīng)用;
      2.5 RAID 5的特點與應(yīng)用;
      2.6  RAID 0+1﹝RAID 10﹞的特點與應(yīng)用;

    3.  怎樣選擇Raid級別;

      3.1 RAID條切“striped”的存取模式;
      3.2 平行存取模式;

          3.2.1 并行存取的基本工作原理;
          3.2.2 并行存取RAID的最佳應(yīng)用;

      3.3 獨立存取模式;

          3.3.1 獨立存取RAID的最佳應(yīng)用;


    4.  創(chuàng)建和維護(hù)Raid;

      4.1   mdadm;

          4.1.1  創(chuàng)建分區(qū);
          4.1.2  創(chuàng)建RAID 5;
          4.1.3  創(chuàng)建RAID的配置文件;
          4.1.4   創(chuàng)建文件系統(tǒng);

      4.2  維護(hù)軟RAID;

          4.2.1  模擬故障磁盤;
          4.2.2   移除故障磁盤;
          4.2.3    添加新硬盤;


    5. 關(guān)于本文; 
    6. 更新日志;
    7. 參考文檔; 
    8. 相關(guān)文檔;
      



+++++++++++++++++++++++++++++++++++++++++++
正文
+++++++++++++++++++++++++++++++++++++++++++


1.什么是Raid;

RAID(Redundant Array of Inexpensive Disks)稱為廉價磁盤冗余陣列。RAID 的基本想法是把多個便宜的小磁盤組合到一起,成為一個磁盤組,使性能達(dá)到或超過一個容量巨大、價格昂貴的磁盤。
目前 RAID技術(shù)大致分為兩種:基于硬件的RAID技術(shù)和基于軟件的RAID技術(shù)。其中在Linux下通過自帶的軟件就能實現(xiàn)RAID功能,這樣便可省去購買昂貴的硬件 RAID 控制器和附件就能極大地增強磁盤的 IO 性能和可靠性。由于是用軟件去實現(xiàn)的RAID功能,所以它配置靈活、管理方便。同時使用軟件RAID,還可以實現(xiàn)將幾個物理磁盤合并成一個更大的虛擬設(shè)備,從而達(dá)到性能改進(jìn)和數(shù)據(jù)冗余的目的。當(dāng)然基于硬件的RAID解決方案比基于軟件RAID技術(shù)在使用性能和服務(wù)性能上稍勝一籌,具體表現(xiàn)在檢測和修復(fù)多位錯誤的能力、錯誤磁盤自動檢測和陣列重建等方面。


2.RAID級別介紹;

一般常用的RAID階層,分別是RAID 0、RAID1、RAID 3、RAID 4以及RAID 5,再加上二合一型 RAID 0+1﹝或稱RAID 10﹞。我們先把這些RAID級別的優(yōu)、缺點做個比較:

RAID級別 相對優(yōu)點 相對缺點
RAID 0 存取速度最快 沒有容錯
RAID 1 完全容錯 成本高
RAID 3 寫入性能最好 沒有多任務(wù)功能
RAID 4 具備多任務(wù)及容錯功能 Parity 磁盤驅(qū)動器造成性能瓶頸
RAID 5 具備多任務(wù)及容錯功能 寫入時有overhead
RAID 0+1/RAID 10 速度快、完全容錯 成本高


2.1 RAID0的特點與應(yīng)用;

也稱為條帶模式(striped),即把連續(xù)的數(shù)據(jù)分散到多個磁盤上存取,如圖所示。當(dāng)系統(tǒng)有數(shù)據(jù)請求就可以被多個磁盤并行的執(zhí)行,每個磁盤執(zhí)行屬于它自己的那部分?jǐn)?shù)據(jù)請求。這種數(shù)據(jù)上的并行操作可以充分利用總線的帶寬,顯著提高磁盤整體存取性能。因為讀取和寫入是在設(shè)備上并行完成的,讀取和寫入性能將會增加,這通常是運行 RAID 0 的主要原因。但RAID 0沒有數(shù)據(jù)冗余,如果驅(qū)動器出現(xiàn)故障,那么將無法恢復(fù)任何數(shù)據(jù)。


2.2 RAID 1 的特點與應(yīng)用;

RAID 1又稱為鏡像(Mirroring),一個具有全冗余的模式,如圖所示。RAID 1可以用于兩個或2xN個磁盤,并使用0塊或更多的備用磁盤,每次寫數(shù)據(jù)時會同時寫入鏡像盤。這種陣列可靠性很高,但其有效容量減小到總?cè)萘康囊话耄瑫r這些磁盤的大小應(yīng)該相等,否則總?cè)萘恐痪哂凶钚〈疟P的大小。


2.3 RAID 3特點與應(yīng)用;

RAID 3 是將數(shù)據(jù)先做XOR 運算,產(chǎn)生Parity Data后,在將數(shù)據(jù)和Parity Data 以并行存取模式寫入成員磁盤驅(qū)動器中,因此具備并行存取模式的優(yōu)點和缺點。進(jìn)一步來說,RAID 3每一筆數(shù)據(jù)傳輸,都更新整個Stripe﹝即每一個成員磁盤驅(qū)動器相對位置的數(shù)據(jù)都一起更新﹞,因此不會發(fā)生需要把部分磁盤驅(qū)動器現(xiàn)有的數(shù)據(jù)讀出來,與新數(shù)據(jù)作XOR運算,再寫入的情況發(fā)生﹝這個情況在 RAID 4和RAID 5會發(fā)生,一般稱之為Read、Modify、Write Process,我們姑且譯為為讀、改、寫過程﹞。因此,在所有 RAID級別中,RAID 3的寫入性能是最好的。

RAID 3的 Parity Data 一般都是存放在一個專屬的Parity Disk,但是由于每筆數(shù)據(jù)都更新整個Stripe,因此,RAID 3的 Parity Disk 并不會如RAID 4的 Parity Disk,會造成存取的瓶頸。

RAID 3的并行存取模式,需要RAID 控制器特別功能的支持,才能達(dá)到磁盤驅(qū)動器同步控制,而且上述寫入性能的優(yōu)點,以目前的Caching 技術(shù),都可以將之取代,因此一般認(rèn)為RAID 3的應(yīng)用,將逐漸淡出市場。

RAID 3 以其優(yōu)越的寫入性能,特別適合用在大型、連續(xù)性檔案寫入為主的應(yīng)用,例如繪圖、影像、視訊編輯、多媒體、數(shù)據(jù)倉儲、高速數(shù)據(jù)擷取等等。


2.4 RAID 4特點與應(yīng)用;

創(chuàng)建RAID 4需要三塊或更多的磁盤,它在一個驅(qū)動器上保存校驗信息,并以RAID 0方式將數(shù)據(jù)寫入其它磁盤,如圖所示。因為一塊磁盤是為校驗信息保留的,所以陣列的大小是(N-l)*S,其中S是陣列中最小驅(qū)動器的大小。就像在 RAID 1中那樣,磁盤的大小應(yīng)該相等。

如果一個驅(qū)動器出現(xiàn)故障,那么可以使用校驗信息來重建所有數(shù)據(jù)。如果兩個驅(qū)動器出現(xiàn)故障,那么所有數(shù)據(jù)都將丟失。不經(jīng)常使用這個級別的原因是校驗信息存儲在一個驅(qū)動器上。每次寫入其它磁盤時,都必須更新這些信息。因此,在大量寫入數(shù)據(jù)時很容易造成校驗磁盤的瓶頸,所以目前這個級別的RAID很少使用了。
RAID 4 是采取獨立存取模式,同時以單一專屬的Parity Disk 來存放Parity Data。RAID 4的每一筆傳輸﹝Strip﹞資料較長,而且可以執(zhí)行Overlapped I/O,因此其讀取的性能很好。

但是由于使用單一專屬的Parity Disk 來存放Parity Data,因此在寫入時,就會造成很大的瓶頸。因此,RAID 4并沒有被廣泛地應(yīng)用。


2.5 RAID 5特點與應(yīng)用;

在希望結(jié)合大量物理磁盤并且仍然保留一些冗余時,RAID 5 可能是最有用的 RAID 模式。RAID 5可以用在三塊或更多的磁盤上,并使用0塊或更多的備用磁盤。就像 RAID 4一樣,得到的 RAID5 設(shè)備的大小是(N-1)*S。

RAID5 與 RAID4 之間最大的區(qū)別就是校驗信息均勻分布在各個驅(qū)動器上,如圖4所示,這樣就避免了RAID 4中出現(xiàn)的瓶頸問題。如果其中一塊磁盤出現(xiàn)故障,那么由于有校驗信息,所以所有數(shù)據(jù)仍然可以保持不變。如果可以使用備用磁盤,那么在設(shè)備出現(xiàn)故障之后,將立即開始同步數(shù)據(jù)。如果兩塊磁盤同時出現(xiàn)故障,那么所有數(shù)據(jù)都會丟失。RAID5 可以經(jīng)受一塊磁盤故障,但不能經(jīng)受兩塊或多塊磁盤故障。
RAID 5也是采取獨立存取模式,但是其Parity Data 則是分散寫入到各個成員磁盤驅(qū)動器,因此,除了具備Overlapped I/O 多任務(wù)性能之外,同時也脫離如RAID 4單一專屬Parity Disk的寫入瓶頸。但是,RAI?D 5在座資料寫入時,仍然稍微受到"讀、改、寫過程"的拖累。

由于RAID 5 可以執(zhí)行Overlapped I/O 多任務(wù),因此當(dāng)RAID 5的成員磁盤驅(qū)動器數(shù)目越多,其性能也就越高,因為一個磁盤驅(qū)動器再一個時間只能執(zhí)行一個 Thread,所以磁盤驅(qū)動器越多,可以O(shè)verlapped 的Thread 就越多,當(dāng)然性能就越高。但是反過來說,磁盤驅(qū)動器越多,數(shù)組中可能有磁盤驅(qū)動器故障的機率就越高,整個數(shù)組的可靠度,或MTDL (Mean Time to Data Loss) 就會降低。

由于RAID 5將Parity Data 分散存在各個磁盤驅(qū)動器,因此很符合XOR技術(shù)的特性。例如,當(dāng)同時有好幾個寫入要求發(fā)生時,這些要寫入的數(shù)據(jù)以及Parity Data 可能都分散在不同的成員磁盤驅(qū)動器,因此RAID 控制器可以充分利用Overlapped I/O,同時讓好幾個磁盤驅(qū)動器分別作存取工作,如此,數(shù)組的整體性能就會提高很多。

基本上來說,多人多任務(wù)的環(huán)境,存取頻繁,數(shù)據(jù)量不是很大的應(yīng)用,都適合選用RAID 5 架構(gòu),例如企業(yè)檔案服務(wù)器、WEB 服務(wù)器、在線交易系統(tǒng)、電子商務(wù)等應(yīng)用,都是數(shù)據(jù)量小,存取頻繁的應(yīng)用。


2.6 RAID 0+1﹝RAID 10﹞的特點與應(yīng)用;

RAID 0+1/RAID 10,綜合了RAID 0 和 RAID 1的優(yōu)點,適合用在速度需求高,又要完全容錯,當(dāng)然經(jīng)費也很多的應(yīng)用。 RAID 0和RAID 1的原理很簡單,合起來之后還是很簡單,我們不打算詳細(xì)介紹,倒是要談?wù)劊琑AID 0+1到底應(yīng)該是 RAID 0 over RAID 1,還是RAID 1 over RAID 0,也就是說,是把多個RAID 1 做成RAID 0,還是把多個 RAID 0 做成RAID 1?

RAID 0 over RAID 1

假設(shè)我們有四臺磁盤驅(qū)動器,每兩臺磁盤驅(qū)動器先做成RAID 1,再把兩個RAID 1做成RAID 0,這就是RAID 0 over RAID 1:

(RAID 1) A = Drive A1 + Drive A2 (Mirrored)
(RAID 1) B = Drive B1 + Drive B2 (Mirrored)
RAID 0 = (RAID 1) A + (RAID 1) B (Striped)

RAID 1 over RAID 0

假設(shè)我們有四臺磁盤驅(qū)動器,每兩臺磁盤驅(qū)動器先做成RAID 0,再把兩個RAID 0做成RAID 1,這就是RAID 1 over RAID 0:

(RAID 0) A = Drive A1 + Drive A2 (Striped)
(RAID 0) B = Drive B1 + Drive B2 (Striped)
RAID 1 = (RAID 1) A + (RAID 1) B (Mirrored)

在這種架構(gòu)之下,如果 (RAID 0) A有一臺磁盤驅(qū)動器故障,(RAID 0) A就算毀了,當(dāng)然RAID 1仍然可以正常工作;如果這時 (RAID 0) B也有一臺磁盤驅(qū)動器故障,(RAID 0) B也就算毀了,此時RAID 1的兩磁盤驅(qū)動器都算故障,整個RAID 1資料就毀了。

因此,RAID 0 OVER RAID 1應(yīng)該比RAID 1 OVER RAID 0具備比較高的可靠度。所以我們建議,當(dāng)采用RAID 0+1/RAID 10架構(gòu)時,要先作RAID 1,再把數(shù)個RAID 1做成RAID 0。


3. 怎樣選擇Raid級別;

RAID 012345 到底哪一種適合你,不只是成本問題,容錯功能和傳輸性能的考慮以及未來之可擴充性都應(yīng)該符合應(yīng)用的需求。
RAID 在市場上的的應(yīng)用,已經(jīng)不是新鮮的事兒了,很多人都大略了解RAID的基本觀念,以及各個不同RAID LEVEL 的區(qū)分。但是在實際應(yīng)用 面,我們發(fā)現(xiàn),有很多使用者對于選擇一個合適的RAID LEVEL,仍然無法很確切的掌握,尤其是對于RAID 0+1 (10),RAID 3, RAID 5之間的選擇取舍,更是舉棋不定。


3.1 RAID條切“striped”的存取模式;

在使用數(shù)據(jù)條切﹝Data Stripping﹞ 的RAID 系統(tǒng)之中,對成員磁盤驅(qū)動器的存取方式,可分為兩種:

并行存取﹝Paralleled Access﹞
獨立存取﹝Independent Access﹞

RAID 2和RAID 3 是采取并行存取模式。

RAID 0、RAID 4、RAID 5及RAID 6則是采用獨立存取模式。


3.2 平行存取模式;

并行存取模式支持里,是把所有磁盤驅(qū)動器的主軸馬達(dá)作精密的控制,使每個磁盤的位置都彼此同步,然后對每一個磁盤驅(qū)動器作一個很短的I/O數(shù)據(jù)傳送,如此一來,從主機來的每一個I/O 指令,都平均分布到每一個磁盤驅(qū)動器。

為了達(dá)到并行存取的功能,RAID 中的每一個磁盤驅(qū)動器,都必須具備幾乎完全相同的規(guī)格:轉(zhuǎn)速必須一樣;磁頭搜尋速度﹝Access Time﹞必須相同;Buffer 或Cache的容量和存取速度要一致;CPU處理指令的速度要相同;I/O Channel 的速度也要一樣??偠灾?,要利用并行存取模式,RAID 中所有的成員磁盤驅(qū)動器,應(yīng)該使用同一廠牌,相同型號的磁盤驅(qū)動器。


3.2.1 并行存取的基本工作原理;

假設(shè)RAID中共有四部相同規(guī)格的磁盤驅(qū)動器,分別為磁盤驅(qū)動器A、B、C和D,我們在把時間軸略分為T0、T1、T2、T3和T4:

T0: RAID控制器將第一筆數(shù)據(jù)傳送到A的Buffer,磁盤驅(qū)動器B、C和D的Buffer都是空的,在等待中
T1: RAID控制器將第二筆數(shù)據(jù)傳送到B的Buffer,A開始把Buffer中的數(shù)據(jù)寫入扇區(qū),磁盤驅(qū)動器C和D的Buffer都是空的,在等待中
T2: RAID控制器將第三筆數(shù)據(jù)傳送到C的Buffer,B開始把Buffer中的數(shù)據(jù)寫入扇區(qū),A已經(jīng)完成寫入動作,磁盤驅(qū)動器D和A的Buffer都是空的,在等待中
T3: RAID控制器將第四筆數(shù)據(jù)傳送到D的Buffer,C開始把Buffer中的數(shù)據(jù)寫入扇區(qū),B已經(jīng)完成寫入動作,磁盤驅(qū)動器A和B的Buffer都是空的,在等待中
T4: RAID控制器將第五筆數(shù)據(jù)傳送到A的Buffer,D開始把Buffer中的數(shù)據(jù)寫入扇區(qū),C已經(jīng)完成寫入動作,磁盤驅(qū)動器B和C的Buffer都是空的,在等待中

如此一直循環(huán),一直到把從主機來的這個I/O 指令處理完畢,RAID控制器才會受處理下一個I/O 指令。重點是在任何一個磁盤驅(qū)動器準(zhǔn)備好把數(shù)據(jù)寫入扇區(qū)時,該目的扇區(qū)必須剛剛好轉(zhuǎn)到磁頭下。同時RAID控制器每依次傳給一個磁盤驅(qū)動器的數(shù)據(jù)長度,也必須剛剛好,配合磁盤驅(qū)動器的轉(zhuǎn)速,否則一旦發(fā)生 miss,RAID 性能就大打折扣。

3.2.2 并行存取RAID的最佳應(yīng)用;

并行存取RAID之架構(gòu),以其精細(xì)的馬達(dá)控制和分布之?dāng)?shù)據(jù)傳輸,將數(shù)組中每一個磁盤驅(qū)動器的性能發(fā)揮到最大,同時充分利用Storage Bus的頻寬,因此特別適合應(yīng)用在大型、數(shù)據(jù)連續(xù)的檔案存取應(yīng)用,例如:

影像、視訊檔案服務(wù)器
數(shù)據(jù)倉儲系統(tǒng)
多媒體數(shù)據(jù)庫
電子圖書館
印前或底片輸出檔案服務(wù)器
其它大型且連續(xù)性檔案服務(wù)器

由于并行存取RAID架構(gòu)之特性,RAID 控制器一次只能處理一個I/O要求,無法執(zhí)行Overlapping 的多任務(wù),因此非常不適合應(yīng)用在 I/O次數(shù)頻繁、數(shù)據(jù)隨機存取、每筆數(shù)據(jù)傳輸量小的環(huán)境。同時,因為并行存取無法執(zhí)行Overlapping 的多任務(wù),因此沒有辦法"隱藏"磁盤驅(qū)動器搜尋﹝seek﹞的時間,而且在每一個I/O的第一筆數(shù)據(jù)傳輸,都要等待第一個磁盤驅(qū)動器旋轉(zhuǎn)延遲﹝rotational latency﹞,平均為旋轉(zhuǎn)半圈的時間,如果使用一萬轉(zhuǎn)的磁盤驅(qū)動器,平均就需要等待50 usec。所以機械延遲時間,是并行存取架構(gòu)的最大問題。


3.3 獨立存取模式;

相對于并行存取模式,獨立存取模式并不對成員磁盤驅(qū)動器作同步轉(zhuǎn)動控制,其對每個磁盤驅(qū)動器的存取,都是獨立且沒有順序和時間間格的限制,同時每筆傳輸?shù)臄?shù)據(jù)量都比較大。因此,獨立存取模式可以盡量地利用overlapping 多任務(wù)、Tagged Command Queuing等等高階功能,來" 隱藏"上述磁盤驅(qū)動器的機械時間延遲﹝Seek 和Rotational Latency﹞。

由于獨立存取模式可以做overlapping 多任務(wù),而且可以同時處理來自多個主機不同的I/O Requests,在多主機環(huán)境﹝如Clustering﹞,更可發(fā)揮最大的性能。


3.3.1 獨立存取RAID的最佳應(yīng)用;

由于獨立存取模式可以同時接受多個I/O Requests,因此特別適合應(yīng)用在數(shù)據(jù)存取頻繁、每筆數(shù)據(jù)量較小的系統(tǒng)。例如:

在線交易系統(tǒng)或電子商務(wù)應(yīng)用
多使用者數(shù)據(jù)庫
ERM及MRP 系統(tǒng)
小文件之文件服務(wù)器


4. 創(chuàng)建和維護(hù)Raid;


4.1 mdadm;

在Linux服務(wù)器中是通過mdadm工具來創(chuàng)建和維護(hù)軟RAID的,mdadm在創(chuàng)建和管理軟RAID時非常方便,而且很靈活。mdadm常用的參數(shù)有如下:

    * --create或-C:創(chuàng)建一個新的軟RAID,后面接raid設(shè)備的名稱。例如,/dev/md0,/dev/md1等。
    *--assemble或-A:加載一個已存在的陣列,后面跟陣列以及設(shè)備的名稱。
    *--detail或-D:輸出指定RAID設(shè)備的詳細(xì)信息。
    *--stop或-S:停止指定的RAID設(shè)備。
    *--level或-l:設(shè)置RAID的級別,例如,設(shè)置“--level=5”則表示創(chuàng)建陣列的級別是RAID 5。
    *--raid-devices或-n:指定陣列中活動磁盤的數(shù)目。
    *--scan或-s:掃描配置文件或/proc/mdstat文件來搜索軟RAID的配置信息,該參數(shù)不能單獨使用,只能配置其它參數(shù)才能使用。

下面將通過一個實例來講述通過mdadm如何實現(xiàn)軟RAID的功能。


4.1.1 創(chuàng)建分區(qū);

【實例1】

某臺機器上有4塊空閑的硬盤,分別是/dev/sdb、/dev/sdc、/dev/sdd和/dev/sde,并用這四塊硬盤來創(chuàng)建來創(chuàng)建一個RAID 5,具體操作步驟如下:

首先使用“fdisk”命令在每塊硬盤上創(chuàng)建一個分區(qū),操作如下:

root@xiaop-laptop:/# fdisk /dev/sdb
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel. Changes will remain in memory only,
until you decide to write them. After that, of course, the previous
content won't be recoverable.
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
Command (m for help): n #按n創(chuàng)建新分區(qū)
Command action
e extended
p primary partition (1-4) #輸入p 選擇創(chuàng)建主分區(qū)
p
Partition number (1-4): 1 #輸入 1 創(chuàng)建第一個主分區(qū)
First cylinder (1-102, default 1): #直接回車,選擇分區(qū)開始柱面這里就從 1 開始
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-102, default 102):
Using default value 102
Command (m for help): w #然后輸入w寫盤
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.

針對其余幾塊硬盤也做相同操作,按照此步驟在另外的兩塊磁盤上做同樣的操作;
全部做完后,運行 fdisk -l 應(yīng)該可以看到如下信息:

           Disk /dev/sdb: 214 MB, 214748160 bytes
64 heads, 32 sectors/track, 204 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
   Device Boot Start End Blocks Id System
/dev/sdb1 1 204 208880 fd Linux raid autodetect
Disk /dev/sdc: 214 MB, 214748160 bytes
64 heads, 32 sectors/track, 204 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
   Device Boot Start End Blocks Id System
/dev/sdc1 1 204 208880 fd Linux raid autodetect
Disk /dev/sdd: 214 MB, 214748160 bytes
64 heads, 32 sectors/track, 204 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
   Device Boot Start End Blocks Id System
/dev/sdd1 1 204 208880 fd Linux raid autodetect

看到上面三個磁盤上分別建了一個分區(qū),分區(qū)大小都一樣;


4.1.2 創(chuàng)建RAID 5;

創(chuàng)建完/dev/sdb1、/dev/sdc1、/dev/sdd1、/dev/sde1四個分區(qū)后,下面就可以來創(chuàng)建RAID 5了,其中設(shè)定/dev/sde1作為備用設(shè)備,其余為活動設(shè)備,備用設(shè)備的作用是一旦某一設(shè)備損壞可以立即使用備用設(shè)備替換。操作命令如下:

root@xiaop-laptop:/# mdadm --create /dev/md0 --level=5 --raid-devices=3 --spare-devices=1 /dev/sd[b-e]1
mdadm: array /dev/md0 started.

其中“--spare-devices=1”表示當(dāng)前陣列中備用設(shè)備只有一塊,即作為備用設(shè)備的“/dev/sde1”,若有多塊備用設(shè)備,則將“--spare-devices”的值設(shè)置為相應(yīng)的數(shù)目。成功創(chuàng)建完成RAID設(shè)備后,通過如下命令可以查看到RAID的詳細(xì)信息:
root@xiaop-laptop:/# mdadm --detail /dev/md0
/dev/md0:
Version : 00.90.01
Creation Time : Mon Jan 22 10:55:49 2007
Raid Level : raid5
Array Size : 208640 (203.75 MiB 213.65 MB)
Device Size : 104320 (101.88 MiB 106.82 MB)
Raid Devices : 3
Total Devices : 4
Preferred Minor : 0
Persistence : Superblock is persistent
Update Time : Mon Jan 22 10:55:52 2007
State : clean
Active Devices : 3
Working Devices : 4
Failed Devices : 0
Spare Devices : 1
Layout : left-symmetric
Chunk Size : 64K
Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sdb1
1 8 33 1 active sync /dev/sdc1
2 8 49 2 active sync /dev/sdd1
3 8 65 -1 spare /dev/sde1
UUID : b372436a:6ba09b3d:2c80612c:efe19d75
Events : 0.6


4.1.3 創(chuàng)建RAID的配置文件;

RAID的配置文件名為“mdadm.conf”,默認(rèn)是不存在的,所以需要手工創(chuàng)建,該配置文件存在的主要作用是系統(tǒng)啟動的時候能夠自動加載軟RAID,同時也方便日后管理。“mdadm.conf”文件內(nèi)容包括:由DEVICE選項指定用于軟RAID的所有設(shè)備,和ARRAY選項所指定陣列的設(shè)備名、RAID級別、陣列中活動設(shè)備的數(shù)目以及設(shè)備的UUID號。生成RAID配置文件操做如下:

root@xiaop-laptop:/# mdadm --detail --scan > /etc/mdadm.conf

但是當(dāng)前生成“mdadm.conf”文件的內(nèi)容并不符合所規(guī)定的格式,所以也是不生效的,這時需要手工修改該文件內(nèi)容為如下格式:
root@xiaop-laptop:/# vi /etc/mdadm.conf
DEVICE /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
ARRAY /dev/md0 level=raid5 num-devices=3 UUID=b372436a:6ba09b3d:2c80612c:efe19d75

如果沒有創(chuàng)建RAID的配置文件,那么在每次系統(tǒng)啟動后,需要手工加載軟RAID才能使用,手工加載軟RAID的命令是:
root@xiaop-laptop:/# mdadm --assemble /dev/md0 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
mdadm: /dev/md0 has been started with 3 drives and 1 spare.


4.1.4 創(chuàng)建文件系統(tǒng);

接下來就只需要在RAID設(shè)備上創(chuàng)建文件系統(tǒng)就可使用了,在RAID設(shè)備上創(chuàng)建文件系統(tǒng)和在分區(qū)或磁盤上創(chuàng)建文件系統(tǒng)的方法一樣。在設(shè)備“/dev/md0”上創(chuàng)建ext3的文件系統(tǒng)命令如下:

root@xiaop-laptop:/# mkfs.ext3 /dev/md0

創(chuàng)建完文件系統(tǒng)后,將該設(shè)備掛載上就可正常的使用了。如果要創(chuàng)建其它級別的RAID,其步驟和創(chuàng)建RAID 5基本都一樣,區(qū)別在于指定“--level”值的時候,需要將該值設(shè)置為相應(yīng)的級別。


4.2 維護(hù)軟RAID;

軟RAID雖然很大程度上能保證數(shù)據(jù)的可靠性,但是在日常的工作中,有時可能需要對RAID進(jìn)行調(diào)整以及不排除RAID設(shè)備物理介質(zhì)損壞的可能等相關(guān)問題

,當(dāng)遇到這些情況時,那么同樣可以通過“mdadm”命令來完成這些操作。下面也將通過一個實例來介紹更換RAID故障磁盤的完整過程。


4.2.1 模擬故障磁盤;

【實例2】

以前面的【實例1】為基礎(chǔ),假定其中的“/dev/sdc1”設(shè)備出現(xiàn)故障時,更換一個新的磁盤,整個過程的詳細(xì)說明如下:
在實際中,當(dāng)軟RAID檢測到某個磁盤有故障時,會自動標(biāo)記該磁盤為故障磁盤,并停止對故障磁盤的讀寫操作,所以這里需要將/dev/sdc1標(biāo)記為出現(xiàn)故障的磁盤,命令如下:

root@xiaop-laptop:/# mdadm /dev/md0 --fail /dev/sdc1
mdadm: set /dev/sdc1 faulty in /dev/md0

由于【實例1】中的RAID 5設(shè)置了一個備用設(shè)備,所以當(dāng)有標(biāo)記為故障磁盤的時候,備用磁盤會自動頂替故障磁盤工作,陣列也能夠在短時間內(nèi)實現(xiàn)重建。通過“/proc/mdstat”文件可查看到當(dāng)前陣列的狀態(tài),如下:

root@xiaop-laptop:/# cat /proc/mdstat
Personalities : [raid5]
md0 : active raid5 sde1[3] sdb1[0] sdd1[2] sdc1[4](F)
208640 blocks level 5, 64k chunk, algorithm 2 [3/2] [U_U]
[=====>...............] recovery = 26.4% (28416/104320) finish=0.0min speed=28416K/sec
unused devices: <none>

以上信息表明陣列正在重建,當(dāng)一個設(shè)備出現(xiàn)故障或被標(biāo)記故障時,相應(yīng)設(shè)備的方括號后將被標(biāo)以(F),如“sdc1[4](F)”,其中“[3/2]”的第一位數(shù)表示陣列所包含的設(shè)備數(shù),第二位數(shù)表示活動的設(shè)備數(shù),因為目前有一個故障設(shè)備,所以第二位數(shù)為2;這時的陣列以降級模式運行,雖然該陣列仍然可用,但是不具有數(shù)據(jù)冗余;而“[U_U]”表示當(dāng)前陣列可以正常使用的設(shè)備是/dev/sdb1和/dev/sdd1,如果是設(shè)備“/dev/sdb1”出現(xiàn)故障時,則將變成[_UU]。

重建完數(shù)據(jù)后,再次查看陣列狀態(tài)時,就會發(fā)現(xiàn)當(dāng)前的RAID設(shè)備又恢復(fù)了正常,如下:

root@xiaop-laptop:/# cat /proc/mdstat
Personalities : [raid5]
md0 : active raid5 sde1[1] sdb1[0] sdd1[2] sdc1[3](F)
208640 blocks level 5, 64k chunk, algorithm 2 [3/3] [UUU]
unused devices: <none>


4.2.2 移除故障磁盤;

既然“/dev/sdc1”出現(xiàn)了故障,當(dāng)然要移除該設(shè)備,移除故障磁盤的操作如下:

root@xiaop-laptop:/# mdadm /dev/md0 --remove /dev/sdc1
mdadm: hot removed /dev/sdc1

其中“—remove”表示移除指定RAID設(shè)備中的某個磁盤,也可用“-r”來代替該參數(shù)。


4.2.3 添加新硬盤;

在添加新的硬盤前,同樣需要對新硬盤進(jìn)行創(chuàng)建分區(qū)的操作,例如,添加新硬盤的設(shè)備名為“/dev/sdc1”,則具體操作如下:

root@xiaop-laptop:/# mdadm /dev/md0 --add /dev/sdc1
mdadm: hot added /dev/sdc1

其中“--add”與前面的“--remove”其義剛好相反,用于將某個磁盤添加到指定的設(shè)備中,也可用“-a”代替該參數(shù)。

由于【實例1】中的RAID 5設(shè)置了一個備用設(shè)備,所以不需要做任何操作RAID 5也能正常運行,但是如果這時某塊磁盤再出現(xiàn)故障的話,會導(dǎo)致RAID 5沒有數(shù)據(jù)冗余功能,這對于存放重要的數(shù)據(jù)的設(shè)備來說顯得太不安全了。那么這時增加到RAID 5中的“/dev/sdc1”則作為備用設(shè)備出現(xiàn)在陣列中,如下:

root@xiaop-laptop:/# mdadm --detail /dev/md0
/dev/md0:
……
……
Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sdb1
1 8 65 1 active sync /dev/sde1
2 8 49 2 active sync /dev/sdd1
3 8 33 -1 spare /dev/sdc1
UUID : b372436a:6ba09b3d:2c80612c:efe19d75
Events : 0.133


5. 關(guān)于本文;

本文僅僅簡單介紹了Raid,屬于最基本的入門介紹,沒有涉及到高級應(yīng)用,如果想深入了解請參考其它相關(guān)文檔;


6. 更新日志;

07.7.25 v0.1b


7. 參考文檔;


8. 相關(guān)文檔;

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多