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