raid 的常见类型:
raid0 raid1 raid5 raid6 raid10
raid01 raid50 raid60
raid的功能:
1>通过对磁盘上的数据进行条带化,实现对数据成块存取,减少磁盘的机械寻道时间,提高了数据存取速度
2>通过对一个阵列中的几块磁盘同时读取,减少了磁盘的机械寻道时间,提高数据存取速度
3>通过镜像或者存储奇偶校验信息的方式,实现了对数据的冗余保护
其中,raid的类型不同,功能也不同,以下具体分析
raid0 条带卷
至少一块硬盘
磁盘利用率:百分百
磁盘读写性能:最快
稳定性:不安全
应用场景:操作系统,音视频
raid1镜像卷
至少两块硬盘
磁盘利用率:N-1/N 通常情况下需要两块磁盘
磁盘读写性能:理论上没有增加(可能还会降低)
稳定性:稳定
数据可用性:有
应用场景:
数据库,邮件
raid5
至少三块磁盘
磁盘读写性能:有增加(可能还会降低)
IO性能:IO*(N-1)
数据可用性:奇偶校验,相同0,相异1
磁盘利用率:N-1/N
可以出现故障磁盘的数量:最多1
稳定性:磁盘越多安全性越差
热备盘:
应用场景:
数据库,邮件,日志系统,大数据
raid6
与raid5基本相似
但 写入速度差, 成本高
raid10 组合盘
至少磁盘数:4
磁盘的读写性能:有增加(可能还会降低)
IO性能:IO*(N-2)
磁盘利用率:N-2/N
RAID实现方式的分类
(1)软RAID:由操作系统自身的算法来实现的,需要依赖消耗系统本身的资源,不适用与大型,密集型的计算场景
(2)硬RAID:由一个物理的RAID来组成的RAID,不需要依赖消耗操作系统本身的资源,性能好
raid 的配置
前提:
yum -y install mdadm
通常先在磁盘创建分区
mdadm [options] device
-C 创建阵列 create
-A 激活磁盘阵列 active
-D 打印阵列详细信息 display
-s 扫描磁盘阵列/porc/mdstat,得到阵列缺省信息
-f 将设备状态定位故障
-a 自动创建目标RAID设备的设备文件
-v 显示详细信息
-r 移除设备
-S 解除阵列,释放所有资源 stop
-l 设定磁盘阵列的级别
-x 指定磁盘阵列的备用用盘数量
-c 设定阵列的块chunk大小,单位KB ,默认512KB
-G 该表阵列大小或形态 grow
-n 磁盘阵列的数量
raid0
创建raid阵列
mdadm -C /dev/md0 -ayes -l0 -n2 /dev/sdc1 /dev/sdc2
查看raid0的信息
mdadm -D /dev/md0
创建md0的配置文件(保存)
mdadm -Ds >> /etc/mdadm.conf
创建文件系统(初始化)
mkfs.ext4 /dev/md0
创建raid0的挂载点,挂载使用
mkdir /raid0
mount /dev/md0 /raid0
载入测试数据
echo aaa >/raid0/test
停止raid0,再激活
umount /raid0
mdadm -Ss /dev/md0
mdadm -A /dev/md0
创建raid1
fdisk /dev/sdb
mdadm -C /dev/md1 -ayes -l1 -n2 /dev/sdc6 /dev/sdc7
查看raid的信息
mdadm -D /dev/md
创建raid1的配置文件
mdadm -Ds >> /etc/mdadm.conf
使用raid1,先创建文件系统
mkfs.ext4 /dev/md1
挂载使用
mkdir /raid1
mount /dev/md1/ /raid1
echo "test" >/raid1/test.txt
故障模拟,模拟sdc6这个磁盘出现故障
mdadm /dev/md1 -f /dev/sdc6
mdadm -D /dev/md1
移除异常磁盘
mdadm /dev/md1 -r /dev/sdc6
加入新磁盘
mdadm /dev/md1 -a /dev/sdc6
创建raid10
mdadm -C /dev/md10 -ayes -l10 -n4 /dev/sdb{2,3} /dev/sdb{5,6} ##创建raid10
mdadm -Ds >/etc/mdadm.conf
给阵列添加热备盘
mdadm /dev/md10 -a /dev/sdb7 ##添加热备盘
给阵列创建文件系统(初始化)
mkfs.ext4 /dev/md10
创建挂载点
mkdir /raid10
mount /dev/md10 /raid10
给raid10载入数据
echo raid10 >/raid10/raid10.txt
添加自动挂载
echo "/dev/md10 /raid10 ext4 defaults 0 0 " >> /ect/fstab
mount -a
故障模拟
mdadm /dev/md10 -f /dev/sdb2
mdadm -D /dev/md10
停止和激活
mdadm -Ss /dev/md10 停止
mdadm -As /dev/md10 激活
重启raid10阵列,数据也是可以正常的读取的
很多都是类似的操作,反复练习自然解决一切疑惑