建站服务器

RAID的全称是Redundant Array of Inexpensive Disks 可以释义为 廉价磁盘冗余阵列,后来的RAID里的字母I被认为是Independent,即独立的磁盘冗余阵列。

RAID的主要作用就是通过多个条带实现并行读写提高IO能力,以及提高磁盘的耐用性

RAID的实现方式

    硬件实现

      通过硬件RAID控制器或适配器将所需的磁盘组织成RAID,然后安装OS;

      依靠 BIOS程序 设置RAID阵列,

    软件模拟实现

      操作系统通过系统调用的方式,模拟RAID实现;

RAID操作级别有以下几种:

  RAID0:条带卷–strip

      至少两块磁盘,没有冗余容错的能力

      没有存储空间的浪费,要求每个磁盘必须提供大小相同的存储空间;

  RAID1:镜像卷–mirror

      一般两个磁盘,先将数据存入主盘,然后再将数据存入从盘。因此写入效率低,略微提升读效率 磁盘空间的整体利用率为50%,有冗余容错能力

  RAID4:

    多块磁盘进行异或运算,得到校验值,并且存到专门的一块磁盘中

    即使一块磁盘损坏,也不会丢失数据

    但是校验盘的IO压力巨大,很容易形成性能瓶颈

  RAID5:

    RAID4相似的方式,但是用的是多块磁盘进行循环冗余校验,校验值随机分配到不同磁盘的条带中

    读写IO性能均明显提升,又不会出现性能瓶颈

    磁盘利用率=(n-1)/n*100%  因此磁盘利用率不是100%

  RAID6:

    多块磁盘进行两轮循环冗余校验,校验值随机分配到不同磁盘的条带中

    读写IO性能均明显提升,又不会出现性能瓶颈

    最多两块磁盘出现故障损坏,依然保证数据可用

   代价就是增加了计算校验值的时间;

此外还有RAID混合级别

  RAID01:

    先做RAID0,再做RAID1

  RAID10:

    先做RAID1,再做RAID0

  RAID50

  RAID7:可以理解为一个存储计算机,自带操作系统以及相应的管理工具,可以独立运行

在CentOS上实现软RAID(一般很少用到,都是在实现硬RAID)

  内核提供一个md的模块(multi disks,multi devices)

  用户空间需要mdadm的工具;来设置和修改md内核模块的参数

mdadm:

  mdadm [mode] <raiddevice> [option…] <component device>

    mode:

      创建模式:-C :模式开关

        -n #:明确的告诉md模块,使用#块磁盘来创建RAID设备

        -l #:指示RAID 的级别

        -a {yes|no}:允许系统或不允许系统自动创建md设备文件

        -c CHUNK_SIZE:默认512K

        -x #:指定在阵列中空闲磁盘的数量

      装配模式:-A

      管理模式:-a 添加  -r删除  -f标记设备 失效

      杂项:

        -D –scan 显示RAID设备的详细信息

        mdadm -D –scan > /etc/mdadm.conf

        该配置文件用于RAID设备的再次装配

        -S 停止RAID的设备

例如将新加的磁盘建RAID0

~]# mdadm -C /dev/md0 -n 4 -l 0 -a yes /dev/sd{b,c,d,e}

然后创建文件系统并挂 载使用,df -hT 查看到 md0 

dd命令: dd if=/dev/zero of=./test bs=1024 count=1000000 测试设备写的速度(if=目标大文件 of=/dev/null是测试读速度)

可以RAID0 提升了硬盘的读写速度

mdadm -S停止使用md0

存储管理–RAID-编程知识网