Linux 下采用软件实现RAID

数据的安全性是人们在使用计算机中最重要的问题之一 。通常情况下,人们会在服务器环境中采用硬盘镜像技术,以达到数据的双重备份 。同样在Linux环境下,我们可以采用这种技术 。在Linux环境下,我们可以采用Raidtool工具,不仅可以将两个硬盘进行镜像 。还可以制作软RAID0、RAID4、RAID5 。说是软RAID,是因为通常情况下,RAID盘是通过专用的RAID卡进行的 。而在Linux 环境下,我们可以利用软件raidtool达到RAID功能 。;


所以称为软RAID 。建立并使用RAID盘有以下几种方法:;


第一种方法:;


自行下载并编译raidtools软件包,较早版本的raidtool软件包名为md,现在已正式更名为raidtool 。下载地址:;


中国自由软件库,通过搜索引擎查找下载 。;


如果你已经从网上下载了raidtools-0.41.tar.gz软件包 。解开后,自行编译,步骤如下:;


$gunzip;-d;raidtools-0.41.tar.gz;


$tar;-xvf;raidtools-0.4.1.tar;


在使用raidtools之前,首先要知道目前正在使用的核心是否支持md 。如果你正在使用的核心是2.0.x,并且不是;


自己编译过的话,大多数情况下是支持软RAID的 。如果不能确定,则应自己编译核心 。在配置时,应选择对md的支持 。;


确定了正在使用的核心支持RAID 。则编译raidtools软件包如下:;


$cd;raidtools-0.41;


$./configure;


$;make;


$make;install ##make;install在/dev下产生md0-md3共4个设备 。;


OK, 安装完成 。;


在使用raidtool前,首先决定自己要使用的RAID的种类 。目前使用raidtool可以作RAID0,RAID1,RAID5 。;


由于只有两块硬盘而无法使用RAID5,除了RAID5外,还可以选择作linear模式或RAID0 。笔者选择了作RAID0 。;


以下为制作过程:;


首先,关机,将两块小硬盘分别加到第一个IDE控制器的slave接口上 。将第二块硬盘接到第二个IDE控制器上的slave;


接口上(笔者这台机器上的CDROM接在第二个IDE控制器的master上) 。;


加电启动系统,以root登录,运行以下命令对硬盘进行分区:;


#fdisk;/dev/hdb;


将全部硬盘划分给一个主分区,建立一个/dev/hdb1分区 。;


#fdisk;/dev/hdd;


同样将全部硬盘划分给一个主分区,建立一个/dev/hdd1分区 。;


之后:;


#/sbin/mdcreate;raid0;-c4k;/dev/md0;/dev/hdb1;/dev/hdd1;


当然,为了提高访问速度,你可以将硬盘进行比较细致的划分,尽可能将分区合理分布在不同的硬盘上 。然后再用;


mdcreate将它们组合成一个mdx(x:1,2,3);


为了使用新建立的RAID设备,首先应启动它:;


#/sbin/mdadd;-ar;


之后,查看/proc/mdstats文件的内容,以检查RAID0的状态 。;


#cat;/proc/mdstats;


系统显示:;


personalities;:;[1;linear];[2;raid0];


read_ahead;not;8092;sectors;


md0;:;active;raid0;hdb1;hdd1;xxxx;blocks;8k;chunks;


md1;:inactive;


md2;:inactive;


md3;:inactive;


这表示,新建的RAID0已经可以正常运行了 。为了使用新RAID盘,还应在新盘上建立新的文件系统,建立过程如下:;


#mke2fs;/dev/md0 ##注:在新的存储设备上建立ext2文件系统;


建立了新的文件系统,再将它mount到根下的某个目录上,就可以正式使用了 。安装方法如下:;


#mount; /dev/md0; /opt;##注:/opt为笔者在根分区建的一个mount点;


当然,如果有必要的话,你还可以用raidtools建立raid5 。以提高数据的可靠性 。;


最后,将RAID0的加载及文件系统的加挂全加入到init.sysinit文件中,这样,只要系统一启动,首先就执行RAID,;

推荐阅读