1.1 RAID介绍
RAID是磁盘冗余阵列(redundant array of independent disks)简称磁盘阵列。
RAID是一种把多块独立的物理磁盘按不同的raid级别组合起形成一个磁盘组,在逻辑上看是一块大的磁盘,可以提供比单个物理磁盘更大的存储容量或更高的存储性能,同时又能提供不同级别数据冗余备份的一种技术。
用RAID最直接的好处是:
-
提升数据安全性
-
提升数据读写性能
-
提供更大的单一逻辑磁盘数据容量存储
1.2.实现模式
-
软件磁盘阵列(software RAID),主要由电脑主板CPU处理数组存储作业,缺点为耗损较多CPU资源运算RAID,优点是价格低。
-
硬件磁盘阵列(Hardware RAID),RAID卡上内置处理器,不需要服务器的CPU运算。优点是读写性能最快,不占用服务器资源,可以用于任何操作系统,缺点是其售价很高,但在企业生产环境首选硬RAID解决方案。
DELL服务器,默认就会支持RAID0,1,如果RAID5,10就需要买raid卡了。
1.3 raid与LVM区别
LVM是在硬盘的硬盘分区上又创建一个逻辑层,以方便系统管理硬盘分区系统。
区别:
LVM:灵活的管理磁盘的容量,有一定的冗余和性能功能,但很弱。
RAID:更侧重性能和数据安全。
1.4 RAID级别间优缺点对比
运维生产环境常用RAID级别为RAID0,RAID1, RAID5 ,RAID10
RAID级别 | 最少磁盘要求 | 关键优点 | 关键缺点 | 实际应用场景 |
RAID0 | 1块 | 读写速度快 | 没有任何冗余 | MySQL Slave(数据库的从库),集群的节点RS |
RAID1 | 2块(只能) | 100%冗余,镜像 | 读写性能一般,成本高 | 单独的,数据很重要,且不能宕机的业务,监控,系统盘 |
RAID5 | 3块 | 具有一定性能和冗余,可以坏一块盘 | 写入性能不高 | 一般的业务都可以用 |
RAID10 | 4块 | 读写速度很快,100%冗余 | 成本高 | 性能和冗余要求很好的业务。数据库主库和存储的主节点。 |
2.1 raid 0介绍
RAID 0 又称为Stripe(条带化)或striping(条带模式),它在所有RAID级别中具有最高的存储性能(磁盘容量不浪费,读写很快)。
RAID0 提高存储性能的原理是把连续的数据分散到多个磁盘上存取,这样,系统有数据请求就可以被多个磁盘并行的执行,每个磁盘执行属于它自己的那部分数据请求,这种数据上的并行操作可以充分利用总线的带宽,显著提高磁盘整体存取性能。
要制作RAID0至少要1块物理磁盘,例如DELL服务器带有RAID卡,如果不做RAID就不能使用磁盘,除非将磁盘直接接入主板,因此将一块磁盘坐RAID0使用。
2.2 raid0 特点
关注点 | 描述 |
容量 | 是5块盘加在一起的容量。在所有RAID级别中具有最高的存储性能,原理是把连续的数据分散到多个磁盘上存取。 |
性能 | 理论上磁盘读写速度比单盘提升5倍,但由于总线带宽等多种因素的影响,实际的提升速率肯定会低于理论值,但是,大量数据并行传输与串行传输比较,提速效果显然毋庸置疑,磁盘越多倍数越小。 |
冗余 | 无任何冗余,坏1块盘,整个RAID就不能用了 |
场合 | 适合于大规模并发读写,但对数据安全性要求不高的情况,如mysql slave(数据块从库),集群的节点RS(服务员) |
特点 | 速度快,无冗余,容量无损失 |
3.1RAID 1 介绍
RAID 1 又称为Mirror 或Mirrooring(镜像),它的宗旨是最大限度的保证用户数据的可用性和可修复性,RAID 1 的操作方式是把用户写入硬盘的数据百分之百的自动复制到另外一个硬盘上,从而实现存储双份的数据。
要制作RAID 1,只支持两块盘,整个RAID大小等于两个磁盘中最小的那块的容量,因此,最好使用同样大小的磁盘,在存储时同时写入两块磁盘,实现数据完整备份,但相对降低了写入性能,但是读取数据时可以并发,相当于两块RAID 0的读取效率。
关注点 | 描述 |
容量 | 损失50%的数据容量,列如2块1T的盘,做完RAID1后容量为1T |
性能 | Mirror不能提高存储性能,理论上写性能和单盘差不多。 |
冗余 | 在所有RAID级别中,RAID1提供最高的数据安全保障,冗余度100% |
特点 | 100%冗余,容量损失半。 |
4.1 RAID 5介绍
RAID 是一种存储性能,数据安全和存储成本兼顾的存储解决方案。
RAID 5需要三块或以上的物理磁盘,可以提供热备盘实现故障恢复,采用奇偶校验,可靠性强,只有同时损坏2块盘时数据才会损坏,只损坏1块盘时,系统会根据存储的奇偶校验位重建数据,临时提供服务,此时如果有热备盘,系统还会自动在热备盘上重建故障磁盘上的数据。
数据存储方式如图所示DP为D1,D2,D3的奇偶校验信息,其他以此类推,由图看出,RAID5 不对存储的数据进行备份,而是把数据和相对应的奇偶校验信息存储到组成的RAID5的各个磁盘上,并且奇偶校验信息和相对应的数据分布存储于不同的磁盘上,当RAID5的一个磁盘数据发生损坏后,利用剩下的数据和相应的奇偶校验信息区恢复被损坏的数据。
关注点 | 描述 |
性能 | RAID 5 具有和RAID 0 相近的数据读取速度,只是多了奇偶校验信息,写入数据速度比单个磁盘写入操作稍慢。 |
容量 | 损失一块盘的数据容量10*600G 9*600G |
冗余 | 可损失一块盘,RAID数据安全保障程度比RAID 1 低而磁盘空间利用率要比raid 1 高 |
场合 | RAID 5 可以理解为是RAID 0 和RAID 1的折中方案,适合对性能和冗余都有一定要求,又都不是十分高的情况。 mysql的主从库都可以,存储也可以,普通的服务器为了减少维护成本,又保持一定冗余和读性能都可以做RAID 5 |
特点 | 容量损失一块盘,写数据通过奇偶校验,RAID 1和 RAID 0的折中方案。 |
5.1 raid10介绍
RAID 1+0 也被称为RAID 10标准,实际是将RAID 1和RAID 0标准结合的产物,在连续地以位或字节为单位分割数据并且并行读/写多个磁盘的同时,为每一块磁盘作磁盘镜像进行冗余。它的优点是同时拥有RAID 0的超凡速度和RAID 1的数据高可靠性,但是CPU占用率同样也更高,而且磁盘的利用率比较低。
极高的读写效率和较高的数据保护、恢复能力
注意一下Raid 10 和 Raid01的区别:
RAID01又称为RAID0+1,先进行条带存放(RAID0),再进行镜像(RAID1)。
RAID10又称为RAID1+0,先进行镜像(RAID1),再进行条带存放(RAID0)。
关注点 | 描述 |
性能 | 极高的读写效率和较高的数据保护、恢复能力 |
冗余 | RAID10提供100%的数据冗余 |
应用场合 | RAID 10适用于数据库存储服务器等需要高性能、高容错但对容量要求不大的场合 |
特点 | RAID 1和RAID 0标准结合的产物 |