您好,欢迎来到思海网络,我们将竭诚为您提供优质的服务! 诚征网络推广 | 网站备案 | 帮助中心 | 软件下载 | 购买流程 | 付款方式 | 联系我们 [ 会员登录/注册 ]
促销推广
客服中心
业务咨询
有事点击这里…  531199185
有事点击这里…  61352289
点击这里给我发消息  81721488
有事点击这里…  376585780
有事点击这里…  872642803
有事点击这里…  459248018
有事点击这里…  61352288
有事点击这里…  380791050
技术支持
有事点击这里…  714236853
有事点击这里…  719304487
有事点击这里…  1208894568
有事点击这里…  61352289
在线客服
有事点击这里…  531199185
有事点击这里…  61352288
有事点击这里…  983054746
有事点击这里…  893984210
当前位置:首页 >> 技术文章 >> 文章浏览
技术文章

在Redhat Linux AS 4下实现软件RAID

添加时间:2011-2-22  添加: admin 

在Redhat Linux AS 4下实现软件RAID


一,系统配置信息:


● 操作系统为RedHat Linux AS 4;


● 内核版本为2.6.9-5.EL;


● 支持RAID0、RAID1、RAID4、RAID5、RAID6;


● 五块36GB SCSI接口的磁盘,其中RedHat AS 4安装在第一块磁盘,其它四块组成RAID 5用来存放Oracle数据库。


在RedHat AS 4下实现软件RAID是通过mdadm工具实现的,其版本为1.6.0,它是一个单一的程序,创建、管理RAID都非常方便,而且也很稳定。而在早期 Linux下使用的raidtools,由于维护起来很困难,而且其性能有限,在RedHat AS 4下已经不支持了。


1.创建分区


五块SCSI磁盘分别对应/dev/sda、/dev/sdb、/dev/sdc、/dev/sdd、/dev/sde。其中第一块磁盘/dev/sda分两个区,用于安装RedHat AS 4和做交换分区,其他四块磁盘每块只分一个主分区,分别为/dev/sdb1、/dev/sdc1、/dev/sdd1、/dev/sde1,并且将分区类型指定为“fd”,这将使Linux内核能将它们识别为RAID分区,且在每次引导时自动被检测并启动。创建分区使用fdisk命令。


# fdisk /dev/sdb


进入fdisk命令行后,使用命令n创建分区,命令t改变分区类型,命令w保存分区表并退出,命令m为帮助。


2.创建RAID 5


这里使用了/dev/sdb1、/dev/sdc1、/dev/sdd1、/dev/sde1四个设备创建RAID 5,其中/dev/sde1作为备份设备,其他为活动设备。备份设备主要起备用作用,一旦某一设备损坏可以立即用备份设备替换,当然也可以不使用备份设备。命令格式如下:


# mdadm -Cv /dev/md0 -l5 -n3 -x1 -c128 /dev/sd[b,c,d,e]1


命令中各参数分别表示如下作用:“-C”指创建一个新的阵列;“/dev/md0”表示阵列设备名称;“-l5”表示设置阵列模式,可以选择0、1、4、 5、6,它们分别对应于RAID0、RAID1、RAID4、RAID5、RAID6,这里设为RAID5模式;“-n3”指设置阵列中活动设备的数目,该数目加上备用设备的数目应等于阵列中的总设备数; “-x1”设置阵列中备份设备的数目,当前阵列中含有1个备份设备;“-c128”指设置块的尺寸为128KB,缺省为64KB;“/dev/sd[b, c,d,e]1”指当前阵列中包含的所有设备标识符,也可以分开来写,中间用空格分开,其中最后一个为备份设备。


3.查看阵列状态


当创建一个新阵列或者阵列重构时,设备需要进行同步操作,这一过程需要一定时间,可以通过查看/proc/mdstat文件,来显示阵列的当前状态以及同步进度、所需时间等。

 

# more /proc/mdstat

Personalities : [raid5]

md0 : active raid5 sdd1[3] sde1[4] sdc1[1] sdb1[0]

75469842 blocks level 5, 128k chunk, algorithm 2 [3/2] [UU_]

[>....................] recovery = 4.3% (1622601/37734912) finish=1.0min speed=15146K/sec

unused devices:


当新建或重构完成后,再次查看/proc/mdstat文件:

 

# more /proc/mdstat

Personalities : [raid5]

md0 : active raid5 sdd1[2] sde1[3] sdc1[1] sdb1[0]

75469842 blocks level 5, 128k chunk, algorithm 2 [3/3] [UUU]

unused devices:


通过以上内容,可以很清楚地看出当前阵列的状态,各部分所代表的意思如下:“[3/3]”中的第一位数表示阵列所包含的设备数,第二位数表示活动的设备数,如果有一个设备损坏,则第二位数将减1;“[UUU]”标记当前阵列可以正常使用的设备情况,现假设/dev/sdb1出现故障,则该标记将变成 [_UU],这时的阵列以降级模式运行,即该阵列仍然可用,但是不再具有任何冗余;“sdd1[2]”指阵列所包含的设备数为n,若方括号内的数值小于 n,则表示该设备为活动设备,若数值大于等于n,则该设备为备份设备,当一个设备出现故障的时候,相应设备的方括号后将被标以(F)。


4.生成配置文件


mdadm的缺省配置文件为/etc/mdadm.conf,它主要是为了方便阵列的日常管理而设置的,对于阵列而言不是必须的,但是为了减少日后管理中不必要的麻烦,还是应该坚


持把这一步做完。

在mdadm.conf文件中要包含两种类型的行:一种是以DEVICE开头的行,它指明在阵列中的设备列表;另一种是以ARRAY开头的行,它详细地说明了阵列的名称、模式、阵列中活动设备的数目以及设备的UUID号。格式如下:

 

DEVICE /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1

ARRAY /dev/md0 level=raid5 num-devices=3 UUID=8f128343:715a42df: baece2a8: a5b878e0


以上的这些信息可以通过扫描系统的阵列来获取,命令为:

 

# mdadm -Ds

ARRAY /dev/md0 level=raid5 num-devices=3 UUID=8f128343:715a42df: baece2a8: a5b878e0

devices=/dev/sdb1,/dev/sdc1,/dev/sdd1,/dev/sde1


使用vi命令,按照规定的格式编辑修改/etc/mdadm.conf文件


# vi /etc/mdadm.conf


5.创建文件系统并挂接(mount)使用


RAID5已经启动并处于运行状态,现在要做的就是在其上创建一个文件系统,这里使用mkfs命令,文件系统类型为ext3。命令如下:


# mkfs -t ext3 /dev/md0


当新的文件系统生成之后,就可以将/dev/md0挂接到指定的目录了。命令如下:


# mount /dev/md0 /mnt/raid


为了让系统在启动时自动将/dev/md0挂接到/mnt/raid,还需要修改/etc/fstab文件,添加如下内容:

二,故障模拟


上面的实例,让我们对Redhat Linux AS 4的软件RAID功能有了一定的认识,并且通过详细的步骤说明了如何创建RAID5。有了RAID做保障,电脑里的数据看起来似乎已经很安全了,然而现有的情况还是不能让我们高枕无忧,想一想,万一磁盘出现故障怎么办?下面我们模拟一个更换RAID5故障磁盘的完整过程,希望以此丰富大家处理RAID5故障的经验,提高管理和维护水平。


我们仍然沿用上面的RAID5配置,首先往阵列中拷贝一些数据,接下来开始模拟/dev/sdb1设备故障。不过,对于无备份设备的RAID5的模拟过程也要经过如下三步,只是阵列重构和数据恢复是发生在新设备添加到阵列中之后,而不是设备损坏时。


1.将/dev/sdb1标记为已损坏的设备


# mdadm /dev/md0 -f /dev/sdb1


查看当前阵列状态


# more /proc/mdstat


Personalities : [raid5]


md0 : active raid5 sdd1[2] sde1[3] sdc1[1] sdb1[4](F)


75469842 blocks level 5, 128k chunk, algorithm 2 [3/2] [_UU]


[=>...................] recovery = 8.9% (3358407/37734912) finish=1.6min speed=9382K/sec


unused devices:


因为有备份设备,所以当阵列中出现设备损坏时,阵列能够在短时间内实现重构和数据的恢复。从当前的状态可以看出,阵列正在重构,且运行在降级模式,sdb1[4]的后面已经标上了(F),活动设备数也降为2个。


经过几分钟后,再次查看当前阵列状态。

 

# more /proc/mdstat

Personalities : [raid5]

md0 : active raid5 sdd1[2] sde1[0] sdc1[1] sdb1[3](F)

75469842 blocks level 5, 128k chunk, algorithm 2 [3/3] [UUU]

unused devices:


此时阵列重构已经完成,数据恢复完毕,原有的备份设备sde1成为了活动设备。


2.移除损坏的设备


# mdadm /dev/md0 -r /dev/sdb1


查看当前阵列的状态:


# more /proc/mdstat


Personalities : [raid5]


md0 : active raid5 sdd1[2] sde1[0] sdc1[1]


75469842 blocks level 5, 128k chunk, algorithm 2 [3/3] [UUU]


unused devices:


损坏的sdb1已经从阵列中移掉。


3.将新设备添加到阵列中


因为是模拟操作,可以通过下面的命令再次将/dev/sdb1添加到阵列中。如果是实际操作则要注意两点:一是在添加之前要对新磁盘进行正确的分区;二是添加时要用所添加设备的设备名替换/dev/sdb1。


# mdadm /dev/md0 -a /dev/sdb1


查看当前阵列的状态:

 

# more /proc/mdstat

Personalities : [raid5]

md0 : active raid5 sdb1[3] sdd1[2] sde1[0] sdc1[1]

75469842 blocks level 5, 128k chunk, algorithm 2 [3/3] [UUU]

unused devices:


这时sdb1作为备份设备再次出现在阵列中


常用阵列维护命令


1.启动阵列


# mdadm -As /dev/md0


该命令指启动/dev/md0阵列,其中“-A”指装载一个已存在的阵列;“-s”指查找mdadm.conf文件中的配置信息,并以此为依据启动阵列。


#mdadm -As


该命令指启动mdadm.conf文件中的所有阵列。


#mdadm -A /dev/md0 /dev/sd[b,c,d,e]1


如果没有创建mdadm.conf文件则可以采用上面这种启动方式。


2.停止阵列


# mdadm -S /dev/md0


3.显示指定阵列的详细信息


# mdadm -D /dev/md0


三,RAID简介


RAID 是冗余磁盘阵列(Redundant Array of Inexpensive Disk)的简称。它是把多个磁盘组成一个阵列,当作单一磁盘使用。它将数据以分段(striping)的方式分散存储在不同的磁盘中,通过多个磁盘的同时读写,来减少数据的存取时间,并且可以利用不同的技术实现数据的冗余,即使有一个磁盘损坏,也可以从其他的磁盘中恢复所有的数据。简单地说,其好处就是:安全性高、速度快、数据容量大。


磁盘阵列根据其使用的技术不同而划分了等级,称为RAID level,目前公认的标准是RAID 0~RAID 5。其中的level并不代表技术的高低,RAID 5并不高于RAID 4 ,RAID 0并不低于RAID 2 ,至于选择哪一种RAID需视用户的需求而定。下面分别对常用的RAID 0、RAID 1、RAID 5进行简单的介绍。


1.RAID 0


特点:它是将多个磁盘并列起来,成为一个大硬盘。在存取数据时,将数据按磁盘的个数来进行分段,然后同时将这些数据写进这些盘中。在所有的级别中,RAID 0的速度是最快的。但没有数据冗余,阵列中任何一个磁盘坏掉,意味着所有数据丢失。


磁盘利用数:n(假设有n个磁盘)。


配置条件:最低两块磁盘,且分区大小尽量相同。


应用领域:对高磁盘容量及高速磁盘存取有特殊需求,而又不计较其高故障率的工作。当然,如果你正在使用集群,RAID 0 无疑是提高磁盘I/O性能的最好方法,因为在这种情况下,你就不用担心冗余的问题了。


2.RAID 1


特点:使用磁盘镜像(disk mirroring)的技术,在一个磁盘上存放数据的同时也在另一个磁盘上写一样的数据。因为有了备份磁盘,所以RAID 1的数据安全性在所有的RAID级别上来说是最好的。尽管其写入数据的速度比较慢,但因其数据是以分段的方式作储存,因而在读取时,它几乎和RAID 0有同样的性能。


磁盘利用数:n/2。


配置条件:最低两块磁盘,且分区大小尽量相同。


应用领域:数据库、金融系统等一些对数据有着高可靠性要求的领域。再者就是系统中写数据量比较少,而读数据量又比较多的情况下可以采用这一模式。


3.RAID 5


特点:以数据的校验位来保证数据的安全,但它不是以单独硬盘来存放数据的校验位,而是将数据段的校验位交互存放于各个磁盘上。这样,任何一个磁盘损坏,都可以根据其他磁盘上的校验位来重建损坏的数据。并行读写数据,性能也很高。


磁盘利用数:n-1。


配置条件:最低三块硬盘,且分区大小尽量相同。

关键字:软件、RAID、硬盘

分享到:

顶部 】 【 关闭
版权所有:佛山思海电脑网络有限公司 ©1998-2024 All Rights Reserved.
联系电话:(0757)22630313、22633833
中华人民共和国增值电信业务经营许可证: 粤B1.B2-20030321 备案号:粤B2-20030321-1
网站公安备案编号:44060602000007 交互式栏目专项备案编号:200303DD003  
察察 工商 网安 举报有奖  警警  手机打开网站