RAID:廉价磁盘冗余阵列(Redundant Array of Inexpensive Disks)它是由多个独立的便宜的物理小硬盘按照不同的方式组合起来,形成一个虚拟的硬盘,使性能达到或超过一个容量巨大、价格昂贵的硬盘。它读取数据的方式有两种:并行存取方式、独立存取方式;并行存取方式适用与大型的、以长时间顺序访问数据为特征的应用,而独立存取方式适用于数据存取频繁,每笔存取数据量较小的应用。所以它有易于灵活的进行容量扩展、“虚拟化”使可管理性极大的增强、“磁盘分块”技术带来性能的提高、可以通过冗余技术和热备、热换提升了可靠性。
       但由于硬件上实现RAID价格昂贵,而在linux基于软件上实现RAID,而且它配置灵活、管理方便。同时使用软件,还可以实现将几个物理磁盘合并成一个更大的虚拟设备,从而达到性能改进和数据冗余的目的。当然现实中还是使用硬件RAID。在本节将详细讲述如何在linux创建和维护软RAID。
        RAID0也称为条带模式( striped),即把连续的数据分散到多个磁盘上存取,当系统有数据请求就可以被多个磁盘并行,每个磁盘执行属于它自己的那部分数据请求。这种数据上的并行操作可以充分利用总线的带宽,显著提高磁盘整体存取性能。因为读取和写入是在设备上并行完成的读取和写入性能将会增加,这通常是运行RAID0的主要原因。但它没有数据冗余,如果驱动器出现故障,那么将无法恢复任何数据。
        RAID1又称为镜像( Mirroring),一个具有全冗余的模式,RAID1可以用于两个或2xN个磁盘,并使用0块或更多的备用磁盘,每次写数据时会同时写入镜像盘。这种阵列可靠性很高,但其有效容量减小到总容量的一半,同时这些磁盘的大小应该相等,否则总容量只具有最小磁盘的大小。
        RAID5在希望结合大量物理磁盘并且仍然保留一些冗余时, RAID5可以用在三块或更多的备用磁盘。就像RAID4一样,得到的RAID5设备的大小是(N-1)*N。RAID5和4最大的区别就是校验信息的不同。RAID5可以经受一块磁盘故障,但不能经受两块或多块的磁盘故障。
        Linux中通过mdadm命令可以讲任何块设备做成RAID。在该模式化的命令中有:创建模式、管理模式、监控     模式、增长模式、装配模式。下面我通过使用创建RAID1来具体讲解一下它们的各个命令。
1、 创建分区
        首先使用“fdisk”命令在硬盘上创建3个分区(例sda5、sda6、sda7),保存退出后使用partprobe命令来使内核重新读取分区。
2、创建RAID1
        创建完 /dev/sda5、/dev/sda6、/dev/sda7分区后,其中/dev/sda7作为备用设备,其余为活动设备。操作命令如下:
# mdadm -C /dev/md1 –a yes –n 2 –l 1 /dev/sda{5,6}
-C 创建模式 -a(yes|no) 自动为其创建文件 -l:级别 -n:设备个数
   成功创建完成后,使用# cat /proc/mdstat 来查看信息
然后使用mke2fs命令来格式化创建好的分区
# mke2fs –j /dev/md1
这就创建好了,可以使用#mdadm –D|--detail /dev/md1 来查看具体信息。
也可以使用mount命令挂载来验证啦。
3、     创建RAID的配置文件
RAID的配置文件名为“mdadm.conf”,默认是不存在的,所以需要手工创建,该配置文件存在的主要作用是系统启动的时候能够自动加载软RAID,同时也方便日后管理。“mdadm.conf”文件内容包括:由DEVICE选项指定用于软RAID的所有设备,和ARRAY选项所指定阵列的设备名、RAID级别、阵列中活动设备的数目以及设备的UUID号。生成RAID配置文件操做如下:
# mdadm --detail --scan > /etc/mdadm.conf
4、 维护RAID
       软RAID虽然很大程度上能保证数据的可靠性,但是在日常的工作中,有时可需要对RAID进行调整以及不排 除RAID设备物理介质损坏的可能等相关问题,当遇到这 些情况时,那么同样可以通过“mdadm”命令来完成这些操作。下面也将通过一个实例来介绍更换RAID故障磁盘的完整过程。
          现实中不可能通过故意破坏磁盘,但是软件可以通过模拟损坏磁盘
                # mdadm /dev/md1 –f /dev/sda#
可以使用上面的 mdadm –D  /dev/sda#查看
然后移除损坏的磁盘用 - - remove命令
# mdadm /dev/md1 –remove /dev/sda6 这里是使sda6损坏
装入新盘 使用-a 命令
#    mdadm /dev/md1 –a /dev/sda7 这里是使sda7装入
         重建完数据后,再次查看阵列状态时,就会发现当前的RAID设备有恢复了正常。
实际上我们可以直接使用刚开始时就打入# mdadm /dev/md1 –a /dev/sda7命令直接
装入当做备用盘,一旦有一个磁盘损坏sda7直接就可以替补上。