歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> RAID 技術 Linux下組建RAID 5

RAID 技術 Linux下組建RAID 5

日期:2017/2/28 16:09:10   编辑:Linux教程

RAID 技術產生的背景
·普通的IDE硬盤速度不夠快,性能不夠穩定,不能應用於企業級的關鍵任務
·高效並且穩定可靠的SCSI硬盤價格昂貴,中小企業征收不起
·RAID (Redundant Array of Inexpensive/Independent Disks),即廉價/獨立磁盤冗於陣列(或簡稱趁盤陣列),他的出現,可以讓我們把普通的IDE硬盤組成快速安全可靠的

存儲設備。

RAID原理
·RAID是一種把多塊獨立的硬盤按不同方式組合起來形成一個磁盤組,從而提供比單個硬盤更高的存儲性能和提供數據的冗余的技術,不同的組織方式稱為RAID級別(RAID level)·數據冗余的功能是在用戶數據一旦發生損壞後,利用冗於信息可以使損壞的數據得以恢復,從而保障了用戶數據的安全。
·在用戶看來,組成的磁盤組就像一個硬盤,對磁盤陣列的操作與單個硬盤一模一樣。

RAID 級別
·常用的RAID級別是level0,level 1和level 5
·需要RAID控制器(一種PC適配器)來管理硬盤
·linux內核可以模擬RAID控制器,用來管理硬盤,但只支持級別0,1,4,5,6

RAID 0
特點:RAID 0又稱為striping。通過把連續的數據訪問分散到多個磁盤上來提供存儲性能,這樣,數據請求就可以被多個磁盤並行的執行,每個磁盤只負責屬於它自己的那部分數據請求。這種數據上的並行操作可以充分利用總線的帶寬,顯著提高磁盤整體存儲性。在所有的級別中,RAID 0的速度是最快的。但沒有數據冗余,陣列中任何一個磁盤壞掉,意味著所有數據丟失。
磁盤利用數:n(假設有n個磁盤)。
配置條件:最低兩塊磁盤,且分區大小盡量相同。
應用領域:對高磁盤容量及高速磁盤存取有特殊需求,而又不計較其高故障率的工作。當然,如果你正在使用集群,RAID 0 無疑是提高磁盤I/O性能的最好方法,因為在這種情況下,你就不用擔心冗余的問題了。

RAID 1
特點:RAID 1又稱為mirror或者mirroring,他的宗旨是最大限度的保證用戶數據的可用性和可修復性。RAID1的操作方式是把用戶寫入硬盤的數據百分之百地自動復制到另外一個硬盤上。因為有了備份磁盤,所以RAID 1的數據安全性在所有的RAID級別上來說是最好的。盡管其寫入數據的速度比較慢,但因其數據是以分段的方式作儲存,因而在讀取時,它幾乎和RAID 0有同樣的性能。
磁盤利用數:n/2。
配置條件:最低兩塊磁盤,且分區大小盡量相同。
應用領域:數據庫、金融系統等一些對數據有著高可靠性要求的領域。再者就是系統中寫數據量比較少,而讀數據量又比較多的情況下可以采用這一模式。


RAID 5
特點:RAID 5 不對存儲的數據進行備份,而是把數據和相對應的奇偶校驗信息交互存放於各個磁盤上,任何一個磁盤損壞,都可以根據其他磁盤上的校驗位來重建損壞的數據。並行讀寫數據,性能也很高。
磁盤利用數:n-1。
配置條件:最低三塊硬盤,且分區大小盡量相同。
應用領域:適合於事務處理環境,例如民航售票處、銷售系統等。


RAID 0+1
特點:是RAID 0和RAID 1的組合形式,也稱為RAID 10。形式為最少需要4塊磁盤,組成兩個一組,比如1和3,2和4組成RAID 0 那麼1和2或者1和3,對應的2和3或者2和4就組成RAID 1即提高可性質也提高安全性。
磁盤利用數:n/2。
配置條件:最低四塊磁盤,且分區大小盡量相同。

Linux中的RAID
·使用linux內核實現的RAID控制器
·需要內核的支持
·需要相應的應用軟件(mdadm或者早期的raidtools)創建管理RAID設備
·軟件RAID設備文件名:
/dev/mdN (N= 0,1,2...)
·軟件RAID設備可以當分區看待,需要格式化後掛載
# mkfs.ext3 /dev/md1
# mount /dev/md1 /mnt/md1

實驗環境:vmware 5.5.3,Red Hat Enterprise Linux 4 update 5
系統:/dev/sda
RAID Devices:/dev/sdb /dev/sdc /dev/sdd /dev/sde
設備准備:直接使用硬盤硬件設備,不需要分區。如果要具體使用哪個硬盤的分區做RAID,才需要fdisk特定的分區,並給它指定分區類型:fd。

1.確認raid應用軟件已經安裝好。
[[email protected]]# rpm -q mdadm
mdadm-1.12.0-2

2.創建raid:
mdadm的每個命令都有其簡寫形式,當然也可以使用shell的正規表達式:
#[[email protected]]# mdadm --create --verbose /dev/md0 --level=raid5 --raid-devices=3 /dev/sdb /dev/sdc /dev/sdd --spare-devices=1 /dev/sde
mdadm: layout defaults to left-symmetric
mdadm: chunk size defaults to 64K
mdadm: size set to 8388544K
mdadm: array /dev/md0 started.
等效命令如下:
mdadm -Cv /dev/md0 -l5 -n3 /dev/sdb /dev/sdc /dev/sdd -x1 /dev/sde
mdadm -Cv /dev/md0 -l5 -n3 /dev/sd[bcd] -x1 /dev/sde

3.格式化raid設備:
[[email protected]]# mkfs.ext3 /dev/md0

4.掛載raid設備:
[[email protected]]# mkdir /mnt/md0
[[email protected]]# mount -t ext3 /dev/md0 /mnt/md0/
[[email protected]]# df -lh
Filesystem 容量 已用 可用 已用% 掛載點
/dev/sda3 5.8G 2.0G 3.6G 36% /
/dev/sda1 99M 8.8M 85M 10% /boot
none 147M 0 147M 0% /dev/shm
/dev/md0 16G 77M 15G 1% /mnt/md0

5.查看raid設備狀態:
[[email protected]]# mdadm -D /dev/md0
/dev/md0:
Version : 00.90.01
Creation Time : Sat Feb 23 10:22:34 2008
Raid Level : raid5
Array Size : 16777088 (16.00 GiB 17.18 GB)
Device Size : 8388544 (8.00 GiB 8.59 GB)
Raid Devices : 3
Total Devices : 4
Preferred Minor : 0
Persistence : Superblock is persistent

Update Time : Sat Feb 23 10:26:26 2008
State : clean
Active Devices : 3
Working Devices : 4
Failed Devices : 0
Spare Devices : 1

Layout : left-symmetric
Chunk Size : 64K

UUID : b4ea24cc:fa3b279e:e8fb1bb5:14703dd1
Events : 0.72

Number Major Minor RaidDevice State
0 8 16 0 active sync /dev/sdb
1 8 32 1 active sync /dev/sdc
2 8 48 2 active sync /dev/sdd

3 8 64 - spare /dev/sde
[[email protected]]# more /proc/mdstat
Personalities : [raid5]
md0 : active raid5 sdd[2] sde[3] sdc[1] sdb[0]
16777088 blocks level 5, 64k chunk, algorithm 2 [3/3] [UUU]

unused devices: <none>
說明:
sdd[2]:此設備在RAID中的次序。
[3/3]:RAID使用3個設備,當前有3個設備正常運行。當某一個設備出錯時將會顯示[3/2]。
[UUU]:RAID中所有磁盤運轉正常。如果出錯則顯示[_UU],則說明RAID中第一磁盤fail。
[[email protected]]# mdadm -E /dev/sdb
/dev/sdb:
Magic : a92b4efc
Version : 00.90.00
UUID : b4ea24cc:fa3b279e:e8fb1bb5:14703dd1
Creation Time : Sat Feb 23 10:22:34 2008
Raid Level : raid5
Raid Devices : 3
Total Devices : 4
Preferred Minor : 0

Update Time : Sat Feb 23 10:26:26 2008
State : clean
Active Devices : 3
Working Devices : 4
Failed Devices : 0
Spare Devices : 1
Checksum : e5bbfe68 - correct
Events : 0.72

Layout : left-symmetric
Chunk Size : 64K

Number Major Minor RaidDevice State
this 0 8 16 0 active sync /dev/sdb

0 0 8 16 0 active sync /dev/sdb
1 1 8 32 1 active sync /dev/sdc
2 2 8 48 2 active sync /dev/sdd
3 3 8 64 3 spare /dev/sde

6.mdadm配置文件:
mdadm的缺省配置文件為/etc/mdadm.conf。對於陣列而言不是必須的,主要是為了方便陣列的日常管理。
使用配置文件後,我們每次啟動RAID時,就不需要再次輸入建立RAID時的一大堆的參數。
mdadm.conf文件中要包含兩行:
第一行是以DEVICE開頭的行,它指明在陣列中的設備列表。
第二行是以ARRAY開頭的行,它詳細地說明了陣列的名稱、模式、陣列中活動設備的數目以及設備的UUID號。
生成方法:
[[email protected]]# echo 'DEVICE /dev/sdb /dev/sdc /dev/sdd /dev/sde' > /etc/mdadm.conf 等同echo 'DEVICE /dev/sd[bcde]' > /etc/mdadm.conf
[[email protected]]# mdadm -Ds >> /etc/mdadm.conf
一般會有如下格式:
[[email protected]]# cat /etc/mdadm.conf
DEVICE /dev/sdb /dev/sdc /dev/sdd /dev/sde
ARRAY /dev/md0 level=raid5 num-devices=3 spares=1 UUID=b4ea24cc:fa3b279e:e8fb1bb5:14703dd1

Copyright © Linux教程網 All Rights Reserved