RAID 1和RAID 0截然不同,其技术重点全部放在如何能够在不影响性能的情况下最大限度的保证系统的可靠性和可修复性上。RAID 1是所有RAID等级中实现成本最高的一种,尽管如此,人们还是选择RAID 1来保存那些关键性的重要数据。
RAID 1又被称为磁盘镜像,每一个磁盘都具有一个对应的镜像盘。对任何一个磁盘的数据写入都会被复制镜像盘中;系统可以从一组镜像盘中的任何一个磁盘读取数据。显然,磁盘镜像肯定会提高系统成本。因为我们所能使用的空间只是所有磁盘容量总和的一半。
RAID 1技术下,任何一块硬盘的故障都不会影响到系统的正常运行,而且只要能够保证任何一对镜像盘中至少有一块磁盘可以使用,RAID 1甚至可以在一半数量的硬盘出现问题时不间断的工作。当一块硬盘失效时,系统会忽略该硬盘,转而使用剩余的镜像盘读写数据。
创建RAID 1阵列
[root@mail ~]# mdadm -C /dev/md1 -a yes -l 1 -n 2 /dev/sdd1 /dev/sde1
mdadm: /dev/sdd1 appears to contain an ext2fs file system
size=1044192K mtime=Thu Jan 1 08:00:00 1970
mdadm: /dev/sde1 appears to contain an ext2fs file system
size=2096448K mtime=Thu Jan 1 08:00:00 1970
mdadm: largest drive (/dev/sde1) exceed size (1044096K) by more than 1%
Continue creating array? yes
mdadm: array /dev/md1 started.
[root@mail ~]# mkfs.ext3 /dev/md1
[root@mail ~]# mkdir /md1
[root@mail ~]# mount /dev/md1 /md1/
[root@mail ~]# cd /md1/
[root@mail md1]# ls
lost+found
查看RAID阵列情况
创建RAID过程需要很长时间,因为磁盘要进行同步化操作,查看/proc/mdstat文件,该文件显示RAID的当前状态和同步完成所需要的时间。
[root@mail ~]# cat /proc/mdstat
Personalities : [raid0] [raid1]
md1 : active raid1 sde1[1] sdd1[0]
1044096 blocks [2/2] [UU]
unused devices: <none>
出现上面的提示后就表示创建的RAID 1已经可以使用了。
编辑阵列的配置文件
mdadm的配置文件主要提供人们日常管理,编辑这个文件可以让RAID更好的为我们工作,当然这个步骤不是必须的。不经过编辑配置文件也可以让RAID工作。首先扫描系统中的全部阵列,扫描结果将显示阵列的名称,模式和磁盘名称,并且列出阵列的UUID号,UUID也同时存在于阵列的每个磁盘中,缺少该号码的磁盘是不能够参与阵列的组成的。接下来编辑阵列的配置文件/etc/mdadm.conf文件,将扫描的显示结果按照文件规定的格式修改后添加到文件的末尾。
mdadm的缺省配置文件为/etc/mdadm.conf。对于阵列而言不是必须的,主要是为了方便阵列的日常管理。
使用配置文件后,我们每次启动RAID时,就不需要再次输入建立RAID时的一大堆的参数。
mdadm.conf文件中要包含两行:
第一行是以DEVICE开头的行,它指明在阵列中的设备列表。
第二行是以ARRAY开头的行,它详细地说明了阵列的名称、模式、阵列中活动设备的数目以及设备的UUID号。
UUID获取
[root@mail ~]# tune2fs /dev/md1 -l
Filesystem UUID: de83184b-b156-4943-81f8-929cf67a946a
一般会有如下格式:
#cat /etc/mdadm.conf
===========================================================
DEVICE /dev/sdb /dev/sdc /dev/sdd /dev/sde
ARRAY /dev/md0 level=raid5 num-devices=3 spares=1 UUID=de83184b-b156-4943-81f8-929cf67a946a
============================================================
生成方法:
#echo 'DEVICE /dev/sd[bcde]' > /etc/mdadm.conf
#mdadm -Ds >> /etc/mdadm.conf
或
#echo 'DEVICE /dev/sdb /dev/sdc /dev/sdd /dev/sde' > /etc/mdadm.conf
#mdadm -Ds >> /etc/mdadm.conf
添加以下内容到mdadm.conf文件中
device /dev/sdd1 /dev/sde1
array /dev/md1 level=RAID 1 num-devices=2 uuid=2ed2ba37:d952280c:a5a9c282:a51b48da
spare-group=group1
在配置文件中定义了阵列的名称和模式,还有阵列中活动磁盘的数目与名称,另外也定义了一个备用的磁盘组group1。
启动停止RAID 1阵列
启动和停止RAID 1阵列的命令非常简单。启动直接执行“mdadm -as /dev/md0”即可。执行mdadm -s /dev/md0将停止RAID 1阵列。另外在rc.sysinit启动脚本文件中加入命令mdadm -as /dev/md0后将设置为阵列随系统启动而启动。
总结:配置RAID 1的步骤相对RAID5来说不是很烦琐,不过在使用 mdadm时应该注意就是不要在一块硬盘上划分多个分区,再将多个分区组成阵列,这种方式不但不能提高硬盘的访问速度,反而会降低整体系统的性能。正确的方法是将一块硬盘分成一个或多个分区,然后将多块不同硬盘的分区组成阵列。另外系统目录如/usr最好不要放在阵列中,因为一旦阵列出现问题系统将无法正常运行。
raid的热备盘设置
本文转自陈仲阳0 51CTO博客,原文链接:http://blog.51cto.com/wolfword/1221226