RAID级别
RAID磁盘阵列介绍
独立硬盘冗余阵列(RAID, Redundant Array of Independent Disks),旧称廉价磁盘冗余阵列 (Redundant Array of Inexpensive Disks),简称磁盘阵列。利用虚拟化存储技术把多个硬盘组合起 来,成为一个或多个硬盘阵列组,目的为提升性能或数据冗余,或是两者同时提升。RAID 层级不同,数 据会以多种模式分散于各个硬盘,RAID 层级的命名会以 RAID 开头并带数字,例如:RAID 0、RAID 1、 RAID 5、RAID 6、RAID 7、RAID 01、RAID 10、RAID 50、RAID 60。每种等级都有其理论上的优缺 点,不同的等级在两个目标间获取平衡,分别是增加数据可靠性以及增加存储器群)读写性能。
RAID功能实现
- 提高IO能力,磁盘并行读写
- 提高耐用性,磁盘冗余算法来实现
RAID实现的方式
- 外接式磁盘阵列:通过扩展卡提供适配能力
- 内接式RAID:主板集成RAID控制器,安装OS前在BIOS里配置
- 软件RAID:通过OS实现,比如:群晖的NAS
常用的RAID级别:
- RAID0、RAID1、RAID5、RAID6、RAID1+0等。
RAID级别详解
RAID-0
RAID-0是N块硬盘并行组合成一个新的逻辑盘。
RAID-0 连续以位或字节为单位分割数据,并行读写于多个磁盘上,因此具有很高的数据传输率,但它没有数据冗余。
RAID-0 的读写性能理论上是单块磁盘的N倍。(仅限理论,因为实际中磁盘的寻址时间也是性能占用的大头)
RAID-0 只是单纯地提高性能,并没有为数据的可靠性提供保证,而且其中的一个磁盘失效将影响到所有数据。
RAID-0 不能应用于数据安全性要求高的场合。实际工作中一般不用。
RAID-1
AID-1是由N(偶数)块硬盘组合成一组镜像。
通过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生互为备份的数据。
当原始数据繁忙时,可直接从镜像拷贝中读取数据,因此RAID1 可以提高读取性能。写入性能慢。
RAID-1是磁盘阵列中单位成本最高的,但提供了很高的数据安全性和可用性。当一个磁盘失效时,系统可以自动切换到镜像磁盘上读写,而不需要重组失效的数据。
可用容量:N/2 (N是硬盘数)
实际空间使用率只有50%,两块磁盘当做一块用,这是一种比较昂贵的方案。 实际工作中一般也不使用。
注意: RAID可防物理损坏,但如果人为破坏,例如删除一边的A1数据,另一边的A1也会删除。所以安全起见还是要另做备份。
RAID-5
N(N≥3)块盘组成阵列,一份数据产生N-1个条带,同时还有1份校验数据,共N份数据在N块盘上循环均衡存储。
N块盘同时读写,读性能很高,但由于有校验机制的问题,写性能相对不高。
可靠性高,允许坏1块盘,不影响所有数据。
可用容量:N-1。磁盘利用率(N-1)/N。
RAID-5 是一种将存储性能、数据安全、存储成本兼顾的方案。是目前使用的最多的一种方式。
RAID-10
N(偶数,N≥4)块盘两两镜像后,再组合成一个RAID0。(先组成RAID1,再组成RAID0)
可用容量:N/2。磁盘利用率50%。
N/2块盘同时写入,N块盘同时读取。
性能高,可靠性高。
最多允许坏2块盘。允许Disk0和Disk2同时损坏、或 Disk1和Disk3同时损坏,其他组合情况损坏则会影响数据。
实现软RAID
mdadm工具
为软RAID提供管理界面,为空余磁盘添加冗余,结合内核中的md(multi devices)RAID设 备可命名 为/dev/md0、/dev/md1、/dev/md2、/dev/md3等
格式
mdadm [mode] <raiddevice> [options] <component-devices>命令 模式阵列名字(md0)选项 选择/dev/sdb /dev/sdd mdadm -Cv/dev/md0 -l 10(raid) -n 4 -x 1 /dev/sd[bcde] {b,c,d,e}
常用选项
模式:
- 创建:-C
- 装配:-A
- 监控:-F
- 管理:-f, -r, -a
< raiddevice> : /dev/md#
< component-device>: 任意块设备
-C: 创建模式
-n #: 使用#个块设备来创建此RAID
-l #:指明要创建的RAID的级别 0 1 5 10
-c CHUNK_SIZE: 指明块大小,单位k
-x #: 指明空闲盘的个数 热备 盘 -x 1 /dev/sd#
-D:显示raid的详细信息
mdadm -D /dev/md#
软raid名字
管理模式:
-f: 标记指定磁盘为损坏
-a: 添加磁盘
-r: 移除磁盘
观察md的状态: cat /proc/mdstat
生成配置文件:mdadm -D -s >> /etc/mdadm.conf 停止设备:mdadm -S /dev/md0激活设备:mdadm -A -s /dev/md0 强制启动:mdadm -R /dev/md0删除raid信息:mdadm --zero-superblock /dev/sdb1