linux day8-linuxlvm逻辑卷及磁盘阵列硬raid配置_第1页
linux day8-linuxlvm逻辑卷及磁盘阵列硬raid配置_第2页
linux day8-linuxlvm逻辑卷及磁盘阵列硬raid配置_第3页
linux day8-linuxlvm逻辑卷及磁盘阵列硬raid配置_第4页
linux day8-linuxlvm逻辑卷及磁盘阵列硬raid配置_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、RAID 磁盘阵列2012-05-17 16:22:15:磁盘阵列 raid 高可用作品,允许,时请务必以超 形式标明文章 原始出处 、作者信息和本。否则将追究。/3300438/866143RAID 磁盘阵列目录:摘要RAID 级别LinuxRAID 实例性能测试对比故障模拟1. 摘要早在 1978 年加州大学伯克利分校就提出了 RAID 虚拟系统。RAID 全称: Redundant Array of Independent Disk,独立冗余磁盘阵列。其是将多块独立的磁盘 按不同的方式组合为一个逻辑磁盘,从而提高容量或性能或提供数据备份功能。 RAID系统的组合方式根据RAID 级别定义

2、。RAID 种类:RAID,硬件RAID。在现有的操作系统中如Windows、Linux、Unix等已经集成了软RAID 的功能。软RAID 可以实现与硬件RAID 相同的功能,但由于其没有独立的硬件控制设备,所以性能不如硬件 RAID,但软 RAID 实现简单、不需要额外的硬件设备。硬件RAID 通常需要有RAID 卡,RAID 卡本身会有独立的控制部件与内存,所以不会占有系统资源,效率高、性能强。当然目前市面上有很多主板已经集成了 RAID 卡,具体的使用方式可以参考硬件说明书。现在RAID系统被广泛应用于生产环境作为解决方案。*2. RAID 级别RAID 根据组合的方式不同有多种设计解

3、决方案,以下介绍几种常见的 RAID 方案(RAID级别)。2.1. RAID 0(不含校验与冗余的条带)多块磁盘组合为RAID 0 后,数据将被分割并分别在每块硬盘中,所以能最大的性能与空间,但无法容错,RAID 0 至少需要两块磁盘。原理如下图:()为剩余空间。RAID 0|-|(_DATA1_)(_DATA2_)(_DATA3_)(_DATA4_)(_DATA5_)(_DATA6_)(_DATA7_)(_DATA8_)()()()()磁盘 1磁盘 2说明:如果有一个文件要写入RAID 0,则该文件会被分割为多个部分(上图分8个数据块),DATA1 与DATA2 被同时分别存入磁盘 1 与

4、磁盘 2,其他部分依次类推。该文件时,将同时从磁盘 1 与磁盘 2 中数据。如果两块磁盘的空间为 20G,则RAID 0 的总空间为 40G。缺点:因为没有校验与备份,两个硬盘中如果有一块磁盘损坏,即磁盘中的任何一个数据块损坏将导致整个文件无法。2.2. RAID 1(不含校验的镜像)多块磁盘组合为RAID 1 后,数据将被同时到每块硬盘中,制作这种磁盘阵列至少需要 2 块硬盘,该级别的RAID 只要有一块磁盘可用即可正常工作,该级别的阵列安全行是最好的,磁盘利用率是最低的。RAID 1|-|(_DATA1_)(_DATA1_)(_DATA2_)(_DATA2_)(_DATA3_)(_DATA

5、3_)(_DATA4_)(_DATA4_)()()()()磁盘 1磁盘 2说明:如果有一个文件要写入 RAID1,则该文件会被分成数据块写入磁盘 1,同时写入磁盘 2,DATA1 与DATA2 被同时存入磁盘 1 与磁盘 2,其他部分依次类推。RAID 1 写入数据的效率会降低,因为数据需要同时写入两块硬盘,但 RAID 1数据的效率会,因为可以同时从两块硬盘数据。2.3 RAID 2(位级别的校验式条带)多块磁盘组合为RAID 2 后,数据将以位(bit)为同步式分别在不同的硬盘上,并采用海明码对数据进行校验与恢复。RAID 2|-|(_DATA1_)(_DATA2_)(_Parity1_)

6、(_DATA3_)(_DATA4_)(_Parity2_)(_DATA5_)(_DATA6_)(_Parity3_)(_DATA7_)(_DATA8_)(_Parity4_)()()()()()()磁盘 1磁盘 2磁盘 3说明:如果有一个文件要写入 RAID 2,则该文件会被分成数据位分别同步写入到不同的磁盘中,DATA1 与DATA2 进行海明码运算后别写入校验盘中,其他部分依次类推。RAID2 对大数据量的读写具有很高的性能,但少量数据的读写时性能反而不好,该磁盘阵列至少需要 3 块硬盘。异或运算:0异或0=00异或1=11异或0=11异或1=0数据 1:10010110数据 2:0101

7、1001异或运算结果:11001111从这些数据可以看出任何一组数据丢失,都可以由另外两组数据运算恢复!2.4 RAID 3(字节级别的校验式条带)该级别的磁盘阵列可以参考RAID 2 的读写原理,仅数据分割的为字节。2.5 RAID 4 (数据块级别的校验式条带)该级别的磁盘阵列与RAID 5 类似,仅校验数据被写入至同一块硬盘中。RAID 4|-|(_DATA1_)(_DATA2_)(_DATA3_)(_Parity1_)(_DATA4_)(_DATA5_)(_DATA6_)(_Parity2_)(_DATA7_)(_DATA8_)(_DATA9_)(_Parity3_)(_DATA10_

8、)(_DATA11_)(_DATA12_)(_Parity4_)()()()()()()()()磁盘 1磁盘 2磁盘 3磁盘 42.6 RAID 5 (数据块级别的分布式校验条带)RAID 5|-|(_DATA1_)(_DATA2_)(_Parity1_)(_DATA3_)(_Parity2_)(_DATA4_)(_Parity3_)(_DATA5_)(_Parity4_)()()()()()()磁盘 1磁盘 2磁盘 3*3. LinuxRAID 实例(红色字体为自己输入令,其他为命令的输出)第一步:查看磁盘信息如下:#rootlocalhost # fdisk -lDisk /dev/sda

9、: 21.4 GB, 21474836480 bytes255 heads, 63 sectors/track, 2610 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesDeviceBootStartEndBlocksIdSystem/dev/sda1*11310439183Linux/dev/sda214261020860402+8eLinuxLVMDisk /dev/sdb:2147MB, 2147483648bytes255 heads, 63 sectors/track, 261 cylindersUnits = cy

10、linders of 16065 * 512 = 8225280 bytesDisk /dev/sdb doesnt contain a valid partition tableDisk /dev/sdc: 2147 MB, 2147483648 bytes255 heads, 63 sectors/track, 261 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesDisk /dev/sdc doesnt contain a valid partition tableDisk /dev/sdd: 2147 MB, 2147

11、483648 bytes255 heads, 63 sectors/track, 261 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesDisk /dev/sdd doesnt contain a valid partition table由以上信息可以看出本机有sdb,sdc,sdd 三块硬盘未分区,如果需要在 Linux 中实现软RAID,可以将每块硬盘分一个区组建 RAID,同样可以对硬盘分多个区实现软 RAID,这里每块硬盘分两个区。第二步:创建硬盘分区:rootlocalhost # fdisk /dev/sdbDe

12、vice contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabelBuilding a new DOS disklabel. Changes will remainemory only,until you decideto write them. Aftert, of course, the previouscontent wont berecoverable.Warning: invalidflag 0 x0000 of partition table 4 will be corrected by

13、w(rite)d(m for help): n新建分区daction可选择的分区类型有Primary(主分区)和extended(扩展分区)eextendedpprimary partition (1-4)p这里选择主分区Partitionnumber (1-4): 1 分区输入为 1cylinder (1-261, default 1):默认从第一个磁柱开始分区(回车即可)Using default value 1Last cylinder or +size or +sizeM or +sizeK(1-261,default261):+1G输入分区大小(注意+)一下方法与上面相同,创建第二个

14、分区:d(m for help): ndactioneextendedpprimary partition (1-4)pPartitionnumber (1-4): 2cylinder (124-261, default 124):(回车)Using defaultvalue 124Last cylinderor +size or +sizeM or +sizeK(124-261, default 261):(回车)Using defaultvalue 261这里输入t,用来改变分区类型d (m for help): tPartition number (1-4): 1 注明修改第一个分区的类

15、型Hex code (type L to list codes): fd格式为fd,即raid。不清楚格式时可以输入L 查看所有分区类型d (m for help): tPartition number (1-4): 2Hex code (typeL to list codes): fdChanged systemtype of partition 2 to fd (Linux raidautodetect)d (m forhelp): p查看硬盘分区结果Disk /dev/sdb:2147 MB, 2147483648 bytes255 heads, 63 sectors/track, 26

16、1cylindersUnits = cylindersof16065 * 512=8225280bytesDevice BootStartEndBlocksIdSystem/dev/sdb11123987966fdLinuxraid autodetect/dev/sdb21242611108485fdLinuxraid autodetectd (m for help):w保存退出The partition table has beenaltered!Calling ioctl() to re-reartition table.Syncing disks.*其他两块硬盘执行相同操作!*rootl

17、ocalhost # partprobe -a自动识别新建的分区第三步:创建RAID,这里仅以RAID0 与RAID5 为例,其余级别的磁盘阵列操作方法类似RAID 01.创建RAID 0rootlocalhost # mdadm-C/dev/md0 -l 0 -n3/dev/sdb1/dev/sdc1/dev/sdd1mdadm: array /dev/md0 started.注释:-C 为创建(create), -l 指定RAID 级别(level),-n 说明磁盘个数2.查看RAID 0 详细信息rootlocalhost # mdadm -detail/dev/md0查看md0 信息/

18、dev/md0:Ver: 0.90Creation Time :Thu May 17 03:46:552012创建时间Raid Level: raid0RAID 级别Array Size: 2963520(2.83 GiB3.03GB)RAID 磁盘空间Raid Devi: 3磁盘个数Total Devi: 3Preferred Minor: 0Persistence: Superblockis persistentUpdate Time: Thu May 1703:46:552012Se:cleanActive Devi: 3活动磁盘个数Working Devi: 3工作磁盘个数Failed

19、 Devi:0错误磁盘个数Spare Devi:0空闲磁盘个数CkSize:64KUUID : 62e9bd3e:f4dcf02d:319e2a62:8099eb72设备UUIDEvents : 0.1NumberMajorMinorRaidDevie08170activesync/dev/sdb118331activesync/dev/sdc128492activesync/dev/sdd1格式化并使用:rootlocalhost #mkfs.ext3/dev/md0rootlocalhost #mkdir/raid0;mount/dev/md0/raid0RAID 51.创建RAID 5r

20、ootlocalhost #mdadm-C/dev/md1 -l 5 -n 3 -x1/dev/sdb2/dev/sdc2/dev/sdd2/dev/sde2mdadm: array /dev/md1 started.注释:-C 为创建(create), -l 指定RAID 级别(level),-n 说明磁盘个数,x 指定备用设备个数(因为RAID 5 允许设备的损坏,因此指定一个备用设备,可以在活动设备损坏时自动替换为备用设备)2.查看RAID 5 详细信息rootlocalhost # mdadm -detail/dev/md1/dev/md1:Ver: 0.90Creation Time

21、 :Thu May 17 03:55:31 2012Raid Level: raid5Array Size: 2216832 (2.11 GiB 2.27 GB)Used Dev Size:1108416(1082.62MiB1135.02 MB)Raid Devi: 3活动磁盘为 3Total Devi:4总磁盘数为 4,1 个为备用磁盘Preferred Minor:1Persistence: Superblockis persistentUpdate Time: Thu May 1703:56:20 2012Se: cleanActive Devi:3Working Devi: 4Fai

22、led Devi:0Spare Devi:1Layout: left-symmetricCkSize :64KUUID : 6c02bbcd:2a7a1d34:940e387b:ce0fa999Events : 0.2NumberMajorMinorRaidDevie08180activesync/dev/sdb218341activesync/dev/sdc228502activesync/dev/sdd23866-spare/dev/sde2 该磁盘为备用磁盘格式化并使用:rootlocalhost#mkfs.ext3/dev/md1rootlocalhost#mkdir/raid5;mo

23、unt/dev/md1/raid54.性能测试对比*普通磁盘:写入模拟*rootlocalhost # time dd if=/dev/zero of=txt bs=1M count=10001000+0 records in1000+0 records out1048576000 bytes (1.0 GB) copied, 21.7965 seconds, 48.1MB/sreal0m23.262suser0m0.001ssys0m2.209s可以看出对普通磁盘写入 1G 的数据所需总时间为 23.262 秒*RAID 0:写入模拟*rootlocalhost raid0# time dd if=/dev/zero of=txtbs=1M count=10001000+0 records in1000+0 records out1048576000 bytes (1.0 GB) copied, 3.87193 seconds, 271 MB/sreal0m4.308suser0m0.001ssys0m1.604s可以看出对RAID

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论