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