在Linux下用软件实现RAID功能_unix linux

数据安全性是人们在使用计算机中最重要的问题之一。通常情况下,人们会在服务器环境中采用硬盘镜像技术,以达到数据的双重备份。同样,在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-disk0

device /dev/hdd1

raid-disk1

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-superblock0

chunk-size8

device /dev/hdb1

raid-disk0

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系统的性能还不错。

时间: 2024-10-29 04:32:37

在Linux下用软件实现RAID功能_unix linux的相关文章

在Linux下用软件实现RAID功能的实现方法_服务器其它

mdadm使用的也是md驱动,由于其拥有多种模式,而且单一工具,不依赖所有设置文件,是替代raidtools的好工具.目前几乎所有发行版本使用的都是该工具.一.安装和编译源码下载:http://www.cse.unsw.edu.au/~neilb/source/mdadm/编译:tar xzvf ./mdadm-1.6.0.tgzcd mdadm-1.6.0make installrpm安装:rpm -ivh mdadm-1.6.0-3.rpm※源码最新版本是2.5,由于我使用的1.6.0的rp

在Linux操作系统下用软件实现RAID功能

数据安全性是人们在使用计算机中最重要的问题之一.通常情况下,人们会在服务器环境中采用硬盘镜像技术,以达到数据的双重备份.同样,在Linux环境下,我们也可以采用这种技术. 在Linux环境下,采用Raidtools工具,不仅可以将两个硬盘进行镜像,还可以制作软RAID0.RAID1.RAID5.说是软RAID,是因为通常情况下,RAID盘是通过专用的RAID卡进行的,而在Linux环境下,可以利用Raidtools软件实现RAID功能,所以称为软RAID.本文介绍根据不同的Linux版本,建立并

Linux下的Chrome快捷键详细整理_unix linux

Linux下的Chrome快捷键详细整理 标签页和窗口快捷键 Ctrl+N 打开新窗口. Ctrl+T 打开新标签页. Ctrl+Shift+N 在隐身模式下打开新窗口. 按 Ctrl+O,然后选择文件. 在 Chrome 浏览器中打开计算机中的文件. 按住 Ctrl 键的同时点击链接.或用鼠标中键(或鼠标滚轮)点击链接. 从后台在新标签页中打开链接. 按住 Ctrl+Shift 的同时点击链接.或按住 Shift 键的同时用鼠标中键(或鼠标滚轮)点击链接. 在新标签页中打开链接并切换到刚打开的

Linux下虚拟域名的实现(2)_unix linux

目前Linux操作系统十分火爆,所以很多朋友希望了解一下Linux下虚拟域名的实现过程.下面就基于目前比较流行的RedHat来讨论一下. 二.Apache服务器的配置 Apache服务器是目前互联网上使用最多的Web服务器,它可以维护非常繁忙的站点.RedHat 6.0捆绑了Apache Web Server 1.3.它的配置文件位于"/etc/httpd/conf"目录下,有httpd.conf.srm.conf.access.conf,下面讨论一下与虚拟域名有关的配置: 1.静态配

Linux下虚拟域名的实现(3)_unix linux

目前Linux操作系统十分火爆,所以很多朋友希望了解一下Linux下虚拟域名的实现过程.下面就基于目前比较流行的RedHat来讨论一下. 三.CGI程序的编制 要实现虚拟域名的在线申请,就必须编写相应CGI程序动态修改独立的配置文件(即上面的vhostdbm文件)和进行用户的管理(包括用户申请,登录,密码修改等等).在此只介绍对独立的配置文件的操作,其他属于如何用Perl语言来编写CGI程序,请参考有关资料. vhostdbm文件使用dbm格式来记录数据,与用普通文本文件相比可加快寻找速度,而且

Linux下虚拟域名的实现(1)_unix linux

目前Linux操作系统十分火爆,所以很多朋友希望了解一下Linux下虚拟域名的实现过程.下面就基于目前比较流行的RedHat来讨论一下. 一.DNS服务器的设置 我们知道互联网网是基于TCP/IP协议的,要进行通信必须获得对方的IP地址,这是通过DNS服务器来实现的.因此要想实现虚拟域名首先应当令DNS服务器接受该虚拟域名,即把它映射到指定的IP地址上.因为我们靠Web服务器来区分域名,所以这个IP地址自然应当是Web服务器所管理的. RedHat6.0操作系统中捆绑有BIND DNS服务器.它

浅析Linux下那些超有趣的命令_unix linux

yes:输出一串y,有时可以用来对付很多y/n选择的应用 .输出很多... banner:打印字符标题,就是用字符拼出大字来 ,最好把窗口最大化,否则可能显示不全. ddate:把日历转成什么其他历,Today is Sweetmorn, the 63rd day of Discord in the YOLD 3173 fortune:输出一句话,内容有很多种,据说有唐诗宋词(有唐诗宋词的是fortune-zh,安装完之后,fortune会随机的输出唐诗宋词或英文名言.) cal 9 1752:

linux下删除带-号的文件_unix linux

不知为何主目录下突然多了个-sV文件,目测是因为nmap的-sV参数产生的. 写下来权当做个笔记~ 现在来模拟下当时的情况 touch -- -sV touch ./-sV # 两种都行 现在工作目录底下会产生一个文件名为-sV的文件 如果执行 rm -sV 会产生一个错误 rm: invalid option -- 's' Try 'rm --help' for more information. 原因是无效的参数s 本来打算Google下看看的,结果rm --help就看到答案了 To re

Linux下图像处理软件汇总

最近几年Linux的开源http://www.aliyun.com/zixun/aggregation/18374.html">图像处理软件的进步迅速,尽管系统本身的兴趣不减,构建其上的各种开源软件也差强人意.aloa就认为比Windows下要强多了.作为一个普通的摄影爱好者,aloa认为现在linux下的图像处理软件已经远远能够超出一般爱好者的要求. GIMP,Linux下的Photoshop,因为aloa不用photoshop,所以没有什么体会.但gimp功能只多不少,扩展功能尤其强大