RAID“Redundant Array of Independent Disk”的缩写,中文意思是独立冗余磁盘阵列。冗余磁盘阵列技术诞生于1987年,由美国加州大学伯克利分校提出。简单地解释,就是将N台硬盘通过RAID Controller(分HardwareSoftware)结合成虚拟单台大容量的硬盘使用。RAID的采用为存储系统(或者服务器的内置存储)带来巨大利益,其中提高传输速率和提供容错功能是最大的优点。<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

    服务器上大多数用的是 SCSI 的,可靠程度高,但是昂贵。 IDE 便宜,存取效率和可靠度没有 SCSI 的高。

IDE 连接起来,使之具有 SCSI 的效能。不同的连接方式就是不同的级别,连接方式叫做 RAID Linux 中常用的 RAID 级别有 RAID0 RAID1 RAID4 RAID5 RAID6 RAID10

要实现 RAID0 必须要有两个以上硬盘驱动器, RAID0 实现了条带卷,数据并不是保存在一个硬盘上,而是分成数据块保存在不同驱动器上。因为将数据分布在不同驱动器上,所以数据吞吐率大大提高,驱动器的负载也比较平衡。在所有的级别中, RAID 0 的速度是最快的。但是 RAID 0 没有冗余功能的,如果一个磁盘(物理)损坏,则所有的数据都无法使用。

RAID1 也叫镜像卷。对于使用这种 RAID1 结构的设备来说, RAID 控制器必须能够同时对两个盘进行读操作和对两个镜象盘进行写操作。

RAID4 中有一块特殊的硬盘做校验,但会产生瓶颈。

为了解决 RAID4 的问题,就产生了 RAID5.RAID5 中硬盘轮流做校验,但只允许一块硬盘出错。 RAID4 RAID5 都至少需要 3 块硬盘,且最多容错一块。

RAID 的实现要通过 mdadm 来管理。

mdadm 的模式选项:

-A   assemble 装配模式

-C   create 创建模式

-follow or monitor 监控模式

grow 增长模式

    manage 管理模式

  如何创建 RAID 呢?这里举例创建 RAID5 的过程:

mdadm  -C  /dev/md0  -a  yes  -l  5  -n  2  -x  1 element

上面的语句中, -C 是指定创建模式, /dev/md0 是创建的 RAID 名, -a  yes 是指示 udv 自动给 md 设备创建对应的设备文件, -l 指定创建的 RAID 级别, -n 指定做 RAID 组件的有效设备数 ( 不包括热备数 ) -x 指定热备数 (RAID0 没有容错功能,就不需要 -x 选项 ) elements 列出要把那些分区做成 RAID

    mke2fs  -j  /dev/md0

上面的语句是把新创建的 RAID 格式化。

    mdadm  --detail  /dev/md0

上面的语句是显示新创建的 RAID 设备的信息。

 

Software RAID Testing and Recovery

   mdadm /dev/md0  -f  /dev/sda1  模拟 md0 中的 sda1 块坏掉

   mdadm /dev/md0  -r  /dev/sda1  移除 md0 中的 sda1

   mdadm /dev/md0  -a  /dev/sda1  /dev/sda1 块加进 md0

mdadm  -S  /dev/md0  停止 md0

mdadm  -A  -s 重新装配