搜索文章:

首页  |  Java技术  |  Asp.net  |  Asp编程  |  VC/C++  |  Delphi  |  VB编程

在Linux下用软件实现RAID功能

 数据安全性是人们在使用计算机中最重要的问题之一。通常情况下,人们会在服务器环境中采用硬盘镜像技术,以达到数据的双重备份。同样,在linux环境下,我们也可以采用这种技术。

  在linux环境下,采用raidtools工具,不仅可以将两个硬盘进行镜像,还可以制作软raid0、raid1、raid5。说是软raid,是因为通常情况下,raid盘是通过专用的raid卡进行的,而在linux环境下,可以利用raidtools软件实现raid功能,所以称为软raid。本文介绍根据不同的linux版本,建立并使用raid盘的几种方法。

  一、较早的linux版本

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

  如果你已经从网上下载了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按钮,完成安装。

  在使用raidtools前,还需确定要使用的raid的种类。目前使用raidtools可以作raid0、raid1、raid5。由于只有两块硬盘而无法使用raid5,除了raid5外,还可以选择作linear模式或raid0。笔者选择了作raid0。以下为制作过程。

  1.建立raid盘

  (1)关机,将两块小硬盘分别加到第一个ide控制器的slave接口上及第二个ide控制器的slave接口上(笔者这台机器上的cd-rom接在第二个ide控制器的master上)。

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

  #fdisk /dev/hdb

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

  #fdisk /dev/hdd

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

  (3)之后:

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

  当然,为了提高访问速度,你可以将硬盘进行比较细致的划分,尽可能将分区合理分布在不同的硬盘上。然后,再用mdcreate将它们组合成一个mdx(x:1,2,3)。

  2.使用raid0盘

  (1)启动新建立的raid盘:

  #/sbin/mdadd -ar

  (2)查看/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,以提高数据的可靠性。

  3.自动执行raid0的设置

  将raid0的加载及文件系统的加挂全加入到init.sysinit文件中,这样,只要系统一启动,首先就执行raid,用户就不必再手工安装了。

  用户应将以下两个命令加入到init.sysinit文件中。

  /sbin/mdrun -ar

  mount /dev/md0 /opt

  当然,如果你不觉得麻烦,也可以手工运行以上命令,以手动方式启动软raid盘。

  二、较近的linux版本

  如果你安装的linux版本较新,其中已经带有raidtools工具,那么,就不必再下载软件并自己编译了。使用时可以这样处理:

  1.建立一个文件/etc/raidtab(以制作raid0为例),文件内容如下:

     raiddev /dev/md0

     raid-level   0

     nr-raid-disks 2

     persistent-superblock 1

     chunk-size   4

     device     /dev/hdb1

     raid-disk    0

     device     /dev/hdd1

     raid-disk    1

  2.运行以下命令:

  #mkraid /dev/md0

  这样就可以生成一个新的设备:

  /dev/md0。

  启用软raid方法:

  #raidstart /dev/md0

  其余操作同上。

  如果你正在使用的linux系统版本很新,可能以上两种情况都不适合你,那么,你可以采用第三种方法使用软raid。

  三、最新的linux版本

  笔者的一台pc上安装了red hat linux 6.1,自行编译raidtools0.42、0.50beta2时,先是找不到所要的头文件,将所需头文件复制后,编译仍然通不过。原来,由于新的版本采用了一系列新的函数,情况稍有一点不同。不过,新的版本中,提供了raidtools,在/sbin目录中,有raidtools的一系列工具,其中有mkraid、raid0run、raidstop、raidstart等一组工具。如果你想自己编译,可以从中国自由软件库中查找到最新版为0.9的raidtools,自行编译0.9版的raidtools,编译正常通过。

  新版的raidtools稍有一点不同,笔者使用系统自带的raidtools,制作软raid方法如下:

  1.建立文件/etc/raidtab,文件内容如下:

    raiddev /dev/md0

    raid-level       0

    nr-raid-disks     2

    persistent-superblock  0

    chunk-size      8

    device        /dev/hdb1

    raid-disk       0

    device       /dev/hdd1

    raid-disk       1

  2.生成软raid设备,运行以下命令:

  # mkraid -c /etc/raidtab /dev/md0

  之后,运行以下命令,以查看目前raid的运行状态:

  [root@rh61 /proc]# cat mdstat

  如果系统显示如下:

  personalities : [raid0]

  read—ahead 1024 sectors

  md0 : active raid0 hdd1[1] hdb1[0] 2202416 blocks 8k chunks

  unused devices:

  表示你的raid0已正常运行了。

  3.建立新的文件系统

  现在,为了使用新生成的设备,我们应在新的raid盘上建立ext2文件系统,建立新的文件系统的命令如下:

  [root@rh61 /sbin]# mkfs.ext2 /dev/md0

  经过大约两三分钟,新的文件系统正确生成。现在就可以开始使用它了。使用方法如下:

  [root@rh61 /sbin]# mount -t ext2 /dev/md0 /opt

  将/dev/md0设备加挂(mount)到/opt安装点上。

  此后,笔者在此软raid盘上安装了sybase 11.0.3.3。经过测试,发现整个raid0系统的性能还不错。

()

相关文章:
© 2006   www.java-asp.net