歡迎您光臨本站 註冊首頁

Linux陣列 RAID詳解

←手機掃碼閱讀     火星人 @ 2014-03-09 , reply:0

主要內容:(筆記總結--會不定時補充、修改,如有錯誤,歡迎指正探討)

一、 RAID詳解
二、 mdadm工具介紹
三、 創建一個RAID的基本過程
四、 磁碟陣列的管理
五、 RAID優化

RAID詳解:


描述:RAID:(Redundant Array of indenpensive Disk) 獨立磁碟冗餘陣列: 磁碟陣列是把多個磁碟組成一個陣列,當作單一磁碟使用,它將數據以分段(striping)的方式儲存在不同的磁碟中,存取數據時,陣列中的相關磁碟一起動作,大幅減低數據的存取時間,同時有更佳的空間利用率.磁碟陣列利用的不同的技術,稱為RAID level,不同的level針對不同的系統及應用,以解決數據安全的問題.簡單來說,RAID把多個硬碟組合成為一個邏輯扇區,因此,操作系統只會把它當作一個硬碟.

一般高性能的磁碟陣列都是以硬體的形式來達成,進一步的把磁碟存取控制及磁碟陣列結合在一個控制器(RAID controler)或控制卡上,針對不同的用戶解決人們對磁碟輸輸入輸出系統的四大要求:
(1)增加存取速度,
(2)容錯(fault tolerance),即安全性
(3)有效的利用磁碟利用率;
(4)盡量的平衡CPU,內存及磁碟的性能差異,提高主機的整體工作性能.

可提供的功能

1.冗餘(容錯)

2.性能提升


RAID分類:
1. 硬體RAID:用RAId介面卡來實現;需要內核支持其驅動,並且該類設備設備顯示為SCSI設備,代號為/dev/sd*
2. 軟體RAID:用內核中的MD(multiple devices)模塊實現,該類設備在/etc/下表示為:md*;在現在的RH 5版本中使用mdadm工具管理軟RAID;(雖然來說可以用軟體模擬實現raid,但是相對對磁碟控制的功能及性能不如硬體實現的好,生產環境中最好使用硬體raid


幾種常見RAID類型描述:

圖示:


1. RAID-0 :striping(條帶模式),至少需要兩塊磁碟,做RAID分區的大小最好是相同的(可以充分發揮並優勢);而數據分散存儲於不同的磁碟上,在讀寫的時候可以實現併發,所以相對其讀寫性能最好;但是沒有容錯功能,任何一個磁碟的損壞將損壞全部數據;
2. RAID-1 :mirroring(鏡像卷),至少需要兩塊硬碟,raid大小等於兩個raid分區中最小的容量(最好將分區大小分為一樣),可增加熱備盤提供一定的備份能力;數據有冗餘,在存儲時同時寫入兩塊硬碟,實現了數據備份;但相對降低了寫入性能,但是讀取數據時可以併發,幾乎類似於raid-0的讀取效率;
3. RAID-5 :需要三塊或以上硬碟,可以提供熱備盤實現故障的恢復;採用奇偶效驗,可靠性強,且只有同時損壞兩塊硬碟時數據才會完全損壞,只損壞一塊硬碟時,系統會根據存儲的奇偶校驗位重建數據,臨時提供服務;此時如果有熱備盤,系統還會自動在熱備盤上重建故障磁碟上的數據;


存儲方式:簡單來說就是,磁碟陣列的第一個磁碟分段是校驗值,第二個磁碟至后一個磁碟再折回第一個磁碟的分段是數據,然後第二個磁碟的分段是校驗值,從第三個磁碟再折回第二個磁碟的分段是數據,以此類推,直到放完數據為止.這樣數據與校驗值的循環分離存儲就可以達到一定的故障重建功能;但是raid-5的控制較為複雜,且計算大量的校驗碼,可能給系統造成額外計算的負擔(軟raid來說,硬體有自己的數據處理能力)

註:RAID中的容錯表示即使磁碟故障,數據仍能保持完整,可讓系統存取到正確的數據,而SCSI的磁碟陣列更可在工作中抽換磁碟,並可自動重建故障磁碟的數據.
熱備份(hot spare or hot standby driver):為了加強容錯的功能以及使系統在磁碟故障的情況下能迅速的重建數據,以維持系統的性能,一般的磁碟陣列系統都可使用熱備份(hot spare or hot standby driver)的功能,所謂熱備份是在建立(configure) 磁碟陣列系統的時候,將其中一磁碟指定為後備磁碟,該磁碟在平常並不操作,但若陣列中某一磁碟發生故障時,磁碟陣列即以後備磁碟取代故障磁碟,並自動將故障磁碟的數據重建(rebuild)在後備磁碟之上,反應快速,加上快取內存減少了磁碟的存取, 所以數據重建很快即可完成,對系統的性能影響很小.
在任何時候都不要用同一個硬碟上的多個區來做RAID,那樣不僅不能提高系統的性能,反而會大大降低整體系統的系能;


對上面幾種常用的RAID類型分析后,可知,RAID-0主要可以提高磁碟性能,RAID-1主要可以實現備份容錯(RAID-5由於控制機制複雜在此暫不使用),所以可以在實際生產環境下考慮結合RAID-0和RAID-1來實現磁碟存儲系統的高性能、高容錯.


下面圖示的兩種raid結合方式解析:



對於一:底層分別用有兩塊硬碟的raid0實現高併發,再集合兩個raid0組實現冗餘;下層的任意一個raid0組中有任意一塊硬碟會使改組失效,但是兩外一個組仍能提供全部數據;
對於二:底層用raid-1實現數冗餘,上層用raid-2實現高併發,該種結構中任意一個硬碟的故障,不對本組整體數據工作構成破壞性影響;所以感覺該種方案更優異,在實際生產中有部分應用(具體配置過程再文章附);




mdadm工具介紹:
描述:
mdadm(multiple devices admin)是 linux下標準的的軟raid管理工具,是一個模式化工具(在不同的模式下);程序工作在內存用戶程序區,為用戶提供RAID介面來操作內核的模塊,實現各種功能;
RedHat已經內置了該工具;官方最新的版本應該是3.2,需要最新版本可以到官方網站下載或 Normal 0 7.8 磅 0 2 false false false

MicrosoftInternetExplorer4 http://www.kernel.org/pub/linux/utils/raid/mdadm/下載源碼包進行編譯安裝(官網一直打不開o(╯□╰)o).

實驗環境:RedHhat5.4 ;mdadm版本為v2.6.9 ;

可能不同的版本選項等略有變動,使用時請注意對照自己版本的man文檔;

基本語法:
# mdadm [mode] <raid-device> [options] <component-devices>

目前支持的模式:


LINEAR(線性模式)、RAID0(striping條帶模式)、RAID1(mirroring)、 RAID-4、RAID-5、 RAID-6、 RAID-10、 MULTIPATH和FAULTY
LINEAR:線性模式,該模式不是raid的標準模式,其主要作用是可以實現將幾塊小的硬碟組合為一塊大硬碟來使用;數組存儲時一次存滿一個硬碟在使用下一個硬碟;對上層來說操作的是一個大硬碟

模式(7種):
Assemble:裝配模式:加入一個以前定義的陣列;可以使挺值得陣列或從其他主機移出的陣列
Build: 創建:創建一個沒有超級塊的陣列
Create: 創建一個新的陣列,每個設備具有超級塊
Follow or Monitor: 監控RAID的狀態,一般只對RAID-1/4/5/6/10等有冗餘功能的模式來使用
Grow:(Grow or shrink) 改變RAID的容量或陣列中的設備數目;收縮一般指的是數據收縮或重建;
Manage: 管理陣列(如添加spare盤和刪除故障盤)
Incremental Assembly:添加一個設備到一個適當的陣列.
Misc: 允許單獨對陣列中的某個設備進行操作(如抹去superblocks 或停止陣列)
Auto-detect: 此模式不作用於特定的設備或陣列,而是要求在Linux內核啟動任何自動檢測到的陣列.

OPTIONS:

選擇一個模式的選項:(Options for selecting a mode)
-A, --assemble: 加入並開啟一個以前定義的陣列
-B, --build: 創建一個沒有超級塊的陣列(Build a legacy array without superblocks.)


-C, --create: 創建一個新的陣列
-F, --follow, --monitor:選擇監控(Monitor)模式
-G, --grow: 改變激活陣列的大小或形態
-I, --incremental: 添加一個單獨的設備到合適的陣列,並可能啟動陣列
--auto-detect: 請求內核啟動任何自動檢測到的陣列


不特定於一個模式的選項:(Options that are not mode-specific)
-c, --config=: 指定配置文件,預設為 /etc/mdadm.conf
-s, --scan: 掃描配置文件或 /proc/mdstat以搜尋丟失的信息.默認配置文件:/etc/mdadm.conf
-h, --help: 幫助信息,用在以上選項后,則顯示該選項信息
-v, --verbose: 顯示細節,一般只能跟 --detile 或 --examine一起使用,顯示中級的信息;
-b, --brief: 較少的細節.用於 --detail 和 --examine 選項
--help-options: 顯示更詳細的幫助
-V, --version: 版本信息
-q,--quit: 安靜模式;加上該選項能使mdadm不顯示純消息性的信息,除非那是一個重要的報告;

create build 或grow時使用的選項:
-n, --raid-devices=: 指定陣列中活動的device數目,不包括spare磁碟,這個數目只能由--grow修改
-x, --spare-devices=:指定初始陣列的冗餘device 數目即spare device數目;
-c, --chunk=: Specify chunk size of kibibytes. 預設為 64. chunk-size是一個重要的參數,決定了一次向陣列中每個磁碟寫入數據的量

Chunk :,可以理解為raid分儲數據時每個數據段的大小(通常為32/64/128等這類數字大小);合理的選擇chunk大小非常重要,若chunk過大可能一塊磁碟上的帶區空間就可以滿足大部分的I/O操作,是的數據的讀寫只局限於一塊硬碟上,這便不能充分發揮RAID併發的優勢;如果chunk設置過小,任何很小的I/O指令都 可能引發大量的讀寫操作,不能良好發揮併發性能,佔用過多的控制器匯流排帶寬,也影響了陣列的整體性能.所以,在創建帶區時,我們應該根據實際應用的需要,合理的選擇帶區大小.)


-z, --size=:組建RAID1/4/5/6后從每個device獲取的空間總數;但是大小必須為chunk的倍數,還需要在每個設備給RAID的superblock留至少128KB的大小.
--rounding=: Specify rounding factor for linear array (==chunk size)
-l, --level=: 設定 raid level.raid的幾倍
--create: 可用:linear, raid0, 0, stripe, raid1,1, mirror, raid4, 4, raid5, 5, raid6, 6, multipath, mp.
--build: 可用:linear, raid0, 0, stripe.
-p, --layout=:設定raid5 和raid10的奇偶校驗規則;並且控制故障的故障模式;其中RAID-5的奇偶校驗可以在設置為::eft-asymmetric, left-symmetric, right-asymmetric, right-symmetric, la, ra, ls, rs.預設為left-symmetric
--parity: 類似於--layout=
--assume-clean:目前僅用於 --build 選項
-R, --run: 陣列中的某一部分出現在其他陣列或文件系統中時,mdadm會確認該陣列.此選項將不作確認.
-f, --force: 通常mdadm不允許只用一個device 創建陣列,此時創建raid5時會使用一個device作為missing drive.此選項正相反
-N,--name=: 設定陣列的名稱


管理模式選項(For Manage mode):
-a, --add: 添加列出的設備到一個工作的陣列中;當陣列處於降級狀態(故障狀態),你添加一個設備,該設備將作為備用設備並且在該備用設備上開始數據重建.
-r, --remove:從陣列中移除列出的設備,並且該設備不能處於活動狀態(是冗餘盤或故障盤);
-f,--fail:將列出的設備標記為faulty狀態,標記后就可以移除設備;(可以作為故障恢復的測試手段)
--set-faulty:同上


監控模式選項(For Monitor mode):


-m, --mail: 設置一個mail地址,在報警時給該mail發信;該地址可寫入conf文件,在啟動陣列是生效
-p, --program, --alert:當檢測到一個事件時運行一個指定的程序
-y, --syslog: 設置所有的事件記錄於syslog中
-t, --test: 給啟動時發現的每個陣列生成test警告信息;該信息傳遞給mail或報警程序;(以此來測試報警信息是否能正確接收)

MISC模式選項:
Usage: mdadm options ... devices ...
-Q, --query: 查看一個device,判斷它為一個 md device 或是 一個 md 陣列的一部分
-D, --detail: 列印一個或多個md device 的詳細信息
-E, --examine:列印 device 上的 md superblock 的內容


創建一個軟RAID的基本過程:

(以三個分區模擬創建一個raid5為操作示例,對於level0/1的How-To不再寫出,如果理解原理,配置真的很簡單;)
1. 生成raid組成:
linux中陣列組成單元是分區,分區可以是整個設備也可以是設備多個分區中的一個;在fdisk分區后需要將分區標誌改為Linux raid auto類型;

  1. # 分區后如下:
  2. Device Boot Start End Blocks Id System
  3. /dev/sdb1 1 609 4891761 fd Linux raid autodetect

  4. /dev/sdc1 1 609 4891761 fd Linux raid autodetect
  5. /dev/sdd1 1 609 4891761 fd Linux raid autodetect

2. 建立磁碟陣列

  1. # mdadm -C /dev/md0 -a yes -l 5 -n 3 /dev/sd{b,c,d}1
  2. mdadm: array /dev/md0 started.
  3. -C :創建一個陣列,後跟陣列名稱
  4. -l :指定陣列的級別;
  5. -n :指定陣列中活動devices的數目

3. 查看陣列狀態

  1. [[email protected] ~]# cat /proc/mdstat
  2. Personalities : [raid6] [raid5] [raid4]
  3. md0 : active raid5 sdd1[2] sdc1[1] sdb1[0]
  4. 9783296 blocks level 5, 64k chunk, algorithm 2 [3/3] [UUU]
  5. unused devices: <none>

通過cat /proc/mdstat信息查看所有運行的RAID陣列的狀態,在第一行中是MD的設備名md0,active和inactive選項表示陣列是否能讀/寫,接著是陣列的RAID級別raid5,後面是屬於陣列的塊設備,方括弧[]里的數字錶示設備在陣列中的序號,(S)表示其是熱備盤,(F)表示這個磁碟是 faulty狀態.下一行中是陣列的大小,用塊數來表示;後面有chunk-size的大小,然後是layout類型,不同RAID級別的 layout類型不同,[3/3] [UUU]表示陣列有3個磁碟並且3個磁碟都是正常運行的,而[2/3]和[_UU] 表示陣列有3個磁碟中2個是正常運行的,下劃線對應的那個位置的磁碟是faulty狀態的.

  1. 查看陣列的詳細信息:
  2. [[email protected] ~]# mdadm --detail /dev/md0
  3. /dev/md0:
  4. Version : 0.90
  5. Creation Time : Tue Mar 15 08:17:52 2011
  6. Raid Level : raid5
  7. Array Size : 9783296 (9.33 GiB 10.02 GB)
  8. Used Dev Size : 4891648 (4.67 GiB 5.01 GB)
  9. Raid Devices : 3
  10. Total Devices : 3
  11. Preferred Minor : 0
  12. Persistence : Superblock is persistent
  13. Update Time : Tue Mar 15 08:20:25 2011
  14. State : clean
  15. Active Devices : 3
  16. Working Devices : 3
  17. Failed Devices : 0
  18. Spare Devices : 0
  19. Layout : left-symmetric 校驗規則
  20. Chunk Size : 64K
  21. UUID : e0d929d1:69d7aacd:5ffcdf9b:c1aaf02d

  22. Events : 0.2
  23. Number Major Minor RaidDevice State
  24. 0 8 17 0 active sync /dev/sdb1
  25. 1 8 33 1 active sync /dev/sdc1
  26. 2 8 49 2 active sync /dev/sdd1

4. mdadm.conf配置:
mdadm.conf是該軟體的默認配置文件,主要作用是方便跟蹤軟RAID的配置,尤其是可以配置監視和事件上報選項.其中寫入每一個陣列組成的詳細情況,用於在下次開啟陣列后依據此文件重新裝配(assemble)開啟陣列,否則就需要在開啟時手動定義陣列中的成員;當然是推薦創建該文件,防止出現意外情況,具體的詳細配置及示例可以參看man文檔# man mdadm.conf

  1. [[email protected] ~]# echo "DEVICE /dev/sdb1 /dev/sdc1 /dev/sdd1 " >> /etc/mdadm.conf
  2. [[email protected] ~]# mdadm -Ds >> /etc/mdadm.conf
  3. [[email protected] ~]# echo "MAILADDR [email protected]" >> /etc/mdadm.conf
  4. MAILADDR指定出問題時監控系統發郵件的地址
  5. # 格式如下:
  6. DEVICE /dev/sdb1 /dev/sdc1 /dev/sdd1
  7. ARRAY /dev/md0 level=raid5 num-devices=3 metadata=0.90 UUID=e0d929d1:69d7aacd:5ffcdf9b:c1aaf02d
  8. MAILADDR [email protected]
  9. #DEVICE行指明:依據該配置文件開啟陣列時,去查找那些設備的超級快信息;若沒有該行,
  10. 就去搜索mtab中所有設備分區的超級快信息;所以改行可以不寫,但是只要寫上,以後添加spare
  11. 設備時就需要同時修改改行信息;
  12. #ARRAY 行指明raid的名稱,級別uuid等基本信息
  13. #可以添加諸如MAILADDR及PROGRAM等指定monitor狀態下的監控報警信息;

磁碟陣列的管理:
可以在manage模式下對磁碟進行各種管理工作;

給raid-5新增一個spare盤:

  1. [[email protected] ~]# mdadm -a /dev/md0 /dev/sda5

  2. mdadm: added /dev/sda5
  3. 此時查看狀態:
  4. [[email protected] ~]# cat /proc/mdstat
  5. Personalities : [raid6] [raid5] [raid4]
  6. md0 : active raid5 sda5[3](S) sdd1[2] sdc1[1] sdb1[0]
  7. 9783296 blocks level 5, 64k chunk, algorithm 2 [3/3] [UUU]
  8. unused devices: <none>

模擬硬碟故障:

  1. [[email protected] ~]# mdadm -f /dev/md0 /dev/sdd1
  2. mdadm: set /dev/sdd1 faulty in /dev/md0
  3. # 此時查看狀態,發現概念剛才的熱備盤已經頂替了故障盤的位置,
  4. # 並且進度條顯示數據重建過程:

  5. [[email protected] ~]# cat /proc/mdstat
  6. Personalities : [raid6] [raid5] [raid4]
  7. md0 : active raid5 sda5[3] sdd1[4](F) sdc1[1] sdb1[0]
  8. 9783296 blocks level 5, 64k chunk, algorithm 2 [3/2] [UU_]
  9. [>....................] recovery = 1.3% (66912/4891648) finish=6.0min speed=13382K/sec
  10. unused devices: <none>

熱移除故障的硬碟:

  1. [[email protected] ~]# mdadm -r /dev/md0 /dev/sdd1
  2. mdadm: hot removed /dev/sdd1

  3. [[email protected] ~]# cat /proc/mdstat
  4. Personalities : [raid6] [raid5] [raid4]
  5. md0 : active raid5 sda5[3] sdc1[1] sdb1[0]
  6. 9783296 blocks level 5, 64k chunk, algorithm 2 [3/2] [UU_]
  7. [===>.................] recovery = 16.1% (792136/4891648) finish=4.6min speed=14828K/sec
  8. unused devices: <none>

對於有冗餘的raid形式,在單一磁碟故障時一般能在一段時間內重建數據;但是數據量非常大時,重建會非常緩慢,且重建過程系統壓力比較大,此時需要多關注系統負載,防止重建過程出現錯誤;在熱移除故障盤一戶,也需要儘快的換上新硬碟,並且添加spare盤;在故障修復,重建重建之後,需要重新生成配置文件,防止在下次開啟時,按照最初的定義模式開啟;


停止RAID:

  1. # 指定停止某個陣列
  2. [[email protected] ~]# mdadm -S /dev/md0
  3. # 停止配置文件中定義的所有陣列
  4. [[email protected] ~]# mdadm -Ss
  5. mdadm: stopped /dev/md0
  6. # -s –scan去查詢配置文件或沒有配置文件時查詢mdstat中的所有陣列

開啟RAID:

  1. [[email protected] ~]# mdadm -As
  2. mdadm: /dev/md0 has been started with 2 drives (out of 3).
  3. # -s –scan:根據配置文件開啟所有的陣列,此時由於故障恢復過,
  4. # 但是由於未重建配置文件,陣列我不能載入上新添加的硬碟;(需要停掉,重新手動指定
  5. [[email protected] ~]# cat /proc/mdstat
  6. Personalities : [raid6] [raid5] [raid4]

  7. md0 : active raid5 sdb1[0] sdc1[1]
  8. 9783296 blocks level 5, 64k chunk, algorithm 2 [3/2] [UU_]
  9. unused devices: <none>
  10. 若此時沒有配置文件,就需要手動指定設備名稱:
  11. [[email protected] ~]# mdadm -A /dev/md0 /dev/sdb1 /dev/sdc1 /dev/sda5
  12. mdadm: /dev/md0 has been started with 3 drives.
  13. # 註:將一個raid設備添加入md陣列后,md的信息會寫入到該設備分區的superblock中;
  14. # 在手動裝配時;mdadm工具會自動驗證陣列配置是否合法,並且做出相應的動作;


若新接手一個raid,沒有配置文件,或忘記設備的準確組成,就需要按分區逐個檢查是否是raid設備及其他信息,然後根據信息裝配陣列:

  1. [[email protected] ~]# mdadm -E /dev/sdb1
  2. /dev/sdb1:
  3. Magic : a92b4efc
  4. Version : 0.90.00
  5. UUID : e0d929d1:69d7aacd:5ffcdf9b:c1aaf02d
  6. Creation Time : Tue Mar 15 08:17:52 2011
  7. Raid Level : raid5
  8. Used Dev Size : 4891648 (4.67 GiB 5.01 GB)
  9. Array Size : 9783296 (9.33 GiB 10.02 GB)
  10. Raid Devices : 3
  11. Total Devices : 3
  12. Preferred Minor : 0
  13. Update Time : Tue Mar 15 09:25:10 2011
  14. State : clean
  15. Active Devices : 3
  16. Working Devices : 3
  17. Failed Devices : 0
  18. Spare Devices : 0
  19. Checksum : b0cd088f - correct
  20. Events : 8
  21. Layout : left-symmetric
  22. Chunk Size : 64K
  23. Number Major Minor RaidDevice State
  24. this 0 8 17 0 active sync /dev/sdb1
  25. 0 0 8 17 0 active sync /dev/sdb1

  26. 1 1 8 33 1 active sync /dev/sdc1
  27. 2 2 8 5 2 active sync /dev/sda5

  28. # 該處顯示出的是該分區superblock中包含的md信息;沒有配置文件時,可以依據該信息裝配md;

刪除陣列:

若需要徹底清除這個陣列:

  1. [[email protected] ~]# umount /dev/md0
  2. mdadm -Ss /dev/md0
  3. [[email protected] ~]# mdadm --zero-superblock /dev/sd{b,c,d}1
  4. # --zero-superblock 加上該選項時,會判斷如果該陣列是否包
  5. # 含一個有效的陣列超級快,若有則將該超級塊中陣列信息抹除.
  6. [[email protected] ~]# rm /etc/mdadm.conf

RAID優化:

(1) 設置stride值

The stride is the software RAID device's chunk-size in filesystem blocks.For example,with an ext3 filesystem that will have an 4KB block size on a RAID device with a chunk-size of 64KB, the stride should be set to 16:(翻譯的很糾結,就貼上教材原文了.)

  1. mk2fs -j -b 4096 -E stride=16 /dev/md0
  2. # 設置時,需要用-E選項進行擴展

設定良好的stride值,可以在後期使用時,減少寫入數據時對數據塊計算的負擔,從而提高RAID性能;

附:RAID 1-0雙層架構的方法:

創建兩個底層RAID-1

  1. [[email protected] ~]# mdadm -C /dev/md0 -a yes -l 1 -n 2 /dev/sd[bc]1
  2. mdadm: array /dev/md0 started.
  3. [[email protected] ~]# mdadm -C /dev/md1 -a yes -l 1 -n 2 /dev/sd[bc]2
  4. mdadm: array /dev/md1 started.

用兩個RAID-1實現上層RAID-0:

  1. [[email protected] ~]# mdadm -C /dev/md2 -a yes -l 0 -n 2 /dev/md[01]
  2. mdadm: array /dev/md2 started.

查看陣列狀態:

  1. [[email protected] ~]# cat /proc/mdstat

  2. Personalities : [raid6] [raid5] [raid4] [raid0] [raid1]
  3. md2 : active raid0 md0[0] md1[1]
  4. 9783232 blocks 64k chunks
  5. md1 : active raid1 sdb2[0] sdc2[1]
  6. 4891712 blocks [2/2] [UU]
  7. md0 : active raid1 sdb1[0] sdc1[1]
  8. 4891648 blocks [2/2] [UU]
  9. unused devices: <none>

創建配置文件:

  1. [[email protected] ~]# mdadm -Ds > /etc/mdadm.conf

停止與開啟陣列:

  1. [[email protected] ~]# mdadm -Ss
  2. mdadm: stopped /dev/md2
  3. mdadm: stopped /dev/md1
  4. mdadm: stopped /dev/md0
  5. [[email protected] ~]# mdadm -As
  6. mdadm: /dev/md0 has been started with 2 drives.
  7. mdadm: /dev/md1 has been started

    with 2 drives.
  8. mdadm: /dev/md2 has been started with 2 drives.
  9. ##上述關閉與開啟過程,系統能只能識別層級,關閉先關閉上層,
  10. ##后開啟上層;防止了衝突;

Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4

參考:

RAID0的技術概要及實現 : http://www.linuxsir.org/main/node/279

維基百科--RAID : http://zh.wikipedia.org/zh-cn/Raid

http://www.linuxidc.com/Linux/2009-12/23394p6.htm

本文出自 「Mo」 博客,請務必保留此出處http://molinux.blog.51cto.com/2536040/516008


[火星人 ] Linux陣列 RAID詳解已經有772次圍觀

http://coctec.com/docs/linux/show-post-48170.html