传统磁盘的劣势:
影响计算机性能的组件一般包括: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 |
RAID的实现分为:硬件RAID、软件RAID。
MDADM(多磁盘管理)
1、每种操作系统都有软件RAID的实现
2、在Linux中软件RAID通过mdadm这个程序实现
3、Mdadm支持的的RAID级别有RAID0,RAID1,RAID5,RAID6;
4、Mdadm可以基于多块硬盘、分区或逻辑卷创建软件RAID
5、创建好的软件RAID对应的/dev/mdn,n为第几个RAID,如创建第一个RAID为/dev/md0,第二个 为/dev/md1
6、RAID的信息保存在/proc/mdstat文件中,或者通过mdadm命名查看。
创建软件RAID
关于mdadm命令创建软件RAID的几个参数:
-c: | 创建一个新的RAID |
-a: | 自动创建对应的设备 |
-l: | 指定要创建的RAID级别 |
-n: | 指定硬盘的数量 |
创建软RAID示例及基本步骤:
1、创建RAID 0
Mdadm �CC /dev/md0 �Ca yes �Cl 0 �Cn 2 /dev/sdb /dev/sdc
2、创建RAID 1
Mdadm �CC /dev/md0 �Ca yes �Cl 1 �Cn 2 /dev/sdb /dev/sdc
3、创建RAID 5
Mdadm �CC /dev/md0 �Ca yes �Cl 5 �Cn 3 /dev/sdb /dev/sdc /dev/sdd
4、创建RAID 6
Mdadm �CC /dev/md0 �Ca yes �Cl 6 �Cn 4 /dev/sdb /dev/sdc /dev/sdd /dev/sde
5、我们也可以使用-x 参数指定一个备份磁盘,备份磁盘一般不使用,当出现故障磁盘时,指定的备
份磁盘可以自动上线工作:
Mdadm �CC /dev/md0 �Ca yes �Cl 5 �Cn 3 �Cx /dev/sdb /dev/sdc /dev/sdd /dev/sde
6、创建好RAID之后,我们需要创建一个配置文件:
Mdadm �CD �Cscan >/etc/mdadm.conf
7、创建文件系统之后挂载使用
Mkfs.ext4 /dev/md0 Mount /dev/md0 /mnt
查看RAID信息:
1、我们可以使用mdadm命令查看相关信息
Mdadm �CD /dev/md0
2、/proc中的文件也包含RAID相关信息:
Cat /etc/mdstat
控制RAID:
1、可以通过以下命令关闭一个RAID,关闭前先卸载:
Mdadm �Cs /dev/md0
2、通过以下命令可以启用指定的RAID:
Mdadm �CR /dev/md0
3、清除RAID 信息
Mdadm �Czero-superblock /dev/md0
模拟故障:
1、实验环境下,我们可以通过以下命令模拟一个磁盘的故障
Mdadm /dev/md0 -f /dev/sdb
2、之后,我们可以将故障磁盘移除
Mdadm /dev/md0 -r /dev/sdb
3、换上新硬盘后,我们可以将新硬盘添加到RAID中:
Mdadm /dev/md0 �Ca /dev/sdb