- RAID的特点:
提高IO 能力:
磁盘并行读写
提高耐用性;
磁盘冗余来实现
级别:多块磁盘组织在一起的工作方式有所不同
RAID 实现的方式:
外接式磁盘阵列:通过扩展卡提供适配能力
内接式RAID :主板集成RAID 控制器
安装OS 前在BIOS 里配置
软件RAID :通过OS 实现
- RAID级别:
RAID-0:
读、写性能提升;
可用空间:N*min(S1,S2,...)
无容错能力
最少磁盘数:2, 2
RAID-1:
读性能提升、写性能略有下降;
可用空间:1*min(S1,S2,...)
有冗余能力
最少磁盘数:2, 2N
RAID-4:
多块数据盘异或运算值,存于专用校验盘
RAID-5: :
读、写性能提升
可用空间:(N-1)*min(S1,S2,...)
有容错能力:允许最多1 块磁盘损坏
最少磁盘数:3, 3+
RAID-6:
读、写性能提升
可用空间:(N-2)*min(S1,S2,...)
有容错能力:允许最多2 块磁盘损坏
最少磁盘数:4, 4+
RAID-10: :
读、写性能提升
可用空间:N*min(S1,S2,...)/2
有容错能力:每组镜像最多只能坏一块
最少磁盘数:4, 4+
RAID-01 、RAID-50
RAID7:可以理解为一个独立存储计算机,自身带有操作系统和管理工具,可以独立运行,理论上性能最高的RAID模式
JBOD :Just a Bunch Of Disks
功能:将多块磁盘的空间合并一个大的连续空间使用
可用空间:sum(S1,S2,...)
常用级别:RAID-0, RAID-1, RAID-5,
RAID-10,
RAID-50, JBOD
- 软RAID
- mdadm :为软RAID 提供管理界面
- 为空余磁盘添加冗余
- 结合内核中的md(multi devices)
- RAID 设备可命名为/dev/md0 、/dev/md1 、/dev/md2、/dev/md3等
- 软件raid的实现
mdadm
-C:创建模式
-n #:使用#个块设备来创建此 此RAID
-l #:指明要创建的RAID 的级别
-a {yes|no} :自动创建目标RAID 设备的 设备文件
-c CHUNK_SIZE: 指明 块大小
-x #:指明空闲盘 的个数
-D:显示raid 的详细信息,打印 md 设备文件
mdadm -D /dev/md#
管理模式:
-f:标记指定磁盘为损坏
-a:添加磁盘
-r:移除磁盘
-s 扫描配置文件和丢失的文件信息
-S 停止删除 md0(raid)
-A 加入一个以前定义的阵列
观察md 的状态:
cat /proc/mdstat
- Watch 实时跟踪查看信息
-n 间隔刷新时间 eg .5 间隔为 0.5 秒
软RAID配置示例:
使用mdadm 创建并定义RAID 设备
mdadm -C /dev/md0 -a yes -l 5 -n 3 -x 1 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
用文件系统对每个RAID 设备进行格式化
mke2fs -j /dev/md0
生成配置文件
mdadm –D –s >> /etc/mdadm.conf
测试RAID 设备
使用mdadm 检查RAID 设备的状况
mdadm --detail|D /dev/md0
增加新的成员
mdadm –G /dev/md0 –n4 -a /dev/sdf1
软RAID的测试和修复
模拟磁盘故障
mdadm /dev/md0 -f /dev/sda1
移除磁盘
mdadm /dev/md0 –r /dev/sda1
从软件RAID 磁盘修复磁盘故障
替换出故障的磁盘然后开机
在备用驱动器上重建分区
mdadm /dev/md0 -a /dev/sda1
mdadm 、/proc/mdstat及系统日志信息
软RAID 管理
> 生成配置文件:mdadm –D –s >>/etc/mdadm.conf
/etc/mdadm.conf配置文件为开机自启mdRAID设备的配置文件
停止设备:mdadm –S /dev/md0
激活设备:mdadm –A –s /dev/md0 激活
强制启动:mdadm –R /dev/md0
删除raid 信息:mdadm --zero-superblock /dev/sdb1
删除raid
1 先取消挂载
2 停止raid mdadm -S /dev/md0
3 rm -rf 删除配置文件
4 vim /etc/fatab删除文件中的挂载信息
5 删除对应分区上的超级块中的raid信息或格式化分区 mdadm --zero-superblock /dev/sdb1
实验:
- 创建raid10
法1,raid0和1分开创建
mdadm -C /dev/md0 -a yes -l 1 -n 2 /dev/sdb{1,2}
mdadm -C /dev/md1 -a yes -l 1 -n 2 /dev/sdc{1,2}
mdadm -C /dev/md2 -a yes -l 0 -n 2 /dev/md{0,1}
法2.raid10同时创建
dadm -C /dev/md0 -a yes -l 10 -n 4 /dev/sdb{1,2} /dev/sdc{1,2}
- 创建RAID5
mdadm -C /dev/md0 -a yes -l 5 -n 3 -x1 /dev/sd{a7,b,c1,d1} -a 自动创建 -l raid级别 -n raid成员数 -x 热备盘
mdadm -D /dev/md0 查看raid状态
cat /proc/mdstat
mdadm -Ds /dev/md0 > /etc/mdadm.conf 生成raid配置文件
mkfs.ext4 /dev/md0 格式化文件系统
vim /etc/fstab 挂载信息写入fstab文件
- 删除RAID
umount 先卸载raid设备
mdadm -S /dev/md0 停止md0设备
rm -f /etc/mdadm.conf
vim /etc/fstab 删除fatab文件的挂载信息
mdadm --zero-superblock /dev/sda7 清除Raid成员上raid元数据