(一) RAID簡(jiǎn)介:
獨(dú)立磁盤冗余數(shù)組(RAID, Redundant Array of Independent Disks),舊稱廉價(jià)磁盤冗余數(shù)組(RAID,Redundant Array of Inexpensive Disks),簡(jiǎn)稱硬盤陣列。其基本思想就是把多個(gè)相對(duì)便宜的硬盤組合起來(lái),成為一個(gè)硬盤陣列組,使性能達(dá)到甚至超過(guò)一個(gè)價(jià)格昂貴、容量巨大的硬盤。根據(jù)選擇的版本不同,RAID比單個(gè)硬盤有以下一個(gè)或多個(gè)方面的好處:增強(qiáng)數(shù)據(jù)集成度,增強(qiáng)容錯(cuò)功能,增加處理量或容量。另外,磁盤陣列對(duì)于電腦來(lái)說(shuō), 看起來(lái)就像一個(gè)單獨(dú)的硬盤或邏輯存儲(chǔ)單元。分為RAID-0,RAID-1,RAID-1E,RAID-5,RAID-6,RAID-7,RAID-10,RAID-50
簡(jiǎn)單來(lái)說(shuō),RAID把多個(gè)硬盤組合成為一個(gè)邏輯扇區(qū),因此,操作系統(tǒng)只會(huì)把它當(dāng)作一個(gè)硬盤。RAID常被用在服務(wù)器電腦上,并且常使用完全相同的硬盤作為組合。由于硬盤價(jià)格的不斷下降與RAID功能更加有效地與主板集成,它也成為了玩家的一個(gè)選擇,特別是需要大容量存儲(chǔ)空間的工作,如:視頻與音頻制作
最初的RAID分成了不同的等級(jí),每種等級(jí)都有其理論上的優(yōu)缺點(diǎn),不同的等級(jí)在兩個(gè)目標(biāo)間取得平衡,分別是增加數(shù)據(jù)可靠性以及增加存儲(chǔ)器(群)讀寫性能。這些年來(lái),出現(xiàn)了對(duì)于RAID觀念不同的應(yīng)用
RAID 5 是一種存儲(chǔ)性能、數(shù)據(jù)安全和存儲(chǔ)成本兼顧的存儲(chǔ)解決方案。 RAID 5可以理解為是RAID 0和RAID 1的折中方案。RAID 5具有和RAID 0相近似的數(shù)據(jù)讀取速度,只是多了一個(gè)奇偶校驗(yàn)信息,寫入數(shù)據(jù)的速度比對(duì)單個(gè)磁盤進(jìn)行寫入操作稍慢。同時(shí)由于多個(gè)數(shù)據(jù)對(duì)應(yīng)一個(gè)奇偶校驗(yàn)信息,RAID 5的磁盤空間利用率要比RAID 1高,存儲(chǔ)成本相對(duì)較低,是目前運(yùn)用較多的一種解決方案
(二) 各軟RAID的區(qū)別:
RAID4,奇偶備份,最少3塊硬盤,其中一塊硬盤作為奇偶校驗(yàn)備份,那么任意一塊硬盤損壞都可以其他盤和校驗(yàn)盤通過(guò)奇偶校驗(yàn)還原數(shù)據(jù)
RAID5,將奇偶校驗(yàn)數(shù)據(jù)庫(kù)分散到各個(gè)硬盤,最少3塊硬盤
RAID6,橫向和縱向都生成奇偶校驗(yàn),最少4塊硬盤
RAID0,速度最快,不冗余,最少2塊硬盤,提高2倍速度(硬盤越多,理論速度提高越多),但任何一塊硬盤損壞,則所有數(shù)據(jù)報(bào)廢
RAID1,50%冗余;——RAID0+1
(三) Linux實(shí)現(xiàn)RAID5各參數(shù)詳解與注意事項(xiàng):
需要的磁盤個(gè)數(shù):三塊以上
我們?cè)谶@里添加四塊硬盤,其中3塊做磁盤陣列,1塊做預(yù)備(spare)磁盤
注意:raid5 的磁盤使用率是N-1 也就是說(shuō)四個(gè)30G的硬盤可用空間是90G
實(shí)驗(yàn)步驟:
- 查看一下系統(tǒng)中的磁盤設(shè)備fdisk -l
- 接下來(lái)創(chuàng)建raid了使用的命令是mdadm,如果沒有請(qǐng)先安裝mdadm軟件包(rpm -qa |grep mdadm)
注意:RHEL 6.5的光盤中有
mdadm –create –auto=yes /dev/md0 –level=5 –raid-devices=3 –spare-devices=1 /dev/sd[b-e]
參數(shù)解釋:
–create //表示要?jiǎng)?chuàng)建raid
–auto=yes /dev/md0 //是否自動(dòng)檢測(cè),新建立的軟件磁盤陳列設(shè)備為md0,md序號(hào)可以為0-9
–level=5 //磁盤陣列的等級(jí),這里是raid5
-raid-devices //所需使用的磁盤數(shù)量
–spare-devices //添加作為預(yù)備(spare)磁盤的塊數(shù)
/dev/sd[b-e] //磁盤陣列所使用的設(shè)備,還可以寫成“/dev/sdb /dev/sdc /dev/sdd /dev/sde”同樣可以縮寫為:mdadm –C –a yes /dev/md0 –l5 –n3 –x1 /dev/sd[b-e]
查看RAID是否成功的創(chuàng)建是否運(yùn)行的正常,有兩種方法 -
查看詳細(xì)信息:mdadm –detail /dev/md0命令查看RAID的詳細(xì)信息
- 較為簡(jiǎn)單的查看:可以直接查看cat /proc/mdstat的文件看到RAID運(yùn)行的情況
U代表沒有問(wèn)題、_則表示不正常;磁盤后面的(S)表示作為預(yù)備
格式化并且掛載和使用創(chuàng)建的RAID
mkfs.ext4 /dev/md0 //格式化 raid5磁盤為 md0
mkdir /raid
mount /dev/md0 /raid //將md0 掛載到/raid目錄下
查看一下掛載情況
df –hT
試一下新加上的RAID是不是可以使用,向里面寫入文件
設(shè)置開機(jī)自動(dòng)啟動(dòng)RAID以及自動(dòng)掛載
讓RAID開機(jī)啟動(dòng), RIAD配置文件名字為mdadm.conf , 這個(gè)文件默認(rèn)是不存在的,要自己建立.該配置文件存在的主要作用是系統(tǒng)啟動(dòng)的時(shí)候能夠自動(dòng)加載軟RAID,同時(shí)也方便日后管理. 說(shuō)明下mdadm.conf文件主要由以下部分組成:
DEVICES選項(xiàng)制定組成RAID所有設(shè)備,
ARRAY選項(xiàng)指定陣列的設(shè)備名、RAID級(jí)別、陣列中活動(dòng)設(shè)備的數(shù)目以及設(shè)備的UUID號(hào)
注意:此文件如果不創(chuàng)建下次開機(jī)重啟后/dev/md0將會(huì)被系統(tǒng)自動(dòng)識(shí)別為其他非/dev/md0名稱的設(shè)備,對(duì)于實(shí)現(xiàn)開機(jī)掛載和使用都不方便
自動(dòng)啟動(dòng)raid
先建立/etc/mdadm.conf 這個(gè)文件
mdadm –detail –scan > /etc/mdadm.conf
要對(duì)這個(gè)文件做一下改動(dòng):將組成RAID5的設(shè)備名全部追加到配置文件中
在設(shè)置RAID的自動(dòng)掛載
修改文件 vi /etc/fstab
在里面加上一行 /dev/md0 /raid ext4 defaults 0 0
模擬RAID5中的磁盤損壞,驗(yàn)證spare磁盤的功能(在raid5中允許一塊磁盤的損壞,也就是我們?cè)O(shè)置的spare磁盤會(huì)立即的替換壞掉的磁盤進(jìn)行raid的重建,保障數(shù)據(jù)的安全性)
mdadm –manage /dev/md0 –fail /dev/sdd //使用此命令設(shè)置sdd成為出錯(cuò)的狀態(tài)(或可簡(jiǎn)寫為mdadm /dev/md0 -f /dev/sdd)
再來(lái)查看一下磁盤的信息:mdadm –-detail /dev/md0
簡(jiǎn)單的查看一下RAID的情況:
創(chuàng)建完成也就是說(shuō)明raid5 已經(jīng)自動(dòng)的恢復(fù)了!
查看一下raid5是不是可以正常使用!
向里面寫寫數(shù)據(jù),這時(shí)可以發(fā)現(xiàn),RAID5還可正常使用,對(duì)數(shù)據(jù)不造成任何影響
Active sync /dev/sdb1 # raid的真成員
spare /dev/sdc1 #raid備用成員
如果想重新添加/dev/sdd進(jìn)RAID5,可做以下操作:
mdadm /dev/md0 –remove /dev/sdd //將壞掉的磁盤sdd從raid中
mdadm /dev/md0 -a /dev/sdd //將/dev/sdd加入陣列
mdadm –zero-superblock –force /dev/sdd(可選) //可修復(fù)硬盤將模擬損壞的硬盤重新添加
命令參數(shù)
-A = –assemble 激活
-S = –stop 停止
-D = –detail 查看raid詳細(xì)信息
-C = — create 建立raid設(shè)備
-v = –verbose 顯示建立過(guò)程的詳細(xì)信息
-l = –level raid的級(jí)別
-n = –raid-devices raid設(shè)備數(shù)
-s = –scan 掃描raid設(shè)備
-f = –fail 標(biāo)示壞的硬盤
-a = –add 添加硬盤
-r = -remove 移除壞的硬盤
關(guān)閉RAID的方法:
直接卸載/dev/md0,并且注釋掉/etc/fstab文件中的配置
umount /dev/md0 //解除掛接
vi /etc/fstab //將fstab里面的開機(jī)自動(dòng)掛載注釋掉
#/dev/md0 /var/www/html ext4 defaults 0 0
mdadm –stop /dev/md0 //停止md0磁盤服務(wù)