仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 599|回复: 7
打印 上一主题 下一主题

[CentOS(社区)] 来一发Centos 中的RAID详解

[复制链接]
山那边是海 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-14 21:14:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的好朋友们!纲目:
1、RAID是甚么?
2、RAID优弱点?
3、RAID款式?
4、RAID分类?
5、罕见RAID总结?
6、mdadm工具先容?
7、创立RAID?
8、RAID的办理?
9、RAID优化?
10、RAID监控?
11、RAID扩大?
注:测试机CentOS5.5X86_64位
1、RAID是甚么?
复杂形貌:
RAID:(RedundantArrayofindenpensiveDisk)自力磁盘冗余阵列:磁盘阵列是把多个磁盘构成一个阵列,看成单一磁盘利用,它将数据以分段或条带(striping)的体例贮存在分歧的磁盘中,存取数据时,阵列中的相干磁盘一同举措,年夜幅减低数据的存取工夫,同时有更佳的空间使用率。磁盘阵列使用的分歧的手艺,称为RAIDlevel,分歧的level针对分歧的体系及使用,以办理数据宁静的成绩。复杂来讲,RAID把多个硬盘组分解为一个逻辑扇区,因而,操纵体系只会把它看成一个硬盘。
2、RAID优弱点?
长处:
1.进步传输速度。RAID经由过程在多个磁盘上同时存储和读取数据来年夜幅进步存储体系的数据吞吐量(Throughput)。在RAID中,可让良多磁盘驱动器同时传输数据,而这些磁盘驱动器在逻辑上又是一个磁盘驱动器,以是利用RAID能够到达单个磁盘驱动器几倍、几十倍乃至上百倍的速度。这也是RAID最后想要办理的成绩。由于事先CPU的速率增加很快,而磁盘驱动器的数据传输速度没法年夜幅进步,以是必要有一种计划办理两者之间的冲突。RAID最初乐成了。
2.经由过程数据校验供应容错功效。一般磁盘驱动器没法供应容错功效,假如不包含写在磁盘上的CRC(轮回冗余校验)码的话。RAID容错是创建在每一个磁盘驱动器的硬件容错功效之上的,以是它供应更高的宁静性。在良多RAID形式中都有较为完整的互相校验/规复的办法,乃至是间接互相的镜像备份,从而年夜年夜进步了RAID体系的容错度,进步了体系的不乱冗余性。
弱点:
1.做分歧的RAID,有RAID形式硬盘使用率低,代价高贵。
2.RAID0没有冗余功效,假如一个磁盘(物理)破坏,则一切的数据都没法利用。
3.RAID1磁盘的使用率却只要50%,是一切RAID级别中最低的。
4.RAID5能够了解为是RAID0和RAID1的折衷计划。RAID5能够为体系供应数据宁静保证,但保证水平要比RAID1低而磁盘空间使用率要比RAID1高。
3、RAID款式?

  • 外接式磁盘阵列柜:最常被利用年夜型办事器上,具可热抽换(HotSwap)的特征,不外这类产物的代价都很贵。
  • 内接式磁盘阵列卡:由于代价廉价,但必要较高的安装手艺,合适手艺职员利用操纵。
  • 使用软件来仿真:因为会拖累呆板的速率,不合适年夜数据流量的办事器。
4、RAID分类?
RAID0数据分条(条带)盘---只必要2块以上的硬盘,本钱低,能够进步全部磁盘的功能和吞吐量
striping(条带形式),最少必要两块磁盘,做RAID分区的巨细最好是不异的(能够充实发扬并上风);而数据分离存储于分歧的磁盘上,在读写的时分能够完成并发,以是绝对其读写功能最好;可是没有容错功效,任何一个磁盘的破坏将破坏全体数据;

RAID1磁盘镜像盘---数据在写进一块磁盘的同时,会在另外一块闲置的磁盘上天生镜像文件
mirroring(镜像卷),最少必要两块硬盘,raid巨细即是两个raid分区中最小的容量(最好将分区巨细分为一样),可增添热备盘供应必定的备份才能;数占有冗余,在存储时同时写进两块硬盘,完成了数据备份;但绝对下降了写进功能,可是读取数据时能够并发,几近相似于raid-0的读取效力;



RAID2与RAID3相似海密码查验盘---在数据产生毛病的情形下将毛病校订,以包管输入的准确性

RAID3奇偶校验码的并行传送---只能查错不克不及纠错

RAID4带奇偶校验码的自力磁盘布局---对数据的会见是按数据块举行的,也就是按磁盘举行的,RAID3是一次一横条,而RAID4一次一竖条

RAID5散布式奇偶校验的自力磁盘布局
必要三块或以上硬盘,能够供应热备盘完成妨碍的规复;接纳奇偶效验,牢靠性强,且只要同时破坏两块硬盘时数据才会完整破坏,只破坏一块硬盘时,体系会依据存储的奇偶校验位重修数据,一时供应办事;此时假如有热备盘,体系还会主动在热备盘上重修妨碍磁盘上的数据;

RAID6带有两种散布存储的奇偶校验码的自力磁盘布局
RAID7优化的高速数据传送磁盘布局---高速缓冲存储器
这是一种新的RAID尺度,其本身带有智能化及时操纵体系和用于存储办理的软件工具,可完整自力于主机运转,不占用主机CPU资本。RAID7能够看做是一种存储盘算机(StorageComputer),它与其他RAID尺度有分明区分。

RAID1+0高牢靠性与高效磁盘布局
RAID0+1高效力与高功能磁盘布局

RAID1+0与RAID0+1的区分:
RAID1+0是先镜射再分区数据,再将一切硬盘分为两组,视为是RAID0的最低组合,然后将这两组各自视为RAID1运作。RAID0+1则是跟RAID1+0的步伐相反,是先分区再将数据镜射到两组硬盘。它将一切的硬盘分为两组,酿成RAID1的最低组合,而将两组硬盘各自视为RAID0运作。功能上,RAID0+1比RAID1+0有着更快的读写速率。牢靠性上,当RAID1+0有一个硬盘受损,其他三个硬盘会持续运作。RAID0+1只需有一个硬盘受损,同组RAID0的另外一只硬盘亦会中断运作,只剩下两个硬盘运作,牢靠性较低。因而,RAID10远较RAID01经常使用,批发主板尽年夜部分撑持RAID0/1/5/10,但不撑持RAID01。
5、罕见RAID总结?
RAIDLevel功能提拔冗余才能空间使用率磁盘数目(块)RAID0读、写提拔无100%最少2RAID1读功能提拔,写功能下落有50%最少2RAID5读、写提拔有(n-1)/n%最少3RAID1+0读、写提拔有50%最少4RAID0+1读、写提拔有50%最少4RAID5+0读、写提拔有(n-2)/n%最少6
6、mdadm工具先容?
简介
mdadm(multipledevicesadmin)是linux下尺度的的软raid办理工具,是一个形式化工具(在分歧的形式下);步伐事情在内存用户步伐区,为用户供应RAID接口来操纵内核的模块,完成各类功效;
检察

1
2
3
4
5
6
7
8
9
10
[root@localhost~]#uname-r
2.6.18-194.el5
[root@localhost~]#lsb_release-a
LSBVersion::core-3.1-amd64:core-3.1-ia32:core-3.1-noarch:graphics-3.1-amd64:graphics-3.1-ia32:graphics-3.1-noarch
DistributorID:CentOS
Description:CentOSrelease5.5(Final)
Release:5.5
Codename:Final
[root@localhost~]#rpm-qa|grepmdadm
mdadm-2.6.9-3.el5



mdadm下令
基础语法

1
mdadm[mode]<raid-device>[options]<component-devices>



今朝撑持的形式
LINEAR(线性形式)、RAID0(striping条带形式)、RAID1(mirroring)、RAID-4、RAID-5、RAID-6、RAID-10、MULTIPATH和FAULTY
LINEAR:线性形式,该形式不是raid的尺度形式,其次要感化是能够完成将几块小的硬盘组合为一块年夜硬盘来利用,数组存储时一次存满一个硬盘在利用下一个硬盘,对下层来讲操纵的是一个年夜硬盘。
次要形式(7种)

  • Assemble:拆卸形式:到场一个之前界说的阵列,能够正在利用阵列或从其他主机移出的阵列
  • Build:创立:创立一个没有超等块的阵列
  • Create:创立一个新的阵列,每一个设备具有超等块
  • FolloworMonitor:监控RAID的形态,一样平常只对RAID-1/4/5/6/10等有冗余功效的形式来利用
  • Grow:(Groworshrink)改动RAID的容量或阵列中的设备数量;压缩一样平常指的是数据压缩或重修
  • Manage:办理阵列(如增加spare盘和删除妨碍盘)
  • IncrementalAssembly:增加一个设备到一个得当的阵列
  • Misc:同意独自对阵列中的某个设备举行操纵(如抹往superblocks或中断阵列)
  • Auto-detect:此形式不感化于特定的设备或阵列,而是请求在Linux内核启动任何主动检测到的阵列
次要选项:(Optionsforselectingamode)

1
2
3
4
5
6
7
-A,--assemble:到场并开启一个之前界说的阵列
-B,--build:创立一个没有超等块的阵列(Buildalegacyarraywithoutsuperblocks)
-C,--create:创立一个新的阵列
-F,--follow,--monitor:选择监控(Monitor)形式
-G,--grow:改动激活阵列的巨细或形状
-I,--incremental:增加一个独自的设备到符合的阵列,并大概启动阵列
--auto-detect:哀求内核启动任何主动检测到的阵列



创立形式

1
2
3
4
5
6
7
-C--create:创立一个新的阵列
公用选项:
-l:级别
-n#:设备个数
-a{yes|no}:是不是主动为其创立设备文件
-c:CHUNK巨细,2^n,默许为64K
-x#:指定余暇盘个数



办理形式

1
2
3
-a--add:增加列出的设备到一个事情的阵列中;当阵列处于升级形态(妨碍形态),你增加一个设备,该设备将作为备用设备而且在该备用设备上入手下手数据重修
-f--fail:将列出的设备标志为faulty形态,标志后就能够移除设备;(能够作为妨碍规复的测试手腕)
-r--remove:从阵列中移除列出的设备,而且该设备不克不及处于举动形态(是冗余盘或妨碍盘)



监控形式
1
2
3
4
5
-F--follow,--monitor:选择监控(Monitor)形式
-m--mail:设置一个mail地点,在报警时给该mail发信;该地点可写进conf文件,在启动阵列是失效
-p--program,--alert:当检测到一个事务时运转一个指定的步伐
-y--syslog:设置一切的事务纪录于syslog中
-t--test:给启动时发明的每一个阵列天生test告诫信息;该信息传送给mail或报警步伐;(以此来测试报警信息是不是能准确吸收)



增加形式

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
-G--grow:改动激活阵列的巨细或形状
-n--raid-devices=:指定阵列中举动的device数量,不包含spare磁盘,这个数量只能由--grow修正
-x--spare-devices=:指定初始阵列的冗余device数量即sparedevice数量
-c--chunk=:Specifychunksizeofkibibytes.缺省为64.chunk-size是一个主要的参数,决意了一次向阵列中每一个磁盘写进数据的量
(Chunk:,能够了解为raid分储数据时每一个数据段的巨细(一般为32/64/128等这类数字巨细);公道的选择chunk巨细十分主要,若chunk过年夜大概一块磁盘上的带区空间就能够满意年夜部分的I/O操纵,使得数据的读写只范围于一块硬盘上,这便不克不及充实发扬RAID并发的上风;假如chunk设置太小,任何很小的I/O指令都大概激发大批的读写操纵,不克不及优秀发扬并发功能,占用过量的把持器总线带宽,也影响了阵列的全体功能。以是,在创立带区时,我们应当依据实践使用的必要,公道的选择带区巨细。)
-z--size=:组建RAID1/4/5/6后从每一个device猎取的空间总数;可是巨细必需为chunk的倍数,还必要在每一个设备最初给RAID的superblock留最少128KB的巨细。
--rounding=:Specifyroundingfactorforlineararray(==chunksize)
-l--level=:设定raidlevel.raid的几倍
--create:可用:linear,raid0,0,stripe,raid1,1,mirror,raid4,4,raid5,5,raid6,6,multipath,mp.
--build:可用:linear,raid0,0,stripe.
-p--layout=:设定raid5和raid10的奇偶校验划定规矩;而且把持妨碍的妨碍形式;个中RAID-5的奇偶校验能够在设置为::eft-asymmetric,left-symmetric,right-asymmetric,right-symmetric,la,ra,ls,rs.缺省为left-symmetric
--parity:相似于--layout=
--assume-clean:今朝仅用于--build选项
-R--run:阵列中的某一部分呈现在其他阵列或文件体系中时,mdadm会确认该阵列。此选项将不作确认。
-f--force:一般mdadm不同意只用一个device创立阵列,并且此时创立raid5时会利用一个device作为missingdrive。此选项正相反
-N--name=:设定阵列的称号



拆卸形式

1
-A,--assemble:到场并开启一个之前界说的阵列



MISC形式选项

1
2
3
-Q,--query:检察一个device,判别它为一个mddevice或是一个md阵列的一部分
-D,--detail:打印一个或多个mddevice的具体信息
-E,--examine:打印device上的mdsuperblock的内容



检察RAID阵列的具体信息


1
2
mdadm-D/dev/md#
--detail中断阵列



中断RAID阵列

1
2
mdadm-S/dev/md#
--stop



开启RAID阵列
1
2
mdadmCA/dev/md#
--start



别的选项
1
2
3
4
5
6
7
8
-c,--config=:指定设置文件,缺省为/etc/mdadm.conf
-s,--scan:扫描设置文件或/proc/mdstat以征采丧失的信息。默许设置文件:/etc/mdadm.conf
-h,--help:匡助信息,用在以上选项后,则显现该选项信息
-v,--verbose:显现细节,一样平常只能跟--detile或--examine一同利用,显现中级的信息
-b,--brief:较少的细节。用于--detail和--examine选项
--help-options:显现更具体的匡助
-V,--version:版本信息
-q,--quit:宁静形式;加上该选项能使mdadm不显现纯动静性的信息,除非那是一个主要的呈报
7、创立RAID?
实行情况:CentOS5.5X86_64mdadm版本为:2.6.9-3
案例:创立一RAID5具(具体历程)
申明:
1.间接利用硬盘硬件设备,不必要分区。
创立一个RAID0设备:
1
mdadm--create/dev/md0--level=0--chunk=32--raid-devices=3/dev/sd[b-d]




创立一个RAID1设备:
1
mdadm-C/dev/md0-l1-c128-n2-x1/dev/sd[b-d]



创立一个RAID5设备:
1
mdadm-C/dev/md0-l5-n5/dev/sd[c-g]-x1/dev/sdb



创立一个RAID6设备:
1
mdadm-C/dev/md0-l6-n5/dev/sd[c-g]-x2/dev/sdb/dev/sdh




创立一个RAID10设备:
1
mdadm-C/dev/md0-l10-n6/dev/sd[b-g]-x1/dev/sdh




创立一个RAID1+0设备(双层架构):
1
2
3
4
mdadm-C/dev/md0-l1-n2/dev/sdb/dev/sdc
mdadm-C/dev/md1-l1-n2/dev/sdd/dev/sde
mdadm-C/dev/md2-l1-n2/dev/sdf/dev/sdg
mdadm-C/dev/md3-l0-n3/dev/md0/dev/md1/dev/md2



2.假如要详细利用哪一个硬盘的分区做RAID,才必要fdisk特定的分区,并给它指定分区范例:fd
详细历程以下:
1.分区
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
[root@localhost~]#fdisk/dev/sde
DevicecontainsneitheravalidDOSpartitiontable,norSun,SGIorOSFdisklabel
BuildinganewDOSdisklabel.Changeswillremaininmemoryonly,
untilyoudecidetowritethem.Afterthat,ofcourse,theprevious
contentwontberecoverable.
Thenumberofcylindersforthisdiskissetto2610.
Thereisnothingwrongwiththat,butthisislargerthan1024,
andcouldincertainsetupscauseproblemswith:
1)softwarethatrunsatboottime(e.g.,oldversionsofLILO)
2)bootingandpartitioningsoftwarefromotherOSs
(e.g.,DOSFDISK,OS/2FDISK)
Warning:invalidflag0x0000ofpartitiontable4willbecorrectedbyw(rite)
Command(mforhelp):n
Commandaction
eextended
pprimarypartition(1-4)
p
Partitionnumber(1-4):1
Firstcylinder(1-2610,default1):
Usingdefaultvalue1
Lastcylinderor+sizeor+sizeMor+sizeK(1-2610,default2610):
Usingdefaultvalue2610
Command(mforhelp):t
Selectedpartition1
Hexcode(typeLtolistcodes):fd
Changedsystemtypeofpartition1tofd(Linuxraidautodetect)
Command(mforhelp):w
Thepartitiontablehasbeenaltered!
Callingioctl()tore-readpartitiontable.
这里只举个例子,别的相似!出格申明:在fdisk分区后必要将分区标记改成Linuxraidauto范例;
效果以下:
[root@localhost~]#fdisk-l|grep/dev/sd
Disk/dev/sdb:21.4GB,21474836480bytes
/dev/sdb11261020964793+fdLinuxraidautodetect
Disk/dev/sdc:21.4GB,21474836480bytes
/dev/sdc11261020964793+fdLinuxraidautodetect
Disk/dev/sdd:21.4GB,21474836480bytes
/dev/sdd11261020964793+fdLinuxraidautodetect
Disk/dev/sde:21.4GB,21474836480bytes
/dev/sde11261020964793+fdLinuxraidautodetect
[root@localhost~]#



2.创建磁盘阵列
[quote]1
2
3
4
5
6
[root@localhost~]#mdadm-C/dev/md0-ayes-l5-n3/dev/sd{b,c,d}1
mdadm:array/dev/md0started.
#-C:创立一个阵列,后跟阵列称号
#-a:暗示主动创立
#-l:指定阵列级别
#-n:指定阵列中举动devices的数量



3.检察Raid5阵列
<divstyle="padding:0px;margin:0px;"><divid="highlighter_832899"class="syntaxhighlighterbash"style="overflow:visible!important;width:720px;">1
2
3
4
5
6
7
8
<divclass="container">[root@localhost~]#cat/proc/mdstat
Personalities:[raid6][raid5][raid4]
md0:activeraid5sdd1[2]sdc1[1]sdb1[0]#第一行
41929344blockslevel5,64kchunk,algorithm2[3/3][UUU]#第二行
unuseddevices:<none>
[root@localhost~]#
<divclass="linenumber7index6alt2"style="background-color:white!important;">#第一行是MD设备名如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的好朋友们!
活着的死人 该用户已被删除
沙发
发表于 2015-1-17 09:04:15 | 只看该作者
为什么要学Linux呢?每个人都有不同的看法,下面我说说自己的感想吧。?
不帅 该用户已被删除
板凳
发表于 2015-1-26 14:58:16 | 只看该作者
学习Linux系统在服务中的配置方法及使用方法。Linux在服务器中应用相当广,应对常用的apache,samba,ftp等服务器基本配置清楚了解。[重点,应巩固学习]
透明 该用户已被删除
地板
发表于 2015-2-4 21:34:01 | 只看该作者
下面笔者在论坛看到的一个好问题: “安装红旗4.0后,系统紫光输入法自带的双拼方案和我的习惯不一样,如何自定义双拼方案解决?谢谢?”这个问题很简练。
深爱那片海 该用户已被删除
5#
发表于 2015-2-10 20:45:25 | 只看该作者
下面笔者在论坛看到的一个好问题: “安装红旗4.0后,系统紫光输入法自带的双拼方案和我的习惯不一样,如何自定义双拼方案解决?谢谢?”这个问题很简练。
飘灵儿 该用户已被删除
6#
发表于 2015-3-10 23:36:32 | 只看该作者
期间我阅读了不少关于Linux的相关资料,其中也不乏一些有趣的小故事,这既丰富了我的课余生活,也让我加深了对一些术语的理解,比玩游戏强多了。?
7#
发表于 2015-3-17 18:09:24 | 只看该作者
学习Linux系统在服务中的配置方法及使用方法。Linux在服务器中应用相当广,应对常用的apache,samba,ftp等服务器基本配置清楚了解。[重点,应巩固学习]
愤怒的大鸟 该用户已被删除
8#
发表于 2015-3-24 22:22:33 | 只看该作者
硬盘安装及光盘安装,清楚了解安装Linux应注意的有关问题,如安装Linux应在最后一个分区内,至少分二个分区。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2025-1-10 20:16

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表