作磁盘组,配合数据分散排列的设计,提升数据的安全性。磁盘阵列是由很多价格较便宜的磁盘,组合成一个容量巨大的磁盘组,利用个
别磁盘提供数据所产生加成效果提升整个磁盘系统效能。利用这项技术,将数据切割成许多区段,分别存放在各个硬盘上。磁盘阵列还能
利用同位检查(Parity Check)的观念,在数组中任一颗硬盘故障时,仍可读出数据,在数据重构时,将数据经计算后重新置入新硬盘中。
RAID 0(条带 (strping))
是组建磁盘阵列中最简单的一种形式,只需要2块以上的硬盘即可,成本低,可以提高整个磁盘的性能和吞吐量。
RAID 0没有提供冗余或错误修复能力,但实现成本是最低的。
特点:速度快,没有容错能力
RAID1:镜像(mirroring)
ID 1称为磁盘镜像,原理是把一个磁盘的数据镜像到另一个磁盘上,也就是说数据在写入一块磁盘的同时,会在另一块闲置的磁盘上生成镜像文件,
在不影响性能情况下最大限度的保证系统的可靠性和可修复性上,只要系统中任何一对镜像盘中至少有一块磁盘可以使用,甚至可以在一半数量的
硬盘出现问题时系统都可以正常运行,当一块硬盘失效时,系统会忽略该硬盘,转而使用剩余的镜像盘读写数据,具备很好的磁盘冗余能力。虽然这
样对数据来讲绝对安全,但是成本也会明显增加,磁盘利用率为50%,以四块80GB容量的硬盘来讲,可利用的磁盘空间仅为160GB。另外,出现
硬盘故障的RAID系统不再可靠,应当及时的更换损坏的硬盘,否则剩余的镜像盘也出现问题,那么整个系统就会崩溃。更换新盘后原有数据会需要
很长时间同步镜像,外界对数据的访问不会受到影响,只是这时整个系统的性能有所下降。因此,RAID 1多用在保存关键性的重要数据的场合。
RAID 1示意图
RAID5:条带+分布校验
3块以上,利用率为(n-1)/n,有容错功能,最多可以坏一块磁盘
RAID6:条带+分布校验+分布校验
5块以上,利用率为(n-2)/n,有容错功能,最多可以坏二块磁盘
RAID10:镜像+条带
利用率为50%
RAID配置总结:
mdadm命令:
mdadm - manage MD(mutiple disk) devices aka Linux Software RAID
Currently, Linux supports LINEAR md devices, RAID0 (striping), RAID1
(mirroring), RAID4, RAID5, RAID6, RAID10, MULTIPATH, FAULTY, and CON-
TAINER.
-C:新建RAID设备
-l:设定RAID级别
-n:磁盘数目:设定RAID成员设备数目
-x(spare device):磁盘数目,设定备用磁盘数目
-s:扫描配置文件/etc/madam.conf
-D:查看RAID设备信息
-S:停用RAID
-A:激活RAID
[root@lvm ~]# cat /proc/mdstat 查看RAID的配置信息
Personalities : [raid6] [raid5] [raid4]
md5 : active raid5 sde[5] sdf[4](S) sdd[2] sdc[1] sdb[0]
3144192 blocks super 1.2 level 5, 512k chunk, algorithm 2 [4/4] [UUUU]
unused devices:
[root@lvm ~]# mdadm -Ds 查看设备信息
ARRAY /dev/md5 metadata=1.2 spares=1 name=lvm:5 UUID=e433a3d5:94c67839:5e66cae5:e4976d17
创建RAID5
mdadm -C /dev/md5 -l5 -n4 -x1 /dev/sd[bcdef]
查看RAID的详细信息
mdadm -D /dev/md5
创建配置文件
mdadm -Ds >>/etc/mdadm.conf
停止 RAID
mdadm -S /dev/md5
查看RAID信息
cat /proc/mdstat
格式化挂载RAID磁盘阵列
mkfs.ext4 /dev/md5
自动挂载RAID阵列
修改/etc/fstab
注:/boot分区用于存放引导文件,不用应用RAID机制
RAID5模拟故障
让失效的/dev/sdb1替换为/dev/sdg1
mdadm /dev/md5 -a /dev/sdg1 -r /dev/sdb1
配置共享的热备份磁盘
多个RAID共享备份磁盘节约空间
修改 mdadm.conf文件添加 spare-group\sparedisks
--monitor开启监控RAID
多种元数据格式
-Es 查看成员设备上的元数据信息
--zero -superblock 清空成员设备上的元数据信息
[root@localhost ~]# mdadm -E /dev/sdb 查看磁盘上的元数据
千万不要在没有关闭RAID的情况下删除分区
正确关闭RAID的步骤
1.umount卸载RAID文件系统
2.mdadm -S停用RAID
3.清空/etc/mdadm.conf文件
4.清除/etc/fstab中RAID的挂载记录
5.清除每块磁盘上的元数据
6.删除/dev/下所对应的raid设备
[root@lvm ~]# cat /proc/mdstat 查看RAID的配置信息
Personalities : [raid6] [raid5] [raid4]
md5 : active raid5 sde[5] sdf[4](S) sdd[2] sdc[1] sdb[0]
3144192 blocks super 1.2 level 5, 512k chunk, algorithm 2 [4/4] [UUUU]
unused devices:
[root@lvm ~]# mdadm -Ds
ARRAY /dev/md5 metadata=1.2 spares=1 name=lvm:5 UUID=e433a3d5:94c67839:5e66cae5:e4976d17
==========================================================================
练习:
1.新建raid5卷,使用4块磁盘作raid5,1块磁盘作热备
[root@localhost Desktop]# mdadm -C /dev/md5 -l5 -n4 -x1 /dev/sd[bcdef]
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md5 started.
[root@localhost Desktop]# cat /proc/mdstat 查看RAID的配置信息
Personalities : [raid6] [raid5] [raid4]
md5 : active raid5 sde[5] sdf[4](S) sdd[2] sdc[1] sdb[0] 可知sdf[4]做了热备盘
3144192 blocks super 1.2 level 5, 512k chunk, algorithm 2 [4/4] [UUUU]
[root@localhost Desktop]# mdadm -D /dev/md5 查看/dev/md5的设备信息
/dev/md5:
Version : 1.2
Creation Time : Sun Jul 21 01:19:25 2013
Raid Level : raid5
Array Size : 3144192 (3.00 GiB 3.22 GB)
Used Dev Size : 1048064 (1023.67 MiB 1073.22 MB)
Raid Devices : 4
Total Devices : 5
Persistence : Superblock is persistent
Update Time : Sun Jul 21 01:19:33 2013
State : clean
Active Devices : 4
Working Devices : 5
Failed Devices : 0
Spare Devices : 1
Layout : left-symmetric
Chunk Size : 512K
Name : lvm:5 (local to host lvm)
UUID : e433a3d5:94c67839:5e66cae5:e4976d17
Events : 18
[root@localhost Desktop]# mdadm -Ds >> /etc/mdadm.conf 创建配置文件
[root@localhost Desktop]# mdadm -S /dev/md5 停止RAID
mdadm: stopped /dev/md5
[root@localhost Desktop]# mdadm -A /dev/md5 激活RAID
mdadm: /dev/md5 has been started with 4 drives and 1 spare.
[root@localhost Desktop]# mkfs.ext4 /dev/md5
2.格式化raid5设备
[root@localhost Desktop]# mkfs.ext4 /dev/md5 格式化md5
3.挂载使用
[root@localhost Desktop]# mkdir /file
[root@localhost Desktop]# mount /dev/md5 /file
4.自动挂载功能,修改/etc/fstab文件,添加
在/etc/fstab写入
/devsda5 /file ext4 defaults 0 0
[root@localhost Desktop]# mdadm -D /dev/md5 格式化及挂载后, 再次查看md5设备信息
/dev/md5:
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
5 8 64 3 active sync /dev/sde
4 8 80 - spare
5.让其中的一块失效,然后看raid5是否能够继续使用
[root@localhost Desktop]# mdadm /dev/md5 -f /dev/sdd(先失效一块)
[root@localhost Desktop]# mdadm /dev/md5 -f /dev/sde (后失效一块)
使用cat /proc/mdstat命令查看修复过程(需赶快查看,才能看到效果)
6.删除有问题的磁盘,添加一个好的磁盘作热备,要求磁盘>容量一致
mdadm /dev/md5 -r /dev/sde[de] -a /dev/sd【gh】
[root@localhost ~]# cat /proc/mdstat 查看raid的构建过程
Personalities : [raid6] [raid5] [raid4]
md5 : active raid5 sde[5] sdf[4](S) sdd[2] sdc[1] sdb[0]
3144192 blocks super 1.2 level 5, 512k chunk, algorithm 2 [4/3] [UUU_]
[=============>.......] recovery = 68.5% (719232/1048064) finish=0.0min speed=143846K/sec
[root@localhost file]# mdadm -D /dev/md5
/dev/md5:
Version : 1.2
Creation Time : Sun Jul 21 01:19:25 2013
Raid Level : raid5
Array Size : 3144192 (3.00 GiB 3.22 GB)
Used Dev Size : 1048064 (1023.67 MiB 1073.22 MB)
Raid Devices : 4
Total Devices : 5
Persistence : Superblock is persistent
Update Time : Sun Jul 21 01:44:49 2013
State : clean
Active Devices : 4
Working Devices : 5
Failed Devices : 0
Spare Devices : 1
Layout : left-symmetric
Chunk Size : 512K
Name : lvm:5 (local to host lvm)
UUID : e433a3d5:94c67839:5e66cae5:e4976d17
Events : 68
Number Major Minor RaidDevice State
0 8 16 0 active sync /dev/sdb
1 8 32 1 active sync /dev/sdc
4 8 80 2 active sync /dev/sdf
6 8 112 3 active sync /dev/sdh
5 8 96 - spare /dev/sdg
[root@localhost file]# mdadm /dev/md5 -f /dev/sdh 再次破坏/dev/sdh
[root@localhost file]# mdadm -D /dev/md5
Active Devices : 4
Working Devices : 4
Failed Devices : 1
Number Major Minor RaidDevice State
0 8 16 0 active sync /dev/sdb
1 8 32 1 active sync /dev/sdc
4 8 80 2 active sync /dev/sdf
5 8 96 3 active sync /dev/sdg
6 8 112 - faulty spare /dev/sdh
[root@localhost file]# mdadm /dev/md5 -f /dev/sdh
[root@localhost file]# mdadm -D /dev/md5
/dev/md5:
State : clean, degraded, recovering
Active Devices : 3
Working Devices : 4
Failed Devices : 1
Spare Devices : 1
Number Major Minor RaidDevice State
0 8 16 0 active sync /dev/sdb
1 8 32 1 active sync /dev/sdc
4 8 80 2 active sync /dev/sdf
5 8 96 3 spare rebuilding /dev/sdg
6 8 112 - faulty spare /dev/sdh
【root@localhost file]# mdadm /dev/md5 -f /dev/sdf 破坏/sdf盘
Active Devices : 2
Working Devices : 2
Failed Devices : 3
Number Major Minor RaidDevice State
0 8 16 0 active sync /dev/sdb
1 8 32 1 active sync /dev/sdc
2 0 0 2 removed
3 0 0 3 removed
4 8 80 - faulty spare /dev/sdf
5 8 96 - faulty spare /dev/sdg
[root@localhost /]# mount -a 卸载再挂载
mount: wrong fs type, bad option, bad superblock on /dev/md5,
[root@localhost /]# mdadm -S /dev/md5
mdadm: stopped /dev/md5
[root@localhost /]# mdadm -A /dev/md5
mdadm: /dev/md5 assembled from 2 drives - not enough to start the array.
[root@localhost /]# mdadm -Es /dev/sdb 查看成员设备上的元数据信息
ARRAY /dev/md/5 metadata=1.2 UUID=e433a3d5:94c67839:5e66cae5:e4976d17 name=lvm:5
[root@localhost /]# mdadm -E /dev/sdb
Raid Level : raid5
Device Role : Active device 0
Array State : AA.. ('A' == active, '.' == missing)
=========
删除/dev/md5
1.卸载挂载点
[root@localhost /]# umount /dev/sda5
2.[root@localhost /]#mdadm -S停用RAID
3.清空 /etc/mdadm.conf文件
4彻底清除/etc/fstab文件的挂载记录
5.清除每块磁盘的元数据
[root@localhost /]# mdadm --zero-superblock /dev/sd[bcdefg]
6.删除/dev/下所对应的raid设备