独立冗余磁盘阵列,为了提高磁盘的读写性能和使其具有备份功能,引入了RAID

因为要管理复杂的RAID架构,因此引入了RAID控制器

RAID控制器甚至可以独立的存在,其内部有CPU、内存、电源等

级别:仅代表磁盘组织方式不同,没有上下之分;

0条带

性能提升: 读,写

冗余能力(容错能力):

空间利用率:nS

至少2块盘

1镜像

性能表现:写性能下降,读性能提升

冗余能力:有

空间利用率:1/2

至少2块盘

5:

性能表现:读,写提升

冗余能力:有

空间利用率:(n-1)/n

至少需要3

10:

性能表现:读、写提升

冗余能力:有

空间利用率:1/2

至少需要4

01:

性能表现:读、写提升

冗余能力:有

空间利用率:1/2

至少需要4

50:

性能表现:读、写提升

冗余能力:有

空间利用率:(n-2)/n

    至少需要6

jbod:

性能表现:无提升

冗余能力:无

空间利用率:100%

至少需要2

RAID 0 是提高读写性能的,并不提高备份或容错能力,不允许损坏任意一块损坏,其实提高了数据损毁的可能性,对于重要的数据,一般不可取,

 

RAID 1 镜像,只是将磁盘中的数据做一次备份,允许不是对应的(相同数据的)任意块损坏

 

RAID 5 校验技术,轮替作校验盘,将数据分别存入不同盘中,另存入一份数据的校验信息轮替至一个盘中,这样即能提高raid的读写能力,又能实现了容错。但如果一块坏了,就变成了降级模式,还能实现读写,但效果不佳

 

RAID 10 先对数据做镜像,再做条带处理,即能实现读写能力,又能实现容错能力、

每组镜像中最多只能损坏一块

 

RAID 01 先对数据做条带,再做镜像处理,即能实现读写能力,又能实现容错能力、

不对应的磁盘一次块损坏一块

 

JBOD 可实现将多块硬盘合并成一个较大的空间,在生产中,若磁盘不够用,有没有其他

LVM等的动态扩展功能时可实现空间的应急扩展

 

Linuxkernel中自带有md模块,可实现RAID功能,其自带有RAID管理工具

mdadm 模式化工具

命令的语法格式:mdadm [mode]<raiddevice> [options] <component-devices>

持的RAID级别:LINEAR,RAID0, RAID1, RAID4, RAID5, RAID6, RAID10;

         -C: 创建模式

                   -n #: 使用#个块设备来创建此RAID

                   -l #:指明要创建的RAID的级别;

                            -a{yes|no}:自动创建目标RAID设备的设备文件;

                            -cCHUNK_SIZE: 指明块大小;

                   -x #: 指明空闲盘的个数;

                   例如:创建一个10G可用空间的RAID5

         -D:显示raid的详细信息;

                   mdadm -D /dev/md#

         管理模式:

         -f: 标记指定磁盘为损坏;

         -a: 添加磁盘

                   -r:移除磁盘

         观察md的状态:

         cat /proc/mdstat

         停止md设备:

         mdadm -S /dev/md#

         watch命令:

-n #: 刷新间隔,单位是秒;

         watch -n# 'COMMAND'