一、Raid:Redundent Array of Inexpensive Disks廉价冗余磁盘阵列(早期,使用IDE廉价磁盘)。

    Raid:Redundent Array of Independent Disks独立冗余磁盘阵列(后来,使用SCSI等高性能磁盘)。

1、Raid Level:仅用于标识磁盘的组合方式,目的是提高读写性能和容错能力。

   raid0:至少需要两块磁盘,将“数据平均分散保存到磁盘阵列上(各保存50%的数据)”。

 可见能提高读写能力,但容错能力降低(其中一块盘坏掉,数据就废掉)。

 一般用于swap或者tmp。注意两块盘空间大小最好一样。

   raid1:镜像raid,至少需要两块磁盘,第一块磁盘上保存原数据,第二块磁盘保存镜像数据。

 可见写能力降低,但读能力提升(在读取数据时,在两块磁盘上读取)。

 只有硬件容错能力,即raid1只能保证一块磁盘坏掉,正常的业务不受影响。

          无数据容错能力(如果删除第一块磁盘上的数据,第二块磁盘上的数据也会被删除)。 

   raid5:至少需要三块盘,每块磁盘轮流保存校验码和数据。(第一块数据保存到一块磁盘,

 第二块数据保存到第二块磁盘,则第三块磁盘保存1、2块数据的校验码,以此类推)

 允许一块磁盘出错可见容错能力提升,读写能力提升。

   raid10:先raid1,再raid0

   raid50:先raid5,再raid0

   jbod:如一个数据150G(如果不考虑切割,切割太麻烦),我有两个120G的盘,

将两块120G的盘连接起来用这就是jbod.

2、Raid实现方式:

硬Raid:由硬件厂商,通过“阵列卡”来实现。

软Raid:由操作系统内核来实现,对企业一般不推荐。

 因要占用CPU时间,可见在提高性能上是有限的。

 (如果有企业在使用软Raid,可见这个企业不怎么样(钱),哈哈趁早闪人吧...)

3、软Raid的实现工具mdadm:mdadm可以组合任何块设备。

mdadm:模块化工具,

   -A(Assemble):装配模式

   -C(Create):创建模式

   -F(Fllow or Monitor):监控模式

   管理模式:-f 损坏 ,-r 移除,-a 插上

   -D(detail):显示raid的详细信息。

   -S(stop):停用阵列

-C:创建模式:

   -n #:用于创建RAID设备的设备个数。

    如:用2个6G的分区,创建一个大小为12G的RAID0,则-n 2

    如:用2个12G的分区,创建一个大小为12G的RAID1,则-n 2

   -x #:热备磁盘的个数。

   -l :raid级别(raid0=0,raid5=5)

   -a yes:自动为创建的raid设备创建设备文件。

   -c Chunk_Size:指定分块大小,默认为512,单位为KB

A、如创建raid /dev/md0

命令为#mdadm -C /dev/md0 -a yes -l 0 -n 2 /dev/sdb{1,2}

指定热备的raid md1:mdadm -C /dev/md1 -a yes -l 0 -n 2 -x /dev/sdb{1,2,3}

B、如查看/dev/md0 命令为#mdadm -D /dev/md0

C、创建完raid如果进行格式化呢? #mke2fs -t ext4 /dev/md0 

如何将md0挂载后使用呢? 

#mkdir /mnt/md0 

#mount /dev/md0 /mnt/md0

D、如何停用阵列呢?

#umount /dev/md0

#mdadm -S  /dev/md0

E、如何将停用的阵列再次装配呢?

#mdadm -A  /dev/md0  /dev/sdb{1,2}

4、watch -n #:每隔#执行一次指定的命令。#单位秒。