Raid 原理及创建软raid
2015-09-10 14:47
501 查看
传统磁盘的劣势:
影响计算机性能的组件一般包括:cpu,主板总线IO,内存IO,磁盘IO,网卡IO。
现代处理器的性能已经很高了,但是计算机整体IO性能较弱,严重影响了计算机的性能。
现代计算机总线,内存速度可以达到5G每秒,甚至更高,但是磁盘的IO性能总体来说是较低的。
但是硬盘绝大多数是计算机的性能瓶颈。
RAID简述:
1、现代磁盘性能的缺陷:IO性能极弱,稳定性差;2、RAID(Redundant Arrays of Independent Disks,RAID),廉价磁盘冗余阵列的技术是通过多磁 盘 , 并行运行来提高计算机存储IO性能。3、RAID分为很多种类,称之为RAID级别,现代RAID共有7类,常用的有以下4类。RAID 0:读写性能RAID 1:读写性能、冗余性RAID 5:读写性能、冗余性(1块硬盘)RAID 6:读写性能、冗余性(2块硬盘)
RAID 0
RAID 0最少使用两块磁盘,在读写时,将数据分开读写到多磁盘的方式来提高读写性能。
空间利用率:所有磁盘空间之和;性 能:所有磁盘速度之和;冗余 能力:无
RAID 1
RAID 1最少使用2块磁盘,在读写时,将数据复制到多块磁盘,在读数据的时候,已提供冗余性。同时从多块硬盘中读取数据,以提高读性能。
空间利用率:所有磁盘空间最小那块;性 能:读性能为磁盘速度之和,写性能有所减弱;冗余 能力:只要一块磁盘正常,数据就正常;
RAID 5
RAID 5最少使用3块磁盘,raid5与Raid0相似,读写数据的时候会将数据分布式的读写在所有硬盘上,但是在写数据的时候会对数据进行奇偶校验运算,将奇偶校验信息同时保存在硬盘上,校验信息可以进行数据恢复时使用。
空间利用率:1-1/n;性 能:读性能接近RAID0,写性能较RAID0弱一些;冗余 能力:可以接受1块磁盘损坏;
RAID 6
RAID 6最少使用4块磁盘,raid6与Raid5相似,读写数据的时候会将数据分布式的读写在所有硬盘上,并保存奇偶校验信息,但是会比RAID5多保存一份校验信息,所以冗余性较RAID5有所提升。
空间利用率:1-2/n;性 能:读性能接近RAID5,写性能较RAID5弱一些;冗余 能力:可以接受2块磁盘损坏;
RAID实现
1、RAID机制通过使用多硬盘并行运行的方式来提高硬盘的IO性能。2、RAID分为多种,称之为RAID level ,RAID共有7级:RAID0-RAID6.3、RAID常用级别:RAID0,RAID1,RAID5,RAID6;
RAID的实现分为:硬件RAID、软件RAID。
MDADM(多磁盘管理)
1、每种操作系统都有软件RAID的实现2、在Linux中软件RAID通过mdadm这个程序实现3、Mdadm支持的的RAID级别有RAID0,RAID1,RAID5,RAID6;4、Mdadm可以基于多块硬盘、分区或逻辑卷创建软件RAID5、创建好的软件RAID对应的/dev/mdn,n为第几个RAID,如创建第一个RAID为/dev/md0,第二个 为/dev/md16、RAID的信息保存在/proc/mdstat文件中,或者通过mdadm命名查看。
创建软件RAID
关于mdadm命令创建软件RAID的几个参数:
创建软RAID示例及基本步骤:
1、创建RAID 0
查看RAID信息:
1、我们可以使用mdadm命令查看相关信息
控制RAID:
1、可以通过以下命令关闭一个RAID,关闭前先卸载:
模拟故障:
1、实验环境下,我们可以通过以下命令模拟一个磁盘的故障
影响计算机性能的组件一般包括:cpu,主板总线IO,内存IO,磁盘IO,网卡IO。
现代处理器的性能已经很高了,但是计算机整体IO性能较弱,严重影响了计算机的性能。
现代计算机总线,内存速度可以达到5G每秒,甚至更高,但是磁盘的IO性能总体来说是较低的。
磁盘类型 | 速度 |
SATA | <150M/s |
SCSI | <200M/s |
SAS | 200M/s每秒左右 |
SSD | 500M/s每秒左右 |
RAID简述:
1、现代磁盘性能的缺陷:IO性能极弱,稳定性差;2、RAID(Redundant Arrays of Independent Disks,RAID),廉价磁盘冗余阵列的技术是通过多磁 盘 , 并行运行来提高计算机存储IO性能。3、RAID分为很多种类,称之为RAID级别,现代RAID共有7类,常用的有以下4类。RAID 0:读写性能RAID 1:读写性能、冗余性RAID 5:读写性能、冗余性(1块硬盘)RAID 6:读写性能、冗余性(2块硬盘)
RAID 0
RAID 0最少使用两块磁盘,在读写时,将数据分开读写到多磁盘的方式来提高读写性能。
空间利用率:所有磁盘空间之和;性 能:所有磁盘速度之和;冗余 能力:无
RAID 1
RAID 1最少使用2块磁盘,在读写时,将数据复制到多块磁盘,在读数据的时候,已提供冗余性。同时从多块硬盘中读取数据,以提高读性能。
空间利用率:所有磁盘空间最小那块;性 能:读性能为磁盘速度之和,写性能有所减弱;冗余 能力:只要一块磁盘正常,数据就正常;
RAID 5
RAID 5最少使用3块磁盘,raid5与Raid0相似,读写数据的时候会将数据分布式的读写在所有硬盘上,但是在写数据的时候会对数据进行奇偶校验运算,将奇偶校验信息同时保存在硬盘上,校验信息可以进行数据恢复时使用。
空间利用率:1-1/n;性 能:读性能接近RAID0,写性能较RAID0弱一些;冗余 能力:可以接受1块磁盘损坏;
RAID 6
RAID 6最少使用4块磁盘,raid6与Raid5相似,读写数据的时候会将数据分布式的读写在所有硬盘上,并保存奇偶校验信息,但是会比RAID5多保存一份校验信息,所以冗余性较RAID5有所提升。
空间利用率:1-2/n;性 能:读性能接近RAID5,写性能较RAID5弱一些;冗余 能力:可以接受2块磁盘损坏;
RAID实现
1、RAID机制通过使用多硬盘并行运行的方式来提高硬盘的IO性能。2、RAID分为多种,称之为RAID level ,RAID共有7级:RAID0-RAID6.3、RAID常用级别:RAID0,RAID1,RAID5,RAID6;
RAID级别 | 速度 | 冗余性 | 磁盘利用率 |
RAID0 | 读写性能有所提升 | 0 | 所有磁盘之和 |
RAID1 | 读性能提升 | N | 一个磁盘大小 |
RAID5 | 读写性能有所提升 | 1 | 1-1/n |
RAID6 | 读写性能有所提升 | 2 | 1-2/n |
MDADM(多磁盘管理)
1、每种操作系统都有软件RAID的实现2、在Linux中软件RAID通过mdadm这个程序实现3、Mdadm支持的的RAID级别有RAID0,RAID1,RAID5,RAID6;4、Mdadm可以基于多块硬盘、分区或逻辑卷创建软件RAID5、创建好的软件RAID对应的/dev/mdn,n为第几个RAID,如创建第一个RAID为/dev/md0,第二个 为/dev/md16、RAID的信息保存在/proc/mdstat文件中,或者通过mdadm命名查看。
创建软件RAID
关于mdadm命令创建软件RAID的几个参数:
-c: | 创建一个新的RAID |
-a: | 自动创建对应的设备 |
-l: | 指定要创建的RAID级别 |
-n: | 指定硬盘的数量 |
1、创建RAID 0
Mdadm –C /dev/md0 –a yes –l 0 –n 2 /dev/sdb /dev/sdc2、创建RAID 1
Mdadm –C /dev/md0 –a yes –l 1 –n 2 /dev/sdb /dev/sdc3、创建RAID 5
Mdadm –C /dev/md0 –a yes –l 5 –n 3 /dev/sdb /dev/sdc /dev/sdd4、创建RAID 6
Mdadm –C /dev/md0 –a yes –l 6 –n 4 /dev/sdb /dev/sdc /dev/sdd /dev/sde5、我们也可以使用-x 参数指定一个备份磁盘,备份磁盘一般不使用,当出现故障磁盘时,指定的备份磁盘可以自动上线工作:
Mdadm –C /dev/md0 –a yes –l 5 –n 3 –x /dev/sdb /dev/sdc /dev/sdd /dev/sde6、创建好RAID之后,我们需要创建一个配置文件:
Mdadm –D –scan >/etc/mdadm.conf7、创建文件系统之后挂载使用
Mkfs.ext4 /dev/md0 Mount /dev/md0 /mnt
查看RAID信息:
1、我们可以使用mdadm命令查看相关信息
Mdadm –D /dev/md02、/proc中的文件也包含RAID相关信息:
Cat /etc/mdstat
控制RAID:
1、可以通过以下命令关闭一个RAID,关闭前先卸载:
Mdadm –s /dev/md02、通过以下命令可以启用指定的RAID:
Mdadm –R /dev/md03、清除RAID 信息
Mdadm –zero-superblock /dev/md0
模拟故障:
1、实验环境下,我们可以通过以下命令模拟一个磁盘的故障
Mdadm /dev/md0 -f /dev/sdb2、之后,我们可以将故障磁盘移除
Mdadm /dev/md0 -r /dev/sdb3、换上新硬盘后,我们可以将新硬盘添加到RAID中:
Mdadm /dev/md0 –a /dev/sdb本文出自 “广州、雨人” 博客,请务必保留此出处http://liulihuan.blog.51cto.com/8018739/1693436
相关文章推荐
- Linux最大线程数及最大进程数 http://blog.csdn.net/yanyiyyy/article/details/6661234
- ORA-31694: master table "BACKUP"."SYS_IMP_FULL_01" failed to load/unload
- SGU 183. Painting the balls( dp )
- HDOJ1411 校庆神秘建筑/2015HDU Summer Trainning(3) - Team 1008 (几何)
- Leetcode: Container With Most Water
- Toast.makeText(MainActivity.this, R.string.alert, Toast.LENGTH_SHORT).show(); 解释
- [LeetCode 220] Contains Duplicate III
- [LeetCode 219] Contains Duplicate II
- [LeetCode 217] Contains Duplicate
- UltraISO制作U盘启动盘安装Vmware ESXI 5.5 中途卡住解决方法
- hdu1848 Fibonacci again and again(SG游戏功能)
- http://blog.csdn.net/superhosts/article/details/15813247
- 使用SBT开发Akka第一个案例源码解析消息、main入口、MasterActor
- 使用CodeMaid自动程序排版[转]
- ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510)
- 标准模板库(STL)使用---pair
- HDU - 5009 Paint Pearls(dp+优化双向链表)
- ssh 设置超时时间 Write failed: Broken pipe
- 【游戏AI】行为树(笔记)(未完)
- HDU 5228 ZCC loves straight flush