linux下创建软RIAD.docx
- 文档编号:11750472
- 上传时间:2023-03-31
- 格式:DOCX
- 页数:12
- 大小:21.83KB
linux下创建软RIAD.docx
《linux下创建软RIAD.docx》由会员分享,可在线阅读,更多相关《linux下创建软RIAD.docx(12页珍藏版)》请在冰豆网上搜索。
linux下创建软RIAD
在RedhatLinuxAS4下实现软件RAID
通常情况下人们在服务器端采用各种冗余磁盘阵列(RAID)技术来保护数据,中高档的服务器一般都提供了昂贵的硬件RAID控制器。
对于资金实力有限的中小企业来讲,在Linux下通过软件来实现硬件的RAID功能,这样既节省了投资,又能达到很好的效果。
何乐而不为呢?
作为一个面向服务器的网络型操作系统,Linux对数据的安全和存取速度给予了高度重视,从2.4版内核开始Linux就实现了对软件RAID的支持(关于RAID的背景知识请见附文),这让我们可以不必购买昂贵的硬件RAID设备,就能享受到增强的磁盘I/O性能和可靠性,进一步降低了系统的总体拥有成本。
下面就让我们看一个RedhatLinuxAS4下的软件RAID配置实例吧。
系统配置情况
假设某单位新上了一套使用Oracle数据库的能量采集系统,该系统数据量极大并且读写非常频繁,实时性要求高,高峰时有近40名用户在线,对数据库服务器的磁盘子系统提出了很高的要求。
由于预算比较紧张,经过多方比较,最终选择了采用Linux系统做软件RAID5的方案。
其配置情况如下:
●操作系统为RedHatLinuxAS4;
●内核版本为2.6.9-5.EL;
●支持RAID0、RAID1、RAID4、RAID5、RAID6;
●五块36GBSCSI接口的磁盘,其中RedHatAS4安装在第一块磁盘,其它四块组成RAID5用来存放Oracle数据库。
在RedHatAS4下实现软件RAID是通过mdadm工具实现的,其版本为1.6.0,它是一个单一的程序,创建、管理RAID都非常方便,而且也很稳定。
而在早期Linux下使用的raidtools,由于维护起来很困难,而且其性能有限,在RedHatAS4下已经不支持了。
实现过程
1.创建分区
五块SCSI磁盘分别对应/dev/sda、/dev/sdb、/dev/sdc、/dev/sdd、/dev/sde。
其中第一块磁盘/dev/sda分两个区,用于安装RedHatAS4和做交换分区,其他四块磁盘每块只分一个主分区,分别为/dev/sdb1、/dev/sdc1、/dev/sdd1、/dev/sde1,并且将分区类型指定为“fd”,这将使Linux内核能将它们识别为RAID分区,且在每次引导时自动被检测并启动。
创建分区使用fdisk命令。
#fdisk/dev/sdb
进入fdisk命令行后,使用命令n创建分区,命令t改变分区类型,命令w保存分区表并退出,命令m为帮助。
2.创建RAID5
这里使用了/dev/sdb1、/dev/sdc1、/dev/sdd1、/dev/sde1四个设备创建RAID5,其中/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:
activeraid5sdd1[3]sde1[4]sdc1[1]sdb1[0]
75469842blockslevel5,128kchunk,algorithm2[3/2][UU_]
[>....................]recovery=4.3%(1622601/37734912)finish=1.0minspeed=15146K/sec
unuseddevices:
当新建或重构完成后,再次查看/proc/mdstat文件:
#more/proc/mdstat
Personalities:
[raid5]
md0:
activeraid5sdd1[2]sde1[3]sdc1[1]sdb1[0]
75469842blockslevel5,128kchunk,algorithm2[3/3][UUU]
unuseddevices:
通过以上内容,可以很清楚地看出当前阵列的状态,各部分所代表的意思如下:
“[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/md0level=raid5num-devices=3UUID=8f128343:
715a42df:
baece2a8:
a5b878e0
以上的这些信息可以通过扫描系统的阵列来获取,命令为:
#mdadm-Ds
ARRAY/dev/md0level=raid5num-devices=3UUID=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-text3/dev/md0
当新的文件系统生成之后,就可以将/dev/md0挂接到指定的目录了。
命令如下:
#mount/dev/md0/mnt/raid
为了让系统在启动时自动将/dev/md0挂接到/mnt/raid,还需要修改/etc/fstab文件,添加如下内容:
/dev/md0/mnt/raidext3defaults00
故障模拟
上面的实例,让我们对RedhatLinuxAS4的软件RAID功能有了一定的认识,并且通过详细的步骤说明了如何创建RAID5。
有了RAID做保障,电脑里的数据看起来似乎已经很安全了,然而现有的情况还是不能让我们高枕无忧,想一想,万一磁盘出现故障怎么办?
下面我们模拟一个更换RAID5故障磁盘的完整过程,希望以此丰富大家处理RAID5故障的经验,提高管理和维护水平。
我们仍然沿用上面的RAID5配置,首先往阵列中拷贝一些数据,接下来开始模拟/dev/sdb1设备故障。
不过,对于无备份设备的RAID5的模拟过程也要经过如下三步,只是阵列重构和数据恢复是发生在新设备添加到阵列中之后,而不是设备损坏时。
1.将/dev/sdb1标记为已损坏的设备
#mdadm/dev/md0-f/dev/sdb1
查看当前阵列状态
#more/proc/mdstat
Personalities:
[raid5]
md0:
activeraid5sdd1[2]sde1[3]sdc1[1]sdb1[4](F)
75469842blockslevel5,128kchunk,algorithm2[3/2][_UU]
[=>...................]recovery=8.9%(3358407/37734912)finish=1.6minspeed=9382K/sec
unuseddevices:
因为有备份设备,所以当阵列中出现设备损坏时,阵列能够在短时间内实现重构和数据的恢复。
从当前的状态可以看出,阵列正在重构,且运行在降级模式,sdb1[4]的后面已经标上了(F),活动设备数也降为2个。
经过几分钟后,再次查看当前阵列状态。
#more/proc/mdstat
Personalities:
[raid5]
md0:
activeraid5sdd1[2]sde1[0]sdc1[1]sdb1[3](F)
75469842blockslevel5,128kchunk,algorithm2[3/3][UUU]
unuseddevices:
此时阵列重构已经完成,数据恢复完毕,原有的备份设备sde1成为了活动设备。
2.移除损坏的设备
#mdadm/dev/md0-r/dev/sdb1
查看当前阵列的状态:
#more/proc/mdstat
Personalities:
[raid5]
md0:
activeraid5sdd1[2]sde1[0]sdc1[1]
75469842blockslevel5,128kchunk,algorithm2[3/3][UUU]
unuseddevices:
损坏的sdb1已经从阵列中移掉。
3.将新设备添加到阵列中
因为是模拟操作,可以通过下面的命令再次将/dev/sdb1添加到阵列中。
如果是实际操作则要注意两点:
一是在添加之前要对新磁盘进行正确的分区;二是添加时要用所添加设备的设备名替换/dev/sdb1。
#mdadm/dev/md0-a/dev
[操作指南]Linux下如何实现软件RAID
数据在现今企业中占有重要的地位,数据存储的安全性有而是人们使用计算机要注意的重要问题之一。
通常情况下人们在服务器端采用各种冗余磁盘阵列RAID技术来保护数据,中高档的服务器一般都提供了昂贵的硬件RAID控制器,但是很多中小企业没有足够的经费承受这笔开销。
我们有没有方法可以通过软件来实现RAID呢?
实际上在Linux下可以通过软件来实现硬件的RAID功能,这样既节省了投资,又能达到很好的效果。
今天就由我为大家介绍如何在网络环境中实现带有一块Spare-disk的软RAID1(数据镜像)阵列。
小提示:
什么是RAID1(数据镜像)?
RAID1是比较可靠的数据存储方式,每一个磁盘都具有一个对应的镜像盘。
对任何磁盘的数据写入都会被复制镜像盘中;系统可以从一组镜像盘中的任何一个磁盘读取数据,也就是说同一个数据会被重复写入两次,这样的磁盘镜像肯定会提高系统成本。
因为我们所能使用的空间只是所有磁盘容量总和的一半。
由于本文中会使用mdadm软件,而该软件一般情况下都会集成在Redhatlinux中,所以可以直接使用。
如果系统中没有安装可以到http:
//www.cse.unsw.edu.au/~neilb/source/mdadm来下载mdadm-1.8.1.tgz进行编译安装,也可以到http:
//www.cse.unsw.edu.au/~neilb/source/mdadm/rpm下载mdadm-1.8.1-1.i386.rpm直接安装。
第一步:
以root用户登录系统,对磁盘进行分区。
#fdisk/dev/sdb
将设备/dev/sdb上的全部磁盘空间划分给一个主分区,建立/dev/sdb1分区,并修改分区的类型标识为fd(linuxraidauto),然后对剩余的磁盘做同样的操作。
创/dev/sdb1,/dev/sdc1,/dev/sdd1三个分区。
第二步:
创建RAID阵列
#madam-cv/dev/md0-l1-n2-x1/dev/sd{b,c,d}1
小提示:
-C参数为创建阵列模式。
/dev/md0为阵列的设备名称。
-l1为阵列模式,可以选择0,1,4,5等多种不同的阵列模式,分别对应RAID0,RAID1,RAID4,RAID5。
-n2为阵列中活动磁盘的数目,该数目加上备用磁盘的数目应该等于阵列中总的磁盘数目。
-x1为阵列中备用磁盘的数目,因为我们是RAID1所以设置当前阵列中含有一块备用磁盘。
/dev/sd{b,c,d}1为参与创建阵列的磁盘名称,阵列由三块磁盘组成,其中两块为镜象的活动磁盘,一块备用磁盘提供故障后的替换。
第三步:
查看RAID阵列情况
创建RAID过程需要很长时间,因为磁盘要进行同步化操作,查看/proc/mdstat文件,该文件显示RAID的当前状态和同步完成所需要的时间。
#cat/proc/mdstat
系统会显示——
personalities:
[raid1]
read_ahead1024sectors
event:
1
md0:
activeraid1sdb1[0]sdc1[1]sdd1[2]
18432000blocks[2/2][UU]
unuseddevices:
出现上面的提示后就表示创建的RAID1已经可以使用了。
第四步:
编辑阵列的配置文件
mdadm的配置文件主要提供人们日常管理,编辑这个文件可以让RAID更好的为我们工作,当然这个步骤不是必须的。
不经过编辑配置文件也可以让RAID工作。
首先扫描系统中的全部阵列
#mdadm-detail-scan
扫描结果将显示阵列的名称,模式和磁盘名称,并且列出阵列的UUID号,UUID也同时存在于阵列的每个磁盘中,缺少该号码的磁盘是不能够参与阵列的组成的。
接下来编辑阵列的配置文件/etc/mdadm.conf文件,将扫描的显示结果按照文件规定的格式修改后添加到文件的末尾。
#vi/etc/mdadm.conf
添加以下内容到mdadm.conf文件中
device/dev/sdb1/dev/sdc1/dev/sdd1
array/dev/md0level=raid1num-devices=2uuid=2ed2ba37:
d952280c:
a5a9c282:
a51b48daspare-group=group1
在配置文件中定义了阵列的名称和模式,还有阵列中活动磁盘的数目与名称,另外也定义了一个备用的磁盘组group1。
第五步:
启动停止RAID1阵列
启动和停止RAID1阵列的命令非常简单。
启动直接执行“mdadm-as/dev/md0”即可。
执行mdadm-s/dev/md0将停止RAID1阵列。
另外在rc.sysinit启动脚本文件中加入命令mdadm-as/dev/md0后将设置为阵列随系统启动而启动。
总结:
配置RAID1的步骤相对RAID5来说不是很烦琐,不过在使用mdadm时应该注意就是不要在一块硬盘上划分多个分区,再将多个分区组成阵列,这种方式不但不能提高硬盘的访问速度,反而会降低整体系统的性能。
正确的方法是将一块硬盘分成一个或多个分区,然后将多块不同硬盘的分区组成阵列。
另外系统目录如/usr最好不要放在阵列中,因为一旦阵列出现问题系统将无法正常运行。
RedHatLinux手动创建RAID和LVM分区
创建RAID(以RAID5为例)
1、首先,我们要先创建新磁盘分区
#fdisk/dev/hda
创建3个500MB的分区(hda7,hda8,hda9),然后在fdisk命令下输入t,选择刚创建好的分区,输入fd,将刚创建好的3个分区转换为fd格式。
输入w保存退出
2、激活刚创建好的分区
#partprobe
3、将3个分区加载到md0,l5是代表RAID级别是RAID5,n3代表有3个分区。
#mdam–C/dev/md0–l5–n3/dev/had{7,8,9}
4、查看一下创建的RAID分区
#cat/proc/mstat
5、将md0分区格式化成ext3格式,将RAID分区mount到目录上,并修改fstab表
#mkfs.ext3/dev/md0
#mount/dev/md0/pot
#vi/etc/fstab
这样我们就成功创建了一个RAID5的磁盘分区。
创建LVM
1、首先,我们要先创建新磁盘分区
#fdisk/dev/had
创建2个500MB分区(hda10,hda11),然后在fdisk命令下输入t,选择刚创建好的分区,输入8e,将刚创建好的2个分区转换为8e格式。
输入w保存退出
2、激活刚创建好的分区
#partprobe
3、创建成pv格式
#pvcreate/dev/had{10,11}
#pvdisplay 查看pv
4、将分区加载到vg卷组,vg0是卷组名称,vg0卷组总空间是1000MB
#vgcreatevg0/dev/had{10,11}
#vgdisplay 查看vg卷组
5、创建lv分区800M是分区大小,lv0是lv分区名称,vg0是加载到卷组名称,此时创建了一个800MB的lvm分区,vg0卷组还剩余200MB的空间
#lvcreate–L800M–nlv0vg0
#lvdisplay 查看lv分区
6、将lv分区格式化成ext3格式
#mkfs.ext3/dev/vg0/lv0
7、将LVM分区mount到目录上,并修改fstab表
#mount/dev/vg0/lv0/lvm
#vi/etc/fstab
8、扩展(lv)刚才我们创建了800mb的lvm分区,当要对分区进行扩展应如下操作:
#lvextend–L+100M/dev/vg0/lv0
#ext2online/dev/vg0/lv0 动态扩展
此时,我们已经向lv0分区增加了100MB空间,vg0卷组还剩余100MB空间,如果当我们认为空间还是不足,需要扩充,而vg0卷组的空间也不足时,我们就需要对vg0卷组进行扩展,然后再对lv分区进行扩展
1、创建1个500MB分区(hda12),然后在fdisk命令下输入t,选择刚创建好的分区,输入8e,将刚创建好的分区转换为8e格式。
输入w保存退出
#fdisk/dev/had
2、激活刚创建好的分区
#partprobe
3、创建成pv格式
#pvcreate/dev/had12
4、将hda12添加到vg0卷组,此时vg0卷组的总空间大小为1500MB
#vgextendvg0/dev/hda12
5、对lv0分区进行动态扩展,增加500M空间
#lvextend–L+500M/dev/vg0/lv0
#ext2online/dev/vg0/lv0
此时我们创建LVM分区大小总空间应为800M+100M+500M=1400M
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- linux 创建 RIAD