一、什么是raid
磁盘阵列(Redundant Arrays of Independent Disks,RAID),有“独立磁盘构成的具有冗余能力的阵列”之意
磁盘阵列是由很多价格较便宜的磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能。利用这项技术,将数据切割成许多区段,分别存放在各个硬盘上
二、raid的分类
raid在企业中的使用主要有三种:
1、外接式
外接式最常被使用大型服务器上,具可热交换(Hot Swap)的特性,不过这类产品的价格都很贵
2、内接式
内接式价格相对便宜,并且能够***能、数据保护、可靠性、可用性和可管理性的解决方案,它的实现是主要是依靠机器内的raid卡。也是目前使用最广泛的一种方式
3、利用软件来仿真
利用软件仿真的方式,是指通过操作系统自身提供的磁盘管理功能将连接的普通SCSI卡上的多块硬盘配置成逻辑盘,组成阵列。linux中提供的磁盘管理工具为mdadm,可以用此来实现软raid。
三、raid的分级
目前企业中使用最广泛的raid主要有:raid 0,raid 1,raid 4,raid 5,raid10,接下来对其进行详细的说明。
1、raid 0
raid 0是组建磁盘阵列中最简单的一种形式,只需要2块以上的硬盘即可,成本低,可以提高整个磁盘的性能和吞吐量。raid 0没有提供冗余或错误修复能力,但实现成本是最低的。实现的原理如下图:
性能:读、写性能提升;无容错能力
2、raid1
raid 1称为磁盘镜像,原理是把一个磁盘的数据镜像到另一个磁盘上,也就是说数据在写入一块磁盘的同时,会在另一块闲置的磁盘上生成镜像文件,在不影响性能情况下最大限度的保证系统的可靠性和可修复性上,只要系统中任何一对镜像盘中至少有一块磁盘可以使用,甚至可以在一半数量的硬盘出现问题时系统都可以正常运行,当一块硬盘失效时,系统会忽略该硬盘,转而使用剩余的镜像盘读写数据,具备很好的磁盘冗余能力,工作模式如下图:
性能:读性能提升、写性能略有下降;有冗余能力
3、raid 4
创建RAID 4需要三块或更多的磁盘,并以RAID 0方式将数据写入其它磁盘,而它专门有一个磁盘里面存放校验(XOR:奇偶校验)信息。
性能:校验较为迅速,但写入速度极差,控制器的设计更加复杂,有冗余功能,但是如果校验盘损坏就无法恢复。
4、raid 5
也是运用校验功能实现冗余功能的,但它与raid 4最大的不同是,他的校验信息不是集中存放在一张磁盘中的,而是分布存放在阵列中的所有磁盘中。
性能:读、写性能提升,有容错能力,可能允许整列中任意一个硬盘损坏,而对数据没有影响。
5.raid 10
是有raid1和raid0组合而成的,即先做镜像raid1,再做条带raid0。
性能:读、写提升,有冗余能力.
四、linux中软raid的实现
linux中有一个磁盘管理工具可以实现软raid,工具名为:mdadm
命令的语法格式:mdadm [mode] <raiddevice> [options] <component-devices>
[mode]模式:
-C:创建模式
-A:装配模式
-F:监控模式
-f,-r,-a:管理模式
<raiddevice>设备:/dev/md#
<component-devices>: 任意块设备
-C: 创建模式
-n #: 使用#个块设备来创建此RAID;
-l #:指明要创建的RAID的级别;
-a {yes|no}:自动创建目标RAID设备的设备文件;
-c CHUNK_SIZE: 指明块大小;
-x #: 指明空闲盘的个数;
-D:显示raid的详细信息;
管理模式:
-f: 标记指定磁盘为损坏
-a: 添加磁盘
-r: 移除磁盘