RAID:Redundant Arrays of Inexpensive(Independent) Disks
多个磁盘合成一个“阵列”来提供更好的性能、冗余,或者两者都提供
1.作用:
(1)提高IO能力:
磁盘并行读写
(2) 提高耐用性;
磁盘冗余来实现
(3) 级别:多块磁盘组织在一起的工作方式有所不同
2.RAID实现的方式:
(1)外接式磁盘阵列:通过扩展卡提供适配能力
(2)内接式RAID:主板集成RAID控制器
(3)安装OS前在BIOS里配置
(4)软件RAID:通过OS实现
3.级别:
(1)RAID-0:
读、写性能提升;
可用空间:N*min(S1,S2,...)
无容错能力
最少磁盘数:2, 2
(2)RAID-1:
读性能提升、写性能略有下降;
可用空间:1*min(S1,S2,...)
有冗余能力
最少磁盘数:2, 2N
(3)RAID-4:
多块数据盘异或运算值,存于专用校验盘
(4)RAID-5:
读、写性能提升
可用空间:(N-1)*min(S1,S2,...)
有容错能力:允许最多1块磁盘损坏
最少磁盘数:3, 3+
(5)RAID-6:
读、写性能提升
可用空间:(N-2)*min(S1,S2,...)
有容错能力:允许最多2块磁盘损坏
最少磁盘数:4, 4+
(6)RAID-10:
读、写性能提升
可用空间:N*min(S1,S2,...)/2
有容错能力:每组镜像最多只能坏一块
最少磁盘数:4, 4+
(7)RAID-01、RAID-50
(8)RAID7: 可以理解为一个独立存储计算机,自身带有操作系
统和管理工具,可以独立运行,理论上性能最高的RAID模式
(9)JBOD:Just a Bunch Of Disks
功能:将多块磁盘的空间合并一个大的连续空间使用
可用空间:sum(S1,S2,...)
常用级别:RAID-0, RAID-1, RAID-5, RAID-10,
RAID-50, JBOD
4.软RAID
mdadm:为软RAID提供管理界面
为空余磁盘添加冗余
结合内核中的md(multi devices)
RAID设备可命名为/dev/md0、/dev/md1、/dev/md2、/dev/md3等
5.软件RAID的实现
mdadm:模式化的工具
命令的语法格式:
# mdadm [mode] <raiddevice> [options] <component-devices>
支持的RAID级别:LINEAR, RAID0, RAID1, RAID4,RAID5, RAID6, RAID10
模式:
创建:-C
装配: -A
监控: -F
管理:-f, -r, -a
<raiddevice>: /dev/md#
<component-devices>: 任意块设备
6.软件RAID的实现
-C: 创建模式
-n #: 使用#个块设备来创建此RAID
-l #:指明要创建的RAID的级别
-a {yes|no}:自动创建目标RAID设备的设备文件
-c CHUNK_SIZE: 指明块大小
-x #: 指明空闲盘的个数
-D:显示raid的详细信息;
# mdadm -D /dev/md#
管理模式:
-f: 标记指定磁盘为损坏
-a: 添加磁盘
-r: 移除磁盘
观察md的状态:
# cat /proc/mdstat
6.软RAID配置示例
使用mdadm创建并定义RAID设备(最后一个为备份eg:/dev/sde1)
#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
测试RAID设备
使用mdadm检查RAID设备的状况
#mdadm --detail|D /dev/md0
增加新的成员
#mdadm –G /dev/md0 –n4 -a /dev/sdf1
7.软RAID测试和修复
模拟磁盘故障
#mdadm /dev/md0 -f /dev/sda1
移除磁盘
# mdadm /dev/md0 –r /dev/sda1
从软件RAID磁盘修复磁盘故障
• 替换出故障的磁盘然后开机
• 在备用驱动器上重建分区
• mdadm /dev/md0 -a /dev/sda1
mdadm、/proc/mdstat及系统日志信息
8.软RAID管理
(1)生成配置文件:mdadm –D –s >> /etc/mdadm.conf
(2) 停止设备:mdadm –S /dev/md0
(3) 激活设备:mdadm –A –s /dev/md0 激活
(4) 强制启动:mdadm –R /dev/md0
(5) 删除ra