|
说明:
该总结来自个人的技术文档总结,代号101.
一、Raid介绍
1.Raid基本情况
Raid:磁盘阵列
·把多块物理磁盘按不同方式组合起来形成磁盘,逻辑上是一块磁盘,这就是Raid技术;
·Raid可以提供比单个磁盘更大容量和更高性能,同时提供多种级别数据冗余备份;
2.Raid级别
Raid级别:把磁盘通过一定的技术方式做成Raid,技术方式即是Raid级别
·Raid级别有:Raid 0、Raid 1、Raid 2、Raid 3、Raid 4、Raid 5、Raid 6、Raid 7、Raid 10;
·生产场景中常用Raid级别为:Raid 0、Raid 1、Raid 5、Raid 10(Raid 0 + Raid 1),比较如下:
Raid级别 | 关键优点 | 关键缺点 | 实际应用场景 | Raid 0 | 读写速度最快 | 没有任何冗余 | MySQL Slave,集群的节点RS | Raid 1 | 数据100%冗余 | 读写性能一般,成本高 | 单独服务器、且数据重要、不能宕机的业务,系统盘 | Raid 5
| 具备一定性能和冗余,可以坏一块盘,读性能不错 | 写入性能不高 | 一般的业务都可以用 | Raid 10 | 读写速度快,数据100%冗余 | 成本高 | 性能和冗余要求都很高的业务,数据主库和存储的主节点 |
3.Raid技术分类
--软Raid
·使用软件实现Raid的功能;
--硬Raid
·基于硬件,性能比软Raid好;
·硬件为Raid卡(Raid控制器),可以通过磁盘接线接上多个磁盘,看下面图片:
·基于硬件的Raid是生产环境中的首选;
·有些服务器默认就支持Raid 0,1,如果需要5,10,就需要Raid卡;
·磁盘接在Raid卡上,不做Raid,是无法使用磁盘的。
4.LVM
·是Linux环境下对磁盘分区进行管理的一种机制;
·LVM,逻辑卷管理,可以让磁盘分区随意放大或缩小,灵活管理磁盘容量;
·LVM其实就是将几个物理分区或磁盘通过软件组合在一起,进行分区后,可以随意对分区的容量扩大或缩小;
·强调性能与备份,应该使用Raid。
5.使用Raid的好处
·单台服务器的性能可以通过Raid充分挖掘;
·数据安全性;
·数据读写性能;
·提供更大的单一逻辑磁盘数据容量存储,如Raid 0.
二、常用Raid级别细节介绍
1.Raid 0
·所有Raid级别中,Raid 0存储性能最高;
·Raid 0原理描述:
a.Raid 0把连续的数据分散到多个磁盘上存取
b.系统进行数据读写时,在多个磁盘上并行的执行,每个磁盘都有自己的数据请求
c.并行数据执行,可以充分利用总线带宽,提高磁盘整体存取性能
·Raid 0制作要求与建议:
a.至少需要1块物理磁盘,即1块盘接在Raid卡上,可以做Raid 0
b.做Raid 0的不同磁盘,大小最好一样,以充分发挥数据并行读写优势
·Raid 0图示:
·Raid 0如果有两块盘,理论性能为单盘的2倍,考虑总线的因素,实际低于理论值;
·Raid 0在生产场景中的应用:
a.负载均衡集群下面的多个相同RS节点服务器
b.分布式文件存储下面的主节点或CHUNK SERVER
c.MySQL主从复制的多个Slave服务器
d.对性能要求很高,对冗余要求低的相关业务
·以4块盘为例,对Raid 0进行说明:
关注点 | 描述 | 容量
| 4块盘加在一块的容量,最高存储性能,原理是把连续的数据分散到多个磁盘上存取 | 性能 | 理论上磁盘读写速度是单盘时的4倍,由于总线的因素,实际比理论低,磁盘越多倍数越小 | 冗余
| 无任何冗余,坏1块盘,整个Raid都不能用了 | 场合 | 上面有讲 | 特点
| 速度快,无冗余,容量无损失 |
2.Raid 1
·Raid 1又称为Mirror或Mirroring,即镜像;
·Raid 1描述:
a.要制作Raid 1,至少需要两块磁盘,是否仅支持2块,看实际情况
b.整个Raid 1大小,等于两个磁盘中容量最小的磁盘容量
c.数据存储时,同时写入两块磁盘,实现100%数据备份,但降低了写入性能
d.数据读取时,是先主后备(在主坏掉的情况下),还是可以并行读取,则需要实际验证
·Raid 1两块盘坏掉一块时,应尽快换盘,换盘插上就可以使用(热插拔),数据会自动做复制;
·生产场景中可以对磁盘做监控(针对盘坏的情况);
·生产场景:对性能要求不高,但对数据要求高;
·Raid 1图示:
·以2块盘为例,对Raid 1进行说明:
关注点 | 描述 | 容量
| 损失50%以上的容量。例如:2块1T的盘,做Raid 1后,容量为1T | 性能 | 不能提高存储性能,理论上写性能和单盘相关不大(认为是先写入主盘,然后主盘再复制到备盘,但还是会有一点差别);读取性能是否是2倍,即是否可以并行读取数据,以实际情况为准 | 冗余
| 可以为数据提供100%的备份,提供最高的数据冗余 | 场合 | 适用于存放重要数据,如服务器系统分区(一台服务器上可以做多个Raid)和对性能要求不高的数据库存储等领域 | 特点
| 数据100%冗余,容量损失一半以上 |
|
|
|
|
|
|
|