RAID是Redundant Array of Inexpensive Disk的縮寫,意為廉價(jià)冗余磁盤陣列,是磁盤陣列在技術(shù)上實(shí)現(xiàn)的理論標(biāo)準(zhǔn),其目的在于減少錯(cuò)誤、提高存儲(chǔ)系統(tǒng)的性能與可靠度。常用的等級(jí)有0、1、5級(jí)等。
RAID 1適合性能要求較高又需要容錯(cuò)功能的陣列。另外, RAID 1是在只有少于2個(gè)磁盤的環(huán)境下支持容錯(cuò)功能的唯一選擇。
RAID 1至少要有兩個(gè)(只能兩個(gè))硬盤才能組成,因此也稱為鏡像(Mirroring)方式。所謂鏡像就是每?jī)蓚€(gè)硬盤的內(nèi)容一模一樣,但是對(duì)操作系統(tǒng)而言只呈現(xiàn)一個(gè)硬盤,以便于管理。由此可見,RAID 1對(duì)數(shù)據(jù)進(jìn)行了完全的備份,其可靠性是最高的。當(dāng)然,其數(shù)據(jù)的寫入時(shí)間可能會(huì)稍長(zhǎng)一點(diǎn),但因?yàn)閮蓚€(gè)鏡象硬盤可以同時(shí)讀取數(shù)據(jù),故讀數(shù)據(jù)與RAID 0一樣。磁盤陣列的總?cè)萘繛槠渲蠳/2塊硬盤的容量在RAID 級(jí)別中,RAID 1通過數(shù)據(jù)鏡像提供了最高的信息可用性。另外,如果陣列支持?jǐn)?shù)據(jù)和鏡像的同時(shí)讀取,讀取信息的性能將會(huì)提高。
RAID 5是將數(shù)據(jù)分條,奇偶校驗(yàn)產(chǎn)生冗余。但是,它不采用一個(gè)固定的硬盤來存儲(chǔ)奇偶校驗(yàn)值,所有數(shù)據(jù)和校驗(yàn)值都分布在所有硬盤上。
下面將以講述在RHEL 5中創(chuàng)建RAID 1為例子。
◆將分區(qū)標(biāo)識(shí)為RAID分區(qū),在創(chuàng)建軟RAID這步是必須的,如果沒執(zhí)行在系統(tǒng)重啟后,RAID設(shè)備可能會(huì)無法工作。
◆建立RAID設(shè)備及定義RAID盤
1:創(chuàng)建一個(gè)RAID設(shè)備,在RHEL 5中RAID設(shè)備必須從md0開始依次增加。
2:同意創(chuàng)建設(shè)備,如不加此參數(shù)時(shí)必須先使用mknod /dev/md1 b 9 0命令來創(chuàng)建一個(gè)RAID設(shè)備,不過推薦使用-a yes參數(shù)一次性創(chuàng)建。
3:RAID級(jí)別,此處定義的是RAID 1。
4:使用幾個(gè)分區(qū)實(shí)現(xiàn)RAID。
5:熱備分區(qū)的個(gè)數(shù)。當(dāng)定義一些具有容錯(cuò)功能的RAID級(jí)別(RAID1、RAID5)時(shí),可多定義一塊或熱備分區(qū),這樣當(dāng)RAID陣列中有1塊硬盤損壞時(shí),這個(gè)熱備分區(qū)會(huì)自動(dòng)補(bǔ)上去開始工作。
6:加入RAID的分區(qū)。
◆查看RAID定義情況
1:查看指定RAID設(shè)備
2:活動(dòng)的二個(gè)RAID 1分區(qū)
3:熱備盤
◆格式化RAID設(shè)備
◆讓RAID設(shè)備在每次重啟都生效
該方法會(huì)將系統(tǒng)中所有的RAID設(shè)備的定義導(dǎo)入/etc/mdadm.conf中,而該文件是記錄系統(tǒng)所有RAID設(shè)備,以便下次啟動(dòng)時(shí)生效。
◆掛載RAID設(shè)備
可臨時(shí)使用mount命令掛載,也可定義在/etc/fstab中。
◆測(cè)試容錯(cuò),用以下命令模擬陣列中一塊硬盤損壞。模擬陣列中一塊硬盤損壞的方法在實(shí)際工作中并沒有多大意義,只是用于
測(cè)試。
◆查看熱備盤是否自動(dòng)開始工作
1:在該陣列剛建立時(shí),/dev/sda7、/dev/sda8是活動(dòng)狀態(tài),/dev/sda9是熱備分區(qū),在上步驟中模擬將/dev/sda7損壞,這時(shí)/dev/sda7狀態(tài)已是失敗,而熱備盤/dev/sda9自動(dòng)開始工作。
◆移除損壞的/dev/sda7
1:將/dev/sda7從/dev/md0陣列中移除
2:在陣列中已沒有/dev/sda7
◆添加一個(gè)新的分區(qū)作為熱備分區(qū)
1:將/dev/sda10加入/dev/md0陣列中
2:/dev/sda10自動(dòng)成為/dev/md0熱備分區(qū)
在RHEL 5中創(chuàng)建RAID 0及RAID 5的方法與創(chuàng)建RAID 1的方法基本一致。當(dāng)然由于RAID 0自身沒有容錯(cuò)功能,添加熱備分區(qū)是沒有意義,所在不需要使用-x參數(shù)。
此外,在RHEL 5中實(shí)現(xiàn)軟RAID時(shí)還提供了RAID6 ,即帶有兩種分布存儲(chǔ)的奇偶校驗(yàn)碼的獨(dú)立磁盤結(jié)構(gòu),它是對(duì)RAID5的擴(kuò)展,主要是用于要求數(shù)據(jù)絕對(duì)不能出錯(cuò)的場(chǎng)合,使用了二種奇偶校驗(yàn)值,所以需要N+2個(gè)磁盤,同時(shí)對(duì)控制器的設(shè)計(jì)變得十分復(fù)雜,寫入速度也不好,用于計(jì)算奇偶校驗(yàn)值和驗(yàn)證數(shù)據(jù)正確性所花費(fèi)的時(shí)間比較多,造成了不必要的負(fù)載,很少人用。
RHEL 5中使用軟RAID可實(shí)現(xiàn)容錯(cuò)或加快數(shù)據(jù)讀寫速度的功能,但無法在不丟失分區(qū)數(shù)據(jù)的前題下增大分區(qū)。想解決這個(gè)問題我們就需要使用LVM了。
LVM是Logical Volume Manager的縮寫。配置LVM首先要將普通分區(qū)轉(zhuǎn)換為物理卷,再通過物理卷創(chuàng)建邏輯卷組,最后在邏輯卷組中創(chuàng)建邏輯卷。
在實(shí)現(xiàn)時(shí)即可使用普通分區(qū),也可以在軟RAID的基礎(chǔ)上創(chuàng)建。下面將講述在普通分區(qū)及RAID 5分區(qū)創(chuàng)建一個(gè)LVM。
◆在普通分區(qū)上實(shí)現(xiàn)LVM
◆使用fdisk將物理硬盤支持LVM,在普通分區(qū)上實(shí)現(xiàn)LVM時(shí)這步是必須的。
◆將物理硬盤轉(zhuǎn)換為物理卷,在轉(zhuǎn)換后可通過“pvdisplay”命令查看物理卷情況。
◆將物理卷加入到一個(gè)新的邏輯卷組中(vg0),邏輯卷組的名稱可根據(jù)需要命名。在創(chuàng)建邏輯卷組后,可通過“vgdisplay 邏輯卷組名”命令查看邏輯卷組情況。
1:VG為邏輯卷組的大小,PE為邏輯卷組最小存儲(chǔ)單位,VG Size=PE Size*Total PE。由于一個(gè)我沒想明白的原因在不同的情況中創(chuàng)建邏輯卷組時(shí),PE的大小是不一樣,比如在安裝RHEL 5過程中創(chuàng)建時(shí)PE默認(rèn)為32MB,而在安裝好系統(tǒng)后創(chuàng)建時(shí)PE默認(rèn)為4MB。當(dāng)然可以在使用“vgcreate”創(chuàng)建邏輯卷組時(shí)通過-s參數(shù)指定PE大小。
◆在邏輯卷組中建立邏輯卷。
1:-L指定大小,-n指定該邏輯卷的名稱
◆通過增加一個(gè)新的分區(qū)到該邏輯卷組,以實(shí)現(xiàn)在不丟失數(shù)據(jù)的情況增加邏輯卷的功能。
1:將/dev/sda14轉(zhuǎn)換為物理卷
2:將物理卷/dev/sda14加入到現(xiàn)有的邏輯卷組vg0中
3:查看邏輯卷組vg0空間已增大
◆增加邏輯卷/dev/vg0/lvm1的空間100M,未格式化的邏輯卷無法擴(kuò)展。
1、2:要通過這二步才空間真正加到邏輯鄭lvm1上。
3:/dev/vg0/lvm1的空間已增大100M
◆掛載邏輯卷,可臨時(shí)使用mount命令掛載,也可定義在/etc/fstab中。
◆在RAID 5分區(qū)上實(shí)現(xiàn)LVM
將/dev/sda{7,8,9,10}、/dev/sda{11,12,13,14}配置為二個(gè)RAID 5,然后用這二個(gè)RAID 5建立LVM。
◆建立二個(gè)RAID 5陣列
mdadm -C /dev/md0 -a yes -n 3 -x 1 -l 5 /dev/sda{7,8,9,10}
mdadm -C /dev/md1 -a yes -n 3 -x 1 -l 5 /dev/sda{11,12,13,14}
◆讓RAID陣列永久有效
◆將/dev/md0及/dev/md1轉(zhuǎn)換為物理卷
◆新建一個(gè)邏輯卷組,并將/dev/md0、/dev/md1加入
◆在邏輯卷組vg1建立邏輯分區(qū),并格式化
◆掛載邏輯卷,可臨時(shí)使用mount命令掛載,也可定義在/etc/fstab中。