一.RAID
1.RAID机制通过使用多硬盘并行工作的方式来提高硬盘的IO性能
2.RAID分为多种,称之为RAID level,RAID共有7级:RAID0~RAID6
3.常用的RAID级别有:RAID0、RAID1、RAID5、RAID6
RAID级别 速度 冗余性 磁盘利用率
RAID 0 读写速度均有提升 0 所有磁盘之和
RAID 1 读性能提升 n 一个磁盘大小
RAID 5 读写速度均有提升 1 1-1/n
RAID 6 读写速度均有提升 2 1-2/n
4.RAID的实现分为:硬件RAID、软件RAID
二.MDADM
1.每种操作系统都有软件RAID的实现
2.在Linux中软件RAID通过mdadm这个程序实现
3.mdadm支持的RAID级别有:RAID0、RAID1、RAID4、RAID5、RAID6
4.mdadm可以基于多块硬盘、分区或逻辑卷创建软件RIAD
5.创建好的软件RAID对应/dev/mdn,n为第几个RAID,如第一个创建的RAID为/dev/md0,第二个为/dev/md1
6.RAID的信息保存在/proc/mdstat文件中,或通过mdadm命令查看
三.创建软件RAID
1.我们可以通过mdadm命令创建软件RAID
2.创建RAID 0:
mdadm -C /dev/md0 -a yes -l 0 -n 2 /dev/sdb /dev/sdc
-C 创建一个新的RAID
-a 自动创建对应设备
-l 指定要创建的RAID级别
-n 指定硬盘的数量
3.创建好RAID之后,我们需要创建一个配置文件:
mdadm -D --scan > /etc/mdadm.conf
4.创建文件系统之后挂载使用了:
mkfs.ext4 /dev/md0
mount /dev/md0 /mnt
四.查看RAID信息
1.我们可以使用mdadm命令查看RAID相关信息:
mdadm -D /dev/md0
2./proc中的文件也包含RAID相关信息:
cat /proc/mdstat
五.创建其他软件RAID
1.创建RAID1:
mdadm -C /dev/md0 -a yes -l 1 -n 2 /dev/sdb /dev/sdc
2.创建RAID5:
mdadm -C /dev/md0 -a yes -l 5 -n 3 /dev/sdb /dev/sdc /dev/sdd
3.创建RAID6:
mdadm -C /dev/md0 -a yes -l 6 -n 4 /dev/sdb /dev/sdc /dev/sdd /dev/sde
4.我们也可以使用-x参数指定一个备份磁盘,备份磁盘一般不使用,当出现故障磁盘时,指定的备份磁盘可以自动上线工作:
mdadm -C /dev/md0 -a yes -l 5 -n 3 -x 1 /dev/sdb /dev/sdc /dev/sdd /dev/sde
六.控制RAID
1.我们可以通过以下命令关闭一个RAID,关闭前先卸载:
mdadm -S /dev/md0
2.通过以下命令可以启用指定RAID:
mdadm -R /dev/md0
七.模拟故障
1.实验环境下,我们可以通过以下命令模拟一个磁盘的故障:
mdadm /dev/md0 -f /dev/sdb
2.之后,我们可以将故障磁盘移除:
mdadm /dev/md0 -r /dev/sdb
3.换上新的硬盘后,我们可以将新硬盘添加到RIAD中:
mdadm /dev/md0 -a /dev/sdb