仓酷云

标题: CentOS教程之CentOS 下的RAID磁盘软阵列 [打印本页]

作者: 不帅    时间: 2015-1-14 21:12
标题: CentOS教程之CentOS 下的RAID磁盘软阵列
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的小伙伴们!RAID概述
RAID即便宜冗余磁盘阵列(RedundantArrayofInexpensiveDisk)的简称,经由过程该手艺能够
将多个磁盘构成一个阵列全体,而使用时能够作为单个磁盘利用。RAID磁盘阵列依据其利用的技
术分歧,可用于进步数据读写效力、进步数据冗余(备份),当阵列中的一个磁盘产生妨碍时,可
以经由过程校验数据从其他磁盘中举行规复,年夜年夜加强了使用体系数据的读写功能及牢靠性。
较罕见的RAID手艺包含以下几个级别:
„RAID0:最基础的一种阵列体例,经由过程复杂的将多个磁盘(起码2块)构成到一同,作为
一个年夜磁盘利用。存取数据时,经由过程将数据分段同时写进到分歧的磁盘中,年夜年夜进步了效
率。可是这类体例没无数据冗余,个中任何一个磁盘坏了今后,都大概招致数据丧失。
„RAID1:即磁盘镜像手艺,必要起码2块磁盘(磁盘使用率:1/n)。这类体例将数据同时
写进到阵列中的多块磁盘中,分歧磁盘中的数据互为镜像。因而,个中任何一个磁盘坏了
今后,数据不会丧失。
„RAID5:经由过程引进数据校验手艺来包管数据的宁静,必要起码3块磁盘(磁盘使用率:n-1)。
这类体例其实不利用流动的某块磁盘寄存校验数据,而是分段存储在各个磁盘中。因而,其
中任何一个磁盘坏了今后,也能够依据其他磁盘中的校验数据举行规复。
因为RAID5阵列手艺既经由过程数据冗余加强了牢靠性,又经由过程多块磁盘同时写进数据进步了效
率,一向以来遭到普遍的使用。
未利用硬件磁盘卡体例完成的RAID手艺,一般称为软RAID手艺。本文将在RHEL5体系中,
利用分歧磁盘中的多个分区,设置完成RAID5磁盘阵列。


9.2构建利用软RAID磁盘阵列
在RHEL5体系中,设置软RAID阵列能够经由过程安装mdadm软件包完成。该软件包通常是系
统默许安装,若反省没有安装的话,从RHEL5体系光盘中查找安装便可。
[root@localhost~]#mount/dev/cdrom/media/cdrom/
mount:blockdevice/dev/cdromiswrite-protected,mountingread-only
[root@localhost~]#rpm-ivh/media/cdrom/Server/mdadm-2.5.4-3.el5.i386.rpm
Preparing...###########################################[100%]
1:mdadm###########################################[100%]
[root@localhost~]#rpm-qimdadm|grep"Summary"
Summary:mdadm把持Linuxmd设备(软件RAID阵列)


上面将以RAID5磁盘阵列为例,解说软磁盘阵列的设置利用***。


筹办用于RAID阵列的分区
用于构成RAID阵列的各个分区应当位于分歧的磁盘设备中,不然有用代价不年夜。各分区的容
量最好也不异,需要时能够将全部硬盘分别为一个分区。
为Linux办事器增加4块SCSI硬盘,并利用fdisk工具各分别出一块2GB的分区,顺次为:
/dev/sdb1、/dev/sdc1、/dev/sdd1、/dev/sde1。分区前请注重确保没有其余步伐正在利用对应的
磁盘。下一大节中将以这4个分区为例(RAID5必要最少3块磁盘或分区)解说RAID5磁盘阵列
的创立***。
关于上述分区还应当将其范例ID变动为“fd”,对应为“Linuxraidautodetect”,暗示撑持用
于RAID磁盘阵列。
[root@localhost~]#fdisk/dev/sdb
……
Command(mforhelp):n
Commandaction
eextended
pprimarypartition(1-4)
p
Partitionnumber(1-4):1
Firstcylinder(1-522,default1):
Usingdefaultvalue1
Lastcylinderor+sizeor+sizeMor+sizeK(1-522,default522):+2048M
Command(mforhelp):t
Selectedpartition1
Hexcode(typeLtolistcodes):fd
Changedsystemtypeofpartition1tofd(Linuxraidautodetect)
Command(mforhelp):p
……
DeviceBootStartEndBlocksIdSystem
/dev/sdb112502008093+fdLinuxraidautodetect


Command(mforhelp):w
Thepartitiontablehasbeenaltered!
Callingioctl()tore-readpartitiontable.
Syncingdisks.
[root@localhost~]#


创立好三个分区今后,实行“partprobe”从头探测分区表(或重启体系),考证分区范例和容
量等信息。
[root@localhost~]#partprobe
[root@localhost~]#fdisk-l/dev/sd[b-e]|grep"^/dev/sd"
/dev/sdb112502008093+fdLinuxraidautodetect
/dev/sdc112502008093+fdLinuxraidautodetect
/dev/sdd112502008093+fdLinuxraidautodetect
/dev/sde112502008093+fdLinuxraidautodetect


创立RAID设备
利用mdadm工具能够组合多个RAID分区作为一个磁盘阵列,阵列设备文件名习气上利用
“/dev/md0”、“/dev/md1”等。
[root@localhost~]#mdadm-Cv/dev/md0-ayes-n4-l5/dev/sd[b-e]1
mdadm:layoutdefaultstoleft-symmetric
mdadm:chunksizedefaultsto64K
mdadm:/dev/sdb1appearstobepartofaraidarray:
level=raid5devices=4ctime=SatJul2508:44:502009
mdadm:/dev/sdc1appearstobepartofaraidarray:
level=raid5devices=4ctime=SatJul2508:44:502009
mdadm:/dev/sdd1appearstobepartofaraidarray:
level=raid5devices=4ctime=SatJul2508:44:502009
mdadm:/dev/sde1appearstobepartofaraidarray:
level=raid5devices=4ctime=SatJul2508:44:502009
mdadm:sizesetto2008000K
Continuecreatingarray?y
mdadm:array/dev/md0started.
[root@localhost~]#
在上述下令操纵中,“/dev/md0”为新建的RAID阵列设备文件名,“/dev/sd[bcd]1”暗示此阵
列将利用/dev/sdb1、/dev/sdc1、/dev/sdd1这三个分区。其他各部分选项、参数的寄义以下:
„-C,同等于--create:创立一个新的阵列设备
„-v,同等于--verbose:实行过程当中输入细节信息
„-a,同等于--auto=:指定参数为yes时,暗示若对应的设备文件不存在则主动创立
„-n,同等于--raid-devices=:用于构成阵列的分区设备个数,“-n3”暗示为3个
„-l,同等于--level=:利用的RAID级别,“-l5”暗示为RAID5
关于mdadm下令更多选项的利用,请参考“manmdadm”匡助信息。
创立好md0阵列设备后,将主动被激活,实行“cat/proc/mdstat”能够察看阵列设备的
运转形态。
[root@localhost~]#ls-l/dev/md0
brw-------1rootroot9,007-2509:03/dev/md0
[root@localhost~]#cat/proc/mdstat
Personalities:[raid6][raid5][raid4]
md0:activeraid5sde1[3]sdd1[2]sdc1[1]sdb1[0]
6024000blockslevel5,64kchunk,algorithm2[4/4][UUUU]
个中,“[4/4]”部分中的第一个“4”暗示成员设备个数,后边的“4”暗示以后的举动设备个
数,“UUUU”对应为成员设备的形态。比方,若呈现“[4/3][UUU_]”的信息时,则暗示第4个成
员设备(/dev/sde1)呈现妨碍了。


在RAID设备中创建文件体系
创立好磁盘阵列设备文件“/dev/md0”今后,就能够在该设备中创建文件体系了。在RHEL5
体系中,可使用mkfs下令格局化该设备,将其作为ext3文件体系来利用。
[root@localhost~]#mkfs-text3/dev/md0
mke2fs1.39(29-May-2006)
Filesystemlabel=
OStype:Linux
Blocksize=4096(log=2)
Fragmentsize=4096(log=2)
753664inodes,1506000blocks
75300blocks(5.00%)reservedforthesuperuser
Firstdatablock=0
Maximumfilesystemblocks=1543503872
46blockgroups
32768blockspergroup,32768fragmentspergroup
16384inodespergroup
Superblockbackupsstoredonblocks:
32768,98304,163840,229376,294912,819200,884736
Writinginodetables:done
Creatingjournal(32768blocks):done
Writingsuperblocksandfilesystemaccountinginformation:done
Thisfilesystemwillbeautomaticallycheckedevery33mountsor
180days,whichevercomesfirst.Usetune2fs-cor-itooverride.
挂载并利用文件体系
创立挂载点目次“/mdata”,并将上一大节中创建好的文件体系挂载到该目次,便可一般利用。
[root@localhost~]#mkdir/mdata
[root@localhost~]#mount/dev/md0/mdata
[root@localhost~]#df-T|grep"md0"//考证挂载的“/mdata”文件体系
/dev/md0ext3592936014297654851843%/mdata
撤除一个成员设备作为校验盘今后,磁盘阵列的无效存储空间为3个成员设备的容量之和(年夜
约为2GB×3=6GB)。
假如但愿在每次开机后主动挂载该阵列设备,能够在“/etc/fstab”文件中增加响应设置。
[root@localhost~]#vi/etc/fstab
/dev/md0/mdataext3defaults00




阵列的办理及设备规复


基础办理操纵
1.扫描或检察磁盘阵列信息
利用mdadm下令时,“-D”选项相称于“--detail”,暗示显现扫描了局的具体内容;“-s”
选项相称于“--scan”,用于扫描阵列设备。
未指定阵列设备文件时,能够显现出以后体系中的阵列设置信息、RAID设备列表。
[root@localhost~]#mdadm-vDs
ARRAY/dev/md0level=raid5num-devices=4
UUID=35bcffa1:cdc5ba41:0c5b5702:e32a3259
devices=/dev/sdb1,/dev/sdc1,/dev/sdd1,/dev/sde1
当指定阵列设备作为参数时,能够输入指定阵列设备的具体参数,包含举动设备个数、掉
效设备个数、更新工夫、列表成员设备地位等。
[root@localhost~]#mdadm-vDs/dev/md0
/dev/md0:
Version:00.90.03
CreationTime:SatJul2511:23:072009
RaidLevel:raid5
ArraySize:6024000(5.74GiB6.17GB)
DeviceSize:2008000(1961.27MiB2056.19MB)
RaidDevices:4
TotalDevices:4
PreferredMinor:0
Persistence:Superblockispersistent
UpdateTime:SatJul2511:26:012009
State:clean
ActiveDevices:4
WorkingDevices:4
FailedDevices:0
SpareDevices:0
Layout:left-symmetric
ChunkSize:64K
UUID:35bcffa1:cdc5ba41:0c5b5702:e32a3259
Events:0.6
NumberMajorMinorRaidDeviceState
08170activesync/dev/sdb1
18331activesync/dev/sdc1
28492activesync/dev/sdd1
38183activesync/dev/sde1


2.创立设置文件mdadm.conf
mdamd的设置文件为“/etc/mdadm.conf”,该文件只是用来便利用户办理和利用,短少
此文件其实不会影响磁盘阵列的功效。在设置文件中能够保留多个磁盘阵列的设置信息。设置文
件中的基础信息能够经由过程后面讲过的“mdadm-vDs”下令取得。
[root@localhost~]#vi/etc/mdadm.conf
DEVICE/dev/sdb1/dev/sdc1/dev/sdd1/dev/sde1
ARRAY/dev/md0level=raid5num-devices=4
UUID=35bcffa1:cdc5ba41:0c5b5702:e32a3259
devices=/dev/sdb1,/dev/sdc1,/dev/sdd1,/dev/sde1
CREATEowner=rootgroup=rootmode=0640
在上述文件中,“ARRAY”、“UUID”“devices”部分是位于统一行中的内容,最初一
行中的“CREATE”用于设置主动创立阵列设备文件的属主、属组及默许权限。关于mdadm.conf
设置文件中更多设置项的利用,能够参考“manmdadm.conf”匡助信息。
3.启动/中断RAID阵列
在确保没有相干步伐读写磁盘阵列设备的情形下,能够中断阵列设备。只需利用mdadm
下令分离“-S”选项(同等于“--stop”选项)便可。实行该操纵将会禁用对应的阵列设备,
开释相干资本。
[root@localhost~]#mdadm-S/dev/md0
mdadm:stopped/dev/md0
分离“-A”选项(同等于“--assemble”选项)能够从头组合对应的磁盘阵列设备。
[root@localhost~]#mdadm-A/dev/md0
mdadm:/dev/md0hasbeenstartedwith4drives.
[root@localhost~]#mount/dev/md0/mdata/


设备规复操纵
1.摹拟阵列设备妨碍
关于运转中的磁盘阵列,能够分离mdadm下令的“-f”选项(同等于“”选项)用于模
拟成员设备妨碍,比方可将阵列中的“/dev/sdb1”标志为妨碍设备。
[root@localhost~]#mdadm/dev/md0-f/dev/sde1
mdadm:set/dev/sde1faultyin/dev/md0
当阵列中的某个成员设备呈现妨碍时,阵列会将其标志为掉活形态。此时经由过程“cat
/proc/mdstat”能够察看到丧失呈现妨碍的设备(/dev/sde1)。
[root@localhost~]#cat/proc/mdstat
Personalities:[raid6][raid5][raid4]
md0:activeraid5sde1[3](F)sdd1[2]sdc1[1]sdb1[0]
6024000blockslevel5,64kchunk,algorithm2[4/3][UUU_]


2.改换妨碍设备,并规复数据
关于呈现妨碍的设备,能够分离“-r”选项将其移除,然后换上一般的设备,分离“-a”
选项从头增加到阵列中便可。
[root@localhost~]#mdadm/dev/md0-r/dev/sde1
mdadm:hotremoved/dev/sde1//移除妨碍设备
[root@localhost~]#mdadm/dev/md0-a/dev/sde1
mdadm:re-added/dev/sde1//从头到场一般设备
RAID5磁盘阵列可以在较短工夫内举行重构和数据规复,当必要规复的数据较多时,可
以在此时代察看到阵列形态的规复进度。
[root@localhost~]#cat/proc/mdstat
Personalities:[raid6][raid5][raid4]
md0:activeraid5sde1[3]sdd1[2]sdc1[1]sdb1[0]
6024000blockslevel5,64kchunk,algorithm2[4/3][UUU_]
[===>.................]recovery=16.3%(328192/2008000)finish=2.6min
speed=10586K/sec
unuseddevices:<none>
待数据规复完成今后,再次检察阵列形态即显现为一般了。
[root@localhost~]#cat/proc/mdstat
Personalities:[raid6][raid5][raid4]
md0:activeraid5sde1[3]sdd1[2]sdc1[1]sdb1[0]
6024000blockslevel5,64kchunk,algorithm2[4/4][UUUU]
unuseddevices:<none>


如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的小伙伴们!
作者: 不帅    时间: 2015-1-17 07:43
尽量不要提问纯属是扯蛋.学习Linux特别是自己一个人初学入手的时候没人教很困难.当然如果可以的话平时多去买些Linux书...对学习Linux很有帮助.
作者: 变相怪杰    时间: 2015-1-24 15:42
熟读写基础知识,学得会不如学得牢。
作者: 飘灵儿    时间: 2015-2-2 10:27
这也正是有别的OS得以存在的原因,每个系统都有其自身的优点。?
作者: 透明    时间: 2015-2-7 18:53
随着Linux应用的扩展,出现了不少Linux社区。有一些非常优秀的社区往往是Linux高手的舞台,如果在探讨高级技巧的论坛张贴非常初级的问题经常会没有结果。
作者: 精灵巫婆    时间: 2015-2-23 09:53
编程学习及开发,Linux是免费,开源的操作系统,并且可开发工具相当多,如果您支持自由软件,一定要同广大热爱自由软件人士一同为其不懈努力。
作者: 海妖    时间: 2015-3-7 09:04
放手去搞。尽量不要提问,运用搜索找答案,或者看wiki,从原理上理解操作系统的本质,而不是满足于使用几个技巧。尽量看英文资料。
作者: 简单生活    时间: 2015-3-14 22:29
Windows有MS-DOS?方式,在该方式下通过输入DOS命令来操作电脑;Linux与Windows类似,也有命令方式,Linux?启动后如果不执行?X-WINDOWS,就会处于命令方式下,必须发命令才能操作电脑。?
作者: 只想知道    时间: 2015-3-21 17:55
下面笔者在论坛看到的一个好问题: “安装红旗4.0后,系统紫光输入法自带的双拼方案和我的习惯不一样,如何自定义双拼方案解决?谢谢?”这个问题很简练。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2