RAID学习总结
2015-12-25 13:59
309 查看
RAID简介:
RAID全称为独立磁盘冗余阵列(Redundant Array ofIndependent Disks),其主要技术目标就是把多块磁盘以不同的方式组合起来,形成一个逻辑磁盘;通过定义不同的组合级别,来满足实际生产中对数据可靠性和安全性的不同要求。常见的RAID级别由RAID0-RAID6,以及相关RAID组合如:RAID01,RAID10,RAID50等,不同的级别并没有高低之分,只是在实际生产中满足不同的需求;RAID级别之简述:
RAID0称为条带化(Striping)存储:将数据分割成块后分别存储在不同磁盘中,以提条磁盘的整 体读写速度,并将磁盘的容量扩大为n个磁盘之和;但是此级别没有提供数据冗余。如果阵列 中某磁盘坏掉会导致数据丢 失,无法修复的状况。做此阵列至少需要2块硬盘。 RAID1:镜像存储(mirroring),没有数据校验。数据被同等地写入两个或多个磁盘中,写入速度会比较慢,但读取速度会比较快。磁盘利用率低。如果用两个不同大小的磁盘建立RAID1,可用空间是磁盘空间较小的那一个。做此阵列至少需要2块硬盘 RAID2-RAID:此三种阵列只是在RAID0的基础上做了些改良,增加了一块硬盘做数据校验。此三种RAID阵列需要至少3块硬盘。 RAID5: 奇偶校验(XOR),数据以块分段条带化存储。校验信息交叉地存储在所有的数据盘上。RAID5把数据和相对应的奇偶校验信息存储到组成RAID5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上,其中任意N-1块磁盘上都存储完整的数据,也就是 说有相当于一块磁盘容量的空间用于存储奇偶校验信息。因此当RAID5的一个磁盘发生损坏 后,不会影响数据的完整性,从而保证了数据安全。当损坏的磁盘被替换后,RAID还会自动 利用剩下奇偶校验信息去重建此磁盘上的数据,来保持RAID5的高可靠性。做此阵列也需要至少3块硬盘。 RAID6:类似RAID5,但是增加了第二个独立的奇偶校验信息块,两个独立的奇偶系统使用不同的算法,数据的可靠性非常高,即使两块磁盘同时失效也不会影响数据的使用。但RAID 6需要分配给 奇偶校验信息更大的磁盘空间,相对于RAID 5有更大的“写损失”,因此“写性能”非常差。做此阵列需要至少4块硬盘。 RAID01: 顾名思义,是RAID0和RAID1的结合。先做条带(RAID0),再做镜像(RAID1)。 RAID10:是RAID1和RAID0的结合。但是先做镜像(RAID1),再做条带(RAID0) RAID的创建: RAID1篇: 第一步:我们准备4个分区(为了后面组建RAID10,先一次性创建4个分区),大小都为2G,使用fdisk命令来创建4个大小为2G的逻辑分区。 注意,在创建分区时,选择完大小后,要将那块分区的ID改为fd,才能组建RAID, 这是因为fd 对应的是Linuxraid auto,只有它能组建RAID。
![](http://s3.51cto.com/wyfs02/M02/78/73/wKiom1Z82cjCkvaXAAHlQ9Kd69A727.jpg)
创建了四个分区: /dev/sdb5 /dev/sdb6 /dev/sdb7 /dev/sdb8第二步:用partx –a /dev/sdb 重读分区表信息;
![](http://s2.51cto.com/wyfs02/M00/78/71/wKioL1Z82gKQUMwjAAARzYaYMo8211.jpg)
第三步:然后用mdadm命令将/dev/sdb5和/dev/sd6建RAID阵列; mdadm:命令选项说明:-l指定等级 -n磁盘个数 -C创建一个RAID –c指定chunk大小
![](http://s1.51cto.com/wyfs02/M01/78/71/wKioL1Z82hmgI34iAAAZK7za-64151.jpg)
并用cat /proc/mdstat查看之;
![](http://s2.51cto.com/wyfs02/M02/78/73/wKiom1Z82hyzdbdQAAAuWdQ-nO0414.jpg)
第四步:.然后,格式化这个RAID1
![](http://s4.51cto.com/wyfs02/M01/78/73/wKiom1Z82kfgOCeGAAATXmvRB2I375.jpg)
第五步:创建挂载点目录
![](http://s4.51cto.com/wyfs02/M00/78/73/wKiom1Z82lfz4bP-AAANZUJknas232.jpg)
第六步:挂载使用:
![](http://s5.51cto.com/wyfs02/M02/78/73/wKiom1Z82mfiZONyAAAS1ivhwFc832.jpg)
另外,如果你想开机就挂载它的话,只需要编辑/etc/fstab文件,或者向里面追加一条信息就可以了,如下:/dev/md1 /media/abc ext4 defaults 0 0 即可;
RAID10篇
第一步:按照上面组建RAID1的方法将剩下的两个分区/dev/sdb7和/dev/sdb8组建成新的RAID1阵列;并查看之。
![](http://s5.51cto.com/wyfs02/M00/78/71/wKioL1Z82pqi_UMjAADWk1m1H5E144.jpg)
第二步:将两个RAID1阵列/dev/md1和/dev/md11当作两个分区,再按照组建RAID0阵列的方式组建成RAID10 ;并查看之
![](http://s3.51cto.com/wyfs02/M00/78/7B/wKioL1Z95IuyQV7JAALaqGfLPJM304.jpg)
第三步:格式化/dev/md10
![](http://s1.51cto.com/wyfs02/M01/78/73/wKiom1Z82rqS23ZiAAAV9f70_jE101.jpg)
第四步:创建挂载点目录并将/dev/md10挂载;
![](http://s2.51cto.com/wyfs02/M00/78/73/wKiom1Z82sixzolHAAAb5T__smA643.jpg)
第五步:查看验证:
![](http://s2.51cto.com/wyfs02/M01/78/7B/wKioL1Z95M3wDWrDAAEmwLjpmHw477.jpg)
RAID全称为独立磁盘冗余阵列(Redundant Array ofIndependent Disks),其主要技术目标就是把多块磁盘以不同的方式组合起来,形成一个逻辑磁盘;通过定义不同的组合级别,来满足实际生产中对数据可靠性和安全性的不同要求。常见的RAID级别由RAID0-RAID6,以及相关RAID组合如:RAID01,RAID10,RAID50等,不同的级别并没有高低之分,只是在实际生产中满足不同的需求;RAID级别之简述:
RAID0称为条带化(Striping)存储:将数据分割成块后分别存储在不同磁盘中,以提条磁盘的整 体读写速度,并将磁盘的容量扩大为n个磁盘之和;但是此级别没有提供数据冗余。如果阵列 中某磁盘坏掉会导致数据丢 失,无法修复的状况。做此阵列至少需要2块硬盘。 RAID1:镜像存储(mirroring),没有数据校验。数据被同等地写入两个或多个磁盘中,写入速度会比较慢,但读取速度会比较快。磁盘利用率低。如果用两个不同大小的磁盘建立RAID1,可用空间是磁盘空间较小的那一个。做此阵列至少需要2块硬盘 RAID2-RAID:此三种阵列只是在RAID0的基础上做了些改良,增加了一块硬盘做数据校验。此三种RAID阵列需要至少3块硬盘。 RAID5: 奇偶校验(XOR),数据以块分段条带化存储。校验信息交叉地存储在所有的数据盘上。RAID5把数据和相对应的奇偶校验信息存储到组成RAID5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上,其中任意N-1块磁盘上都存储完整的数据,也就是 说有相当于一块磁盘容量的空间用于存储奇偶校验信息。因此当RAID5的一个磁盘发生损坏 后,不会影响数据的完整性,从而保证了数据安全。当损坏的磁盘被替换后,RAID还会自动 利用剩下奇偶校验信息去重建此磁盘上的数据,来保持RAID5的高可靠性。做此阵列也需要至少3块硬盘。 RAID6:类似RAID5,但是增加了第二个独立的奇偶校验信息块,两个独立的奇偶系统使用不同的算法,数据的可靠性非常高,即使两块磁盘同时失效也不会影响数据的使用。但RAID 6需要分配给 奇偶校验信息更大的磁盘空间,相对于RAID 5有更大的“写损失”,因此“写性能”非常差。做此阵列需要至少4块硬盘。 RAID01: 顾名思义,是RAID0和RAID1的结合。先做条带(RAID0),再做镜像(RAID1)。 RAID10:是RAID1和RAID0的结合。但是先做镜像(RAID1),再做条带(RAID0) RAID的创建: RAID1篇: 第一步:我们准备4个分区(为了后面组建RAID10,先一次性创建4个分区),大小都为2G,使用fdisk命令来创建4个大小为2G的逻辑分区。 注意,在创建分区时,选择完大小后,要将那块分区的ID改为fd,才能组建RAID, 这是因为fd 对应的是Linuxraid auto,只有它能组建RAID。
![](http://s3.51cto.com/wyfs02/M02/78/73/wKiom1Z82cjCkvaXAAHlQ9Kd69A727.jpg)
创建了四个分区: /dev/sdb5 /dev/sdb6 /dev/sdb7 /dev/sdb8第二步:用partx –a /dev/sdb 重读分区表信息;
![](http://s2.51cto.com/wyfs02/M00/78/71/wKioL1Z82gKQUMwjAAARzYaYMo8211.jpg)
第三步:然后用mdadm命令将/dev/sdb5和/dev/sd6建RAID阵列; mdadm:命令选项说明:-l指定等级 -n磁盘个数 -C创建一个RAID –c指定chunk大小
![](http://s1.51cto.com/wyfs02/M01/78/71/wKioL1Z82hmgI34iAAAZK7za-64151.jpg)
并用cat /proc/mdstat查看之;
![](http://s2.51cto.com/wyfs02/M02/78/73/wKiom1Z82hyzdbdQAAAuWdQ-nO0414.jpg)
第四步:.然后,格式化这个RAID1
![](http://s4.51cto.com/wyfs02/M01/78/73/wKiom1Z82kfgOCeGAAATXmvRB2I375.jpg)
第五步:创建挂载点目录
![](http://s4.51cto.com/wyfs02/M00/78/73/wKiom1Z82lfz4bP-AAANZUJknas232.jpg)
第六步:挂载使用:
![](http://s5.51cto.com/wyfs02/M02/78/73/wKiom1Z82mfiZONyAAAS1ivhwFc832.jpg)
另外,如果你想开机就挂载它的话,只需要编辑/etc/fstab文件,或者向里面追加一条信息就可以了,如下:/dev/md1 /media/abc ext4 defaults 0 0 即可;
RAID10篇
第一步:按照上面组建RAID1的方法将剩下的两个分区/dev/sdb7和/dev/sdb8组建成新的RAID1阵列;并查看之。
![](http://s5.51cto.com/wyfs02/M00/78/71/wKioL1Z82pqi_UMjAADWk1m1H5E144.jpg)
第二步:将两个RAID1阵列/dev/md1和/dev/md11当作两个分区,再按照组建RAID0阵列的方式组建成RAID10 ;并查看之
![](http://s3.51cto.com/wyfs02/M00/78/7B/wKioL1Z95IuyQV7JAALaqGfLPJM304.jpg)
第三步:格式化/dev/md10
![](http://s1.51cto.com/wyfs02/M01/78/73/wKiom1Z82rqS23ZiAAAV9f70_jE101.jpg)
第四步:创建挂载点目录并将/dev/md10挂载;
![](http://s2.51cto.com/wyfs02/M00/78/73/wKiom1Z82sixzolHAAAb5T__smA643.jpg)
第五步:查看验证:
![](http://s2.51cto.com/wyfs02/M01/78/7B/wKioL1Z95M3wDWrDAAEmwLjpmHw477.jpg)
相关文章推荐
- pthread_cond_wait() 使用
- Root Pane Containers(一)
- 【Codeforces Round 272 (Div 2)A】【贪心 暴力 水题】Dreamoon and Stairs n个台阶每次走一步或两步是否有步数恰好为m倍数
- VS MainPage.xmal 设计器打不开解决方案
- 【Codeforces Round 336 (Div 2) A】【贪心 水题】Saitama Destroys Hotel 电梯只下不上 接n人到达0层最早时刻
- 用Ant发邮件 Ant MAIL
- HDU2476 String painter 区间DP
- grails 私有库相关设置
- linker command failed with exit code 1 (use -v to see invocation)
- VS 程序“***”不包含适合于入口点的静态“Main”方法
- poj 3714Raid(最近点对)
- 白手起家学习数据科学 ——Naive Bayes之“测试模型篇”(十)
- Xcode7环境下,NSURLSession/NSURLConnection HTTP load failed
- 在用户空间程序也使用container_of()
- NSSearchPathForDirectoriesInDomains用法
- NSSearchPathForDirectoriesInDomains用法
- Codeforces Round #336 (Div. 2)A. Saitama Destroys Hotel 水题
- OC中属性关键字(retain, assign, copy...)
- svn cleanup failed–previous operation has not finished; run cleanup if it was interrupted
- 'Could not find a storyboard named 'Main' in bundle NSBundle ***