RAID-01即为RAID-0+1,是先分区存数据然后再镜像到两组磁盘。它将磁盘分为两组,在一组内先将数据分段存储在该组各磁盘上,然后再将该组镜像到另一组中保存。其组织方式如上图左所示。该组织方式中,其读写能力有所提升,有一定的冗余能力。空间利用率依然为1/2,且至少需要4块磁盘才能运行。
RAID-10即为RAID-1+0,与RAID-01相反,其是先将磁盘两两分组,各组中一个做主磁盘一个做镜像磁盘,然后在将数据分段存储在各主磁盘中。其组织方式如上图右所示。该组织方式中,其读写能力有所提升,有一定的冗余能力。空间利用率依然为1/2,且至少需要4块磁盘才能运行。
RAID-50也被称为镜象阵列条带,与RAID-10相似,先将所有磁盘两两分组,各组内一个做主磁盘,一个做镜像磁盘,然后将数据分段并加入校验信息后存储在各主磁盘上,然后再将主磁盘的数据镜像保存到镜像磁盘中。其组织方式如上图所示。
以上简单介绍了几种不同级别的RAID,在实际应用中,RAID-2、RAID-3、RAID-4较少实际应用,因为RAID-5已经涵盖了所需的功能,因此RAID-2、RAID-3、RAID-4大多只在研究领域有实现,而实际应用上则以RAID-5为主。
下面简单介绍一个命令用于创建RAID。
mdadm:用户空间管理工具,用于将任何块设备做成RAID。该命令是一种模式化的命令,包括以下几个模式:创建模式、管理模式、监控模式、增长模式、装配模式。
创建模式: -C,即# mdadm -C即为创建模式,在该模式下,可以使用如下命令:
-l #:指定RAID级别
-n #:指定设备个数
-a {yes|no}:自动为其创建设备文件
-c:指定chunk大小,默认为64Kb
-x #:指定空闲盘个数为#
管理模式:此模式下可模拟一个磁盘损坏,加如下命令即为在管理模式:
--add:添加
--remove:移除
--fail:损坏
以上命令可简写为-a ,-r ,-f
监控模式: -F
增长模式: -G
装配模式: -A
我创建好了RAID阵列,也已经挂载并使用完毕,但如何停止或再次启用RAID呢?下面在介绍两个命令用于停止和启用RAID。
停止RAID:
# mdadm -S
启用RAID:
# mdadm -A
以上各命令不在一一举例说明,仅仅贴出一些代码,供各位自己动手试着创建RAID。各命令的执行结果不在给截图。见谅见谅!!!写此篇的目的仅仅是让各位对RAID有进一步的了解,并能简单创建一个RAID。下边直接给出几个代码,供各位自己动手尝试。
- # mdadm -C /dev/md0 -a yes -l 0 -n 2 /dev/sda{5,6} :创建RAID0,并指定设备个数为2
- # mdadm -C /dev/md1 -a yes -n 2 -l 1 /dev/sda7 /dev/sda8 :创建RAID1,并指定设备个数为2
- # mdadm /dev/md1 --fail /dev/sda# :表示模拟RAID1阵列中该#盘损坏
- # mdadm /dev/md1 -r /dev/sda# :表示移除RAID1阵列中有故障的磁盘
- # mdadm /dev/md1 -a /dev/sda# :在RAID1阵列中表示添加磁盘
- # mdadm -D /dev/md# :可查看RAID阵列的详细信息
- # mdadm -detail /dev/md# :可查看RAID阵列的详细信息
- # mdadm -S /dev/md1 :停止RAID1
- # mdadm -A /dev/md1 /dev/sda7 /dev/sda9 :启用RAID1
假如我刚创建了一个磁盘分区,如何让系统知道你刚创建了一个分区呢,下面再给出两个命令,供各位使用。
- # cat /proc/partitions :查看当前系统的磁盘分区信息
- # partprobe [/dev/sda] :让系统重读磁盘分区
续前部分
上边简单介绍了下RAID,相信各位对RAID已经有了初步的了解,而且也贴出了一些代码,不知各位是否在自己的电脑上尝试过创建,下面,就教各位如何创建RAID。以创建RAID0为例。
首先,先用如下命令查看下自己电脑有几个磁盘分区,命令如下:
- # fdisk -l : 查看磁盘分区信息
命令执行结果如下图所示:
从上图可以看到系统里已有5个磁盘分区,下面我们去新建几个磁盘分区,用来创建RAID。新建磁盘的命令及截图如下所示:
从上图可以看到,我们新建了两个磁盘,一个2G的,一个1G的,然后修改磁盘类型,我们依然用# fdisk /dev/sda,其执行结果如下图:
接下来我们先用# partprober /dev/sda命令让内核重读磁盘分区,否则我们新建的磁盘分区内核是不知道的,然后再用# fdisk -l查看一下新建的磁盘,命令及执行结果如下如所示:
从上图可以看到,磁盘分区/dev/sda6和/dev/sda7都以创建好,且类型为raid。前面我们已经介绍过了,可以用mdadm来创建RAID,下边我们用该命令把磁盘分区/dev/sda6和/dev/sda7创建为一个3G的RAID0。创建命令代码及执行结果如下图:
已经创建成功,我们用命令去查看下raid0的详细信息。命令及执行结果如下所示:
- # mdadm -D /dev/md0
从上图可以看到,raid0已创建成功,大小为3G,设备个数为2,总设备个数也为2,chunk值我们没有指定,默认的为64K,工作磁盘个数为2,损坏磁盘个数为0,两个设备都可以使用。下面我们去把raid0格式化,否则是不能使用的。
好了,我们已经把raid0格式化完成,格式化为带日志的ext3的文件系统。这样就可以挂载使用了,下面我们把raid0挂载到/backup目录下,看一下效果如何。
到目前为止,raid0已创建完毕,并可以挂载使用。前面已经介绍过停用和启用raid的命令,这里不再贴出其执行结果,请各位自己动手尝试一下吧。再次把命令贴出来:
- # mdadm -S /dev/md0 :停止RAID0
- # mdadm -A /dev/md0 /dev/sda6 /dev/sda7 :启用RAID0