首页 > 代码库 > 九. RAID (Redundant Arrays of Independent Disk)
九. RAID (Redundant Arrays of Independent Disk)
RAID作用,RAID级别,RAID实现方式,mdadm
1. RAID作用
提高I/O能力: 磁盘并行读写
提高耐用性:磁盘冗余
2. RAID级别
常用级别RAID0,RAID1,RAID5,RAID10,RAID50,JBOD
RAID-0 条带卷 strip, 将数据分割成chunk存在不同磁盘中
1.提升读写能力
2.无容错能力
3.最少磁盘数2
4.可用空间: n*min(disk1,disk2 ...)
RAID-1 镜像卷 mirror, 将数据复制成多份存在不同磁盘中
1.降低写入能力,提升读取能力
2.可以同时坏一块硬盘
3.最少两块磁盘
4.可用磁盘空间: 1*min(disk1,disk2,disk3 ... )
...
RAID-4 其中一块磁盘做校验盘,通过计算可算出任意一块磁盘的数据
1.提高读写能力
2.可以同时坏一块磁盘
3.至少三块磁盘
4.可以空间: (n-1)*min(disk1,disk2 ... )
RAID-5 各磁盘轮循做校验盘,通过计算可求出任意一块磁盘的数据
1.提高读写能力
2.可以同时坏一块磁盘
3.至少3块磁盘
4.可用空间: (n-1)*min(disk1,disk2,...)
RAID-6 计算两份校验值存在不同磁盘中,各磁盘轮循做校验盘
1.提升读写能力
2.可以同时坏两块磁盘
3.至少4块磁盘
4.可用空间: (n-2)*min(disk1,disk2 ... )
RAID-7
RAID-10 先做RAID1, 再做RAID0
1.提升读写能力
2.最多可同时坏一半磁盘
3.至少4块磁盘
4.可用空间: n*min(disk1,disk2, ... )/2
RAID-01 先做RAID0, 再做RAID1
JBOD Just a Bunch Of Disk
功能: 将多个磁盘空间合并为一个连续的空间使用
可用空间: sum(disk1,disk2 ... )
3.RAID实现方式
硬件实现
外接磁盘阵列卡,通过扩展卡提供适配能力
内接式RAID,主板集成RAID控制器
软件实现
4.mdadm - manage MD devices aka Linux Software RAID
mdadm [mode] <raiddevice> [options] <component-devices>
[mode]
-C, --create
-n # 指定用多少块磁盘做RAID
-x # 指定用多少块磁盘做热备磁盘
-l # 指定RAID级别
-a {yes/no} 自动创建目标RAID设备文件
-c CHUNK_SIZE 指定块大小
-D 查看RAID详细信息
-S 停止RAID设备
<raiddevice> e.g /dev/md0
[options]
-f 将磁盘状态设置为fail
-r 移除磁盘设备
-a 增加磁盘设备
<component-devices> e.g /dev/sdb1 /dev/sdc1 ...
5. cat /proc/mdstat 查看raid状态
6. 使用mdadm创建软RAID步骤
1. 准备磁盘分区,并将ID更改为fd Linux raid auto
2. mdadm 创建磁盘 e.g mdadm -C /dev/md0 -n 3 -x 1 -l 5 /dev/sd{b,c,d,e}1
3. 格式化磁盘 e.g mkfs.etx4 /dev/md0
九. RAID (Redundant Arrays of Independent Disk)