RAID
什么是RAID
- 1.RAID简称磁盘阵列
- 2.什么是阵列,类似于排兵布阵,提高整体的性能,而不是单一作战
- 3.将多块盘组合进行排列,提高磁盘的整体读写能力,冗余能力,这样的方式我们称为磁盘阵列
为什么需要RAID
- 1.提升读写能力
- 2.保证数据安全
- 3.预防数据丢失
实现RAID的几种模式
RAID0
- RAID0条带卷,最少2块盘。读写性能好,无容错机制
1.磁盘空间使用率:100%,成本低。
2.读性能:N* 单块磁盘的读性能。
3.写性能:N* 单块磁盘的写性能。
4.冗余:无,任何一块磁盘损坏都将导致数据不可用
应用场景:无状态服务
RAID1
- RAID1镜像卷,写入性能一般,读取性能快,有容错机制,但是磁盘有50%浪费
1.磁盘空间使用率:50%,成本较高。
2.读性能:N* 单块磁盘的读性能。
3.写性能:1* 单块磁盘的写性能。
4.冗余:在这一对镜像盘中有一块磁盘可以使用,那么无影响。
5.应用场景:有状态服务
RAID5
- RAID5校验卷,至少3块相同大小的盘,并且只允许坏一块盘,有效空间1/3,读写速度快,坏掉一块盘,读性能减低。
1.磁盘空间利用率:(N-1) ,即只浪费一块磁盘用于奇偶校验。
2.读性能:(n-1)*单块磁盘的读性能,接近RAID0的读性能。
3.写性能:(n-1)*单块磁盘的写性能,接近RAID0的写性能。
4.冗余:只允许一块磁盘损坏。
5.应用场景:常规选择
RAID10
- RAID10,先做RAID1,在做RAID0
1.磁盘空间利用率:50%
2.读性能:
3.写性能:
4.冗余:只要一对镜像盘中有一块磁盘可以使用就没问题
5.应用场景:数据库
实现RAID的方式
硬RAID
- 硬RAID使用硬件阵列卡;在安装操作系统之前进入BIOS配置
软RAID
- 软RAID通过操作系统软件来实现,性能远不如硬RAID
软RAID配置实战
RAID环境准备
1.在虚拟机上添加9块磁盘
2.创建软RAID命令mdadm,安装:yum install -y mdadm
mdadm磁盘阵列命令选项
-C:创建RAID设备,把RAID信息写入每个RAID成员超级块中
-v 显示RAID创建过程中的详细信息
-D 显示RAID设备的详细信息
-s 扫描配置文件或/proc/mdstat以搜寻丢失的信息
创建模式;
-l:指定级别
-n:指定设备数量
-v:指定设备名称
-x:指定备用磁盘
管理模式
--add
--remove
--fail
RAID0实战
1.创建raid0
[root@localhost ~]# mdadm -C -v /dev/md0 -l 0 -n 2 /dev/sdb /dev/sdc
2.查看阵列信息
[root@localhost ~]# mdadm -Ds
[root@localhost ~]# mdadm -D /dev/md0
3.格式化磁盘并挂载分区
[root@localhost ~]# mkfs.xfs /dev/md0
[root@localhost ~]# mkdir /raid0
[root@localhost ~]# mount /dev/md0 /raid0/
[root@localhost ~]# df -h
RAID1实战
1.准备两块盘,然后创建阵列为RAID1,准备一块备用盘
2.创建raid1阵列
[root@localhost ~]# mdadm -C -v /dev/md1 -l 1 -n 3 /dev/sdd /dev/sde -x 1 /dev/sdf
3.格式化磁盘并分区挂载
[root@localhost ~]# mkfs.xfs -f /dev/md1
[root@localhost ~]# mkdir /raid1
[root@localhost ~]# mount /dev/md1 /raid1
4.使用--fail 剔除模拟RAID1中数据盘/dev/sde出现故障,观察/dev/sdf备用盘能否自动顶替故障盘
[root@localhost ~]# mdadm /dev/md1 --fail /dev/sde
5.检查RAID状态
[root@localhost ~]# mdadm -D /dev/md1
Number Major Minor RaidDevice State
0 8 48 0 active sync /dev/sdd
2 8 80 1 spare rebuilding /dev/sdf #热备盘已经在同步数据
1 8 64 - faulty /dev/sde #故障盘
6.移除故障盘
[root@localhost ~]# mdadm /dev/md1 -r /dev/sde
RAID5实战
1.创建RAID5,也可以在最后-x添加备用盘
[root@localhost ~]# mdadm -C -v /dev/md5 -l 5 -n 3 /dev/sdg /dev/sdh /dev/sdi -x 1 /dev/sdj
2.格式化磁盘并分区挂载
[root@localhost ~]# mkfs.xfs /dev/md5
[root@localhost ~]# mkdir /raid5
[root@localhost ~]# mount /dev/md5 /raid5
[root@localhost ~]# echo "123" /raid5/asd
[root@localhost ~]# mdadm -D /dev/md5
3.模拟一块磁盘损坏,查看/dev/sdj备用盘是否会顶上去
[root@localhost ~]# mdadm /dev/md5 --fail /dev/sdg
[root@localhost ~]# mdadm -D /dev/md5
Number Major Minor RaidDevice State
3 8 144 0 spare rebuilding /dev/sdj
1 8 112 1 active sync /dev/sdh
4 8 128 2 active sync /dev/sdi
0 8 96 - faulty /dev/sdg
4.将故障的/dev/sdg盘剔除
[root@localhost ~]# mdadm /dev/md5 -r /dev/sdg
[root@localhost ~]# mdadm -D /dev/md5
Number Major Minor RaidDevice State
3 8 144 0 active sync /dev/sdj
1 8 112 1 active sync /dev/sdh
4 8 128 2 active sync /dev/sdi
5.再次模拟一块磁盘损坏,检查数据是否丢失
[root@localhost ~]# mdadm /dev/md5 --fail /dev/sdi
[root@localhost ~]# mdadm -D /dev/md5
Number Major Minor RaidDevice State
3 8 144 0 active sync /dev/sdj
1 8 112 1 active sync /dev/sdh
- 0 0 2 removed
4 8 128 - faulty /dev/sdi