磁盤管理——RAID 5
一 什麼是RAID5
RAID Level 5 是一種儲存性能、數據安全和存儲成本兼顧的存儲解決方案。它使用的是Disk Striping(硬盤分割)技術。RAID 5 至少需要三顆硬碟, RAID 5不是對存儲的數據進行備份,而是把數據和相對應的奇偶校驗信息存儲到組成RAID5的各個磁盤上,並且奇偶校驗信息和相對應的數據分別存儲於不同的磁盤上。當RAID5的一個磁盤數據發生損壞後,可以利用剩下的數據和相應的奇偶校驗信息去恢復被損壞的數據。 RAID 5可以理解為是RAID 0和RAID 1的折衷方案。RAID 5可以為系統提供數據安全保障,但保障程度要比鏡像低而磁盤空間利用率要比鏡像高。RAID 5具有和RAID 0相近似的數據讀取速度,只是因為多了一個奇偶校驗信息,寫入數據的速度相當的慢,若使用“回寫快取”可以讓效能改善不少。同時由於多個數據對應一個奇偶校驗信息,RAID 5的磁盤空間利用率要比RAID 1高,存儲成本相對較便宜。
二 RAID5演示
第一步准備磁盤
[plain]
[root@serv01 ~]# ls /dev/sdb1 /dev/sdc1/dev/sdd1
/dev/sdb1 /dev/sdc1 /dev/sdd1
第二步創建RAID5
[plain]
[root@serv01 ~]# mdadm --C /dev/md5 —l 5 —n3 /dev/sdb1 /dev/sdc1/ /dev/sdd1
[root@serv01 ~]# mdadm --create /dev/md5--level 5 --raid-devices=3 /dev/sdb1 /dev/sdc1 /dev/sdd1
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md5 started.
[root@serv01 ~]# cat /proc/mdstat
Personalities : [raid1] [raid0] [raid6][raid5] [raid4]
md5 : active raid5 sdd1[3] sdc1[1] sdb1[0]
4190208 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]
unused devices: <none>
第三步 格式化
[plain]
[root@serv01 ~]# mkfs.ext4 /dev/md5
第四步 修改配置文件
[plain]
#追加文件
[root@serv01 ~]# echo "/dev/md5 /webext4 defaults 1 2" >> /etc/fstab
#創建配置文件
[root@serv01 ~]# mdadm --detail --scan >/etc/mdadm.conf
[root@serv01~]# cd /web
[root@serv01 web]# ls
config-2.6.32-131.0.15.el6.x86_64 initramfs-2.6.32-131.0.15.el6.x86_64.img System.map-2.6.32-131.0.15.el6.x86_64
efi lost+found vmlinuz-2.6.32-131.0.15.el6.x86_64
grub symvers-2.6.32-131.0.15.el6.x86_64.gz
#查看詳細信息
[root@serv01 web]# mdadm -D /dev/md5
/dev/md5:
Version : 1.2
Creation Time : Thu Aug 119:49:56 2013
Raid Level : raid5
Array Size : 4190208 (4.00 GiB 4.29 GB)
Used Dev Size : 2095104 (2046.34 MiB 2145.39 MB)
Raid Devices : 3
Total Devices : 3
Persistence : Superblock is persistent
Update Time : Thu Aug 1 20:24:482013
State : clean
Active Devices : 3
Working Devices : 3
Failed Devices : 0
Spare Devices : 0
Layout : left-symmetric
Chunk Size : 512K
Name : serv01.host.com:5 (localto host serv01.host.com)
UUID : a738b211:987ef2b2:e6ce9eb3:58724db1
Events : 20
Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sdb1
1 8 33 1 active sync /dev/sdc1
3 8 49 2 active sync /dev/sdd1
第五步 模擬磁盤壞掉
[plain]
#取消分區 o
[root@serv01 web]# fdisk /dev/sdb
WARNING: DOS-compatible mode is deprecated.It's strongly recommended to
switch off the mode (command 'c') and change display units to
sectors (command 'u').
Command (m for help): o
Building a new DOS disklabel with diskidentifier 0xc785ce7b.
Changes will remain in memory only, untilyou decide to write them.
After that, of course, the previous contentwon't be recoverable.
Warning: invalid flag 0x0000 of partitiontable 4 will be corrected by w(rite)
WARNING: DOS-compatible mode is deprecated.It's strongly recommended to
switch off the mode (command 'c') and change display units to
sectors (command 'u').
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition tablefailed with error 16: Device or resource busy.
The kernel still uses the old table. Thenew table will be used at
the next reboot or after you runpartprobe(8) or kpartx(8)
Syncing disks.
#再次查看
[root@serv01 web]# mdadm -D /dev/md5
/dev/md5:
Version : 1.2
Creation Time : Thu Aug 119:49:56 2013
Raid Level : raid5
Array Size : 4190208 (4.00 GiB 4.29 GB)
Used Dev Size : 2095104 (2046.34 MiB 2145.39 MB)
Raid Devices : 3
Total Devices : 3
Persistence : Superblock is persistent
Update Time : Thu Aug 1 20:25:162013
State : clean
Active Devices : 3
Working Devices : 3
Failed Devices : 0
Spare Devices : 0
Layout : left-symmetric
Chunk Size : 512K
Name : serv01.host.com:5 (localto host serv01.host.com)
UUID : a738b211:987ef2b2:e6ce9eb3:58724db1
Events : 20
Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sdb1
1 8 33 1 active sync /dev/sdc1
3 8 49 2 active sync /dev/sdd1
#重啟
[root@serv01 web]# reboot
#對/dev/sde分區
[root@serv01 web]# fdisk /dev/sde
WARNING: DOS-compatible mode is deprecated.It's strongly recommended to
switch off the mode (command 'c') and change display units to
sectors (command 'u').
Command (m for help): p
Disk /dev/sde: 2147 MB, 2147483648 bytes
255 heads, 63 sectors/track, 261 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes /512 bytes
I/O size (minimum/optimal): 512 bytes / 512bytes
Disk identifier: 0x26eb36f1
Device Boot Start End Blocks Id System
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-261, default 1):
Using default value 1
Last cylinder, +cylinders or +size{K,M,G}(1-261, default 261):
Using default value 261
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
第六步 添加磁盤
[plain]
[root@serv01 web]# mdadm --manage /dev/md5--add /dev/sde1
mdadm: added /dev/sde1
[root@serv01 web]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md5 : active raid5 sde1[4] sdc1[1] sdd1[3]
4190208 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [_UU]
[=================>...] recovery = 85.8% (1800064/2095104) finish=0.0min speed=200007K/sec
unused devices: <none>
#再次查看詳細信息
[root@serv01 web]# mdadm --D /dev/md5
mdadm: unrecognized option '--D'
Usage: mdadm --help
forhelp
[root@serv01 web]# mdadm -D /dev/md5
/dev/md5:
Version : 1.2
Creation Time : Thu Aug 119:49:56 2013
Raid Level : raid5
Array Size : 4190208 (4.00 GiB 4.29 GB)
Used Dev Size : 2095104 (2046.34 MiB 2145.39 MB)
Raid Devices : 3
Total Devices : 3
Persistence : Superblock is persistent
Update Time : Thu Aug 1 20:28:292013
State : clean
Active Devices : 3
Working Devices : 3
Failed Devices : 0
Spare Devices : 0
Layout : left-symmetric
Chunk Size : 512K
Name : serv01.host.com:5 (localto host serv01.host.com)
UUID : a738b211:987ef2b2:e6ce9eb3:58724db1
Events : 45
Number Major Minor RaidDevice State
4 8 65 0 active sync /dev/sde1
1 8 33 1 active sync /dev/sdc1
3 8 49 2 active sync /dev/sdd1
#重啟後登錄
root@serv01 web]# reboot
[root@larrywen disk]# ssh 192.168.1.11
[email protected]'s password:
Last login: Thu Aug 1 20:26:07 2013 from 192.168.1.1
[root@serv01 ~]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md5 : active raid5 sdc1[1] sde1[4] sdd1[3]
4190208 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]
unused devices: <none>