RAID是磁盘冗余阵列(redundant array of independent disks)简称磁盘阵列。mysql
RAID是一种把多块独立的物理磁盘按不一样的raid级别组合起造成一个磁盘组,在逻辑上看是一块大的磁盘,能够提供比单个物理磁盘更大的存储容量或更高的存储性能,同时又能提供不一样级别数据冗余备份的一种技术。sql
用RAID最直接的好处是:数据库
提高数据安全性数组
提高数据读写性能安全
提供更大的单一逻辑磁盘数据容量存储服务器
软件磁盘阵列(software RAID),主要由电脑主板CPU处理数组存储做业,缺点为耗损较多CPU资源运算RAID,优势是价格低。并发
硬件磁盘阵列(Hardware RAID),RAID卡上内置处理器,不须要服务器的CPU运算。优势是读写性能最快,不占用服务器资源,能够用于任何操做系统,缺点是其售价很高,但在企业生产环境首选硬RAID解决方案。运维
DELL服务器,默认就会支持RAID0,1,若是RAID5,10就须要买raid卡了。ide
LVM是在硬盘的硬盘分区上又建立一个逻辑层,以方便系统管理硬盘分区系统。性能
区别:
LVM:灵活的管理磁盘的容量,有必定的冗余和性能功能,但很弱。
RAID:更侧重性能和数据安全。
运维生产环境经常使用RAID级别为RAID0,RAID1, RAID5 ,RAID10
RAID级别 |
最少磁盘要求 |
关键优势 |
关键缺点 |
实际应用场景 |
RAID0 |
1块 |
读写速度快 |
没有任何冗余 |
MySQL Slave(数据库的从库),集群的节点RS |
RAID1 |
2块(只能) |
100%冗余,镜像 |
读写性能通常,成本高 |
单独的,数据很重要,且不能宕机的业务,监控,系统盘 |
RAID5 |
3块 |
具备必定性能和冗余,能够坏一块盘 |
写入性能不高 |
通常的业务均可以用 |
RAID10 |
4块 |
读写速度很快,100%冗余 |
成本高 |
性能和冗余要求很好的业务。数据库主库和存储的主节点。 |
RAID 0 又称为Stripe(条带化)或striping(条带模式),它在全部RAID级别中具备最高的存储性能(磁盘容量不浪费,读写很快)。
RAID0 提升存储性能的原理是把连续的数据分散到多个磁盘上存取,这样,系统有数据请求就能够被多个磁盘并行的执行,每一个磁盘执行属于它本身的那部分数据请求,这种数据上的并行操做能够充分利用总线的带宽,显著提升磁盘总体存取性能。
要制做RAID0至少要1块物理磁盘,例如DELL服务器带有RAID卡,若是不作RAID就不能使用磁盘,除非将磁盘直接接入主板,所以将一块磁盘坐RAID0使用。
关注点 |
描述 |
容量 |
是5块盘加在一块儿的容量。在全部RAID级别中具备最高的存储性能,原理是把连续的数据分散到多个磁盘上存取。 |
性能 |
理论上磁盘读写速度比单盘提高5倍,但因为总线带宽等多种因素的影响,实际的提高速率确定会低于理论值,可是,大量数据并行传输与串行传输比较,提速效果显然毋庸置疑,磁盘越多倍数越小。 |
冗余 |
无任何冗余,坏1块盘,整个RAID就不能用了 |
场合 |
适合于大规模并发读写,但对数据安全性要求不高的状况,如mysql slave(数据块从库),集群的节点RS(服务员) |
特色 |
速度快,无冗余,容量无损失 |
RAID 1 又称为Mirror 或Mirrooring(镜像),它的宗旨是最大限度的保证用户数据的可用性和可修复性,RAID 1 的操做方式是把用户写入硬盘的数据百分之百的自动复制到另一个硬盘上,从而实现存储双份的数据。
要制做RAID 1,只支持两块盘,整个RAID大小等于两个磁盘中最小的那块的容量,所以,最好使用一样大小的磁盘,在存储时同时写入两块磁盘,实现数据完整备份,但相对下降了写入性能,可是读取数据时能够并发,至关于两块RAID 0的读取效率。
关注点 |
描述 |
容量 |
损失50%的数据容量,列如2块1T的盘,作完RAID1后容量为1T |
性能 |
Mirror不能提升存储性能,理论上写性能和单盘差很少。 |
冗余 |
在全部RAID级别中,RAID1提供最高的数据安全保障,冗余度100% |
特色 |
100%冗余,容量损失半。 |
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的折中方案。 |
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标准结合的产物 |