Raid技术及生产应用场景
1. 什么是Raid
Raid是一种把多块独立的磁盘(物理磁盘)按不同的方式组合起来形成一个磁盘组,在逻辑上看起来就像一个大磁盘,从而提供比单个物理磁盘更大的存储容量或更高的存储性能,同时又提供不同级别数据冗余备份的一种技术
2. Raid级别介绍
把多个物理磁盘通过不同技术方式组成磁盘阵列,这个不同的技术方式就被称为R级别
Raid级别一般有:Raid0、Raid 1、Raid 0+1(也称Raid 10)、Raid2、Raid3、Raid4、Raid5、Raid6、Raid7、Raid53
生产场景常用的Raid的级别:Raid0、Raid1、Raid5、Raid10
Raid级别 |
关键优点 |
关键缺点 |
实际应用场景 |
RAID0 |
读写速度最快 |
没有冗余 |
MySQL Slave,集群的节点RS |
RAID1 |
100%冗余,镜像 |
读写性能一般,成本高 |
单独的,数据重要且不能宕机的业务,监控,系统盘 |
RAID5 |
具备一定性能和冗余,可以坏一块盘。读性能不错 |
写入性能不高 |
一般的业务都可以用 |
RAID0+1 RAID10 |
读写速度很快,100%冗余 |
成本高 |
性能和冗余要求都很好的业务。数据库主库和存储的主节点 |
下表提供了7级RAID的简单定义
RAID级别 |
描述 |
速度 |
容错性能 |
RAID 0 |
磁盘分段 |
磁盘并行输入/出 |
无 |
RAID 1 |
磁盘镜像 |
没有提高 |
有(允许单个磁盘错) |
RAID 2 |
磁盘分段加海明码纠错 |
没有提高 |
有(允许单个磁盘错) |
RAID 3 |
磁盘分段加专用奇偶校验盘 |
磁盘并行输入/出 |
有(允许单个磁盘错) |
RIAD 4 |
需异步磁盘 |
磁盘并行输入/出 |
有(允许单个磁盘错) |
RAID 5 |
磁盘分段加奇偶校验分布在各磁盘 |
磁盘并行输入/出比RAID0稍慢 |
有(允许单个磁盘错) |
RAID 0+1 |
速度快、完全容错、成本高 |
速度快 |
有(允许50%个磁盘错) |
3. Raid技术分类
Raid分为软Raid和硬Raid:
(1) 软Raid技术
在Linux下安装系统过程中或者安装系统后通过自带的软件就能实现软Raid功能,使用软Raid可省去买昂贵的硬件RAID和福建就能极大地增强磁盘的IO性能和可靠性,而且配置灵活、管理方便
(2) 硬Raid技术
基于硬件的RAID解决方案比基于软件RAID技术在使用性能上和服务性能上更胜一筹,具体表现在检测和修复多位错误的能力、错误磁盘自动检测和阵列重建等方面。在实际的生产环境中,基于硬件的RAID解决方案应该是我们的首选。互联网公司常用的生产DELL服务器,默认的就会支持RAID0、1,如果要支持RAID5、10,就要买RAID卡
4. LVM和RAID的区别
LVM,逻辑管理卷,最大用途是可以灵活的管理磁盘的容量,让磁盘分区任意放大或缩小,便于更好的管理磁盘空间。如果过分强调性能与备份,那还是应该使用RAID功能
LVM:灵活的管理磁盘的容量,有一定的冗余和性能提升,但很弱
RAID:更侧重性能和数据的安全,但是不能任意的放大或缩小分区,必须重新分区。
用RAID最直接的好处就是:
1) 提升数据安全性
2) 提升数据读写性能
3) 提供更大的单一逻辑磁盘数据容量存储
5. RAID0描述
RAID0 在所有RAID级别中有最高的存储性能。原理是把连续的数据分散到多个盘上存取。
要制作RAID 0至少要有一块物理盘,一般用来做RAID的不同磁盘大小最好一样(所有RAID都是如此),充分发挥并行优势。数据分散存储于不同的磁盘上,在读写的时候可以实现并发。但是没有容错功能,任何一个磁盘的损坏会导致整个RAID数据全部丢失。
逻辑图:
RAID 0的特点使其特比适用于对性能要求较高,而对数据安全不太在乎的领域,生产应用场景:
1) 负载均衡集群下面的多个相同RS节点服务器
2) 分布式文件存储下面的主节点或CHUNK SERVER
3) MySQL主从复制的多个Slave服务器
4) 对性能要求很高,对冗余要求很低的相关业务
6. RAID1描述
RAID 1的宗旨是最大限度的保证用户数据的可用性和可修复性。RAID 1的操作方式是把用户写入一个磁盘的数据百分之百地自动复制到另外一个磁盘上,从而实现存储双份的数据。
整个RAID大小等于两个磁盘中最小的那块磁盘的容量,数据有50%的冗余,在存储同时写入两块磁盘,实现了数据完整备份,但相对降低了写入性能,但是读取数据时可以并发,相当于两块Raid 0的读取效率(有待实践验证)
逻辑图:
当读取数据时,系统先从RAID1的源盘读取数据,如果读取数据成功,则系统不会去管备份盘上的数据;如果读取源盘数据失败,则系统自动转而读取备份盘上的数据,不会造成用户工作任务的中断(有待验证)
7. RAID 5描述
RAID 5是一种存储性能、数据安全和存储成本兼顾的存储解决方案。
RAID 5需要三块或以上的物理磁盘,可以提供热备实现故障的恢复;采用就校验,可靠性强,且只有同时坏两块硬盘时数据才会完全损坏,只损坏一块硬盘时,系统会根据就校验位重建数据,临时提供服务;此时如果有热备盘,系统还会自动在热备盘上重建故障磁盘上的数据
RAID 5不对存储的数据进行备份,而是把数据和相对应的奇偶校验信息存储到组成RAID5的各个不同的磁盘上。当RAID 5的一个磁盘数据发生损坏后,利用剩下的数据和相应的奇偶校验信息去恢复被损坏的数据。
关注点 |
描述 |
容量 |
损失一块盘的数据容量 |
性能 |
RAID 5具有和RAID 0相似的数据读取速度,只是多了一个奇偶校验信息,写入数据的速度比单个磁盘的写入操作稍慢 |
冗余 |
RAID 5数据安全保障程度比RAID 1低而磁盘空间利用率要比RAID 1高 |
场合 |
RAID 5可以理解是RAID 0 RAID 1的折中方案。适合对性能和冗余都有一定要求,又都不是十分高的情况。MySQL的主从库都可以,存储也可以 |
特点 |
容量损失一块盘,写数据通过奇偶校验 |
8. RAID 10
大话存储对RAID 10的介绍
国外资料
9. DELL R710使用6块盘实践RAID制作
RAID 0 支持1块盘到多快盘,容量是所有盘之和
RAID 1 只支持2块盘,容量损失一块盘
RAID 5 最少三块盘,不管硬盘数量多少,只损失一块盘容量
RAID 6 最少4块盘,5块盘也可以,损失2块盘,不管硬盘多少,只损失两块盘容量
RAID 10 最少4块盘,必须偶数块硬盘,不管硬盘多少,都损失一半的容量,不支持虚拟磁盘
常见的RAID 比较
RAID 级别 |
RAID 0 |
RAID 1 |
RAID 5 |
RAID 10 |
别名 |
带区 |
镜像 |
分布奇偶校验 |
镜像阵列带区 |
容错性 |
无 |
有 |
有 |
有 |
冗余类型 |
无 |
复制 |
奇偶校验 |
复制 |
热备盘选项 |
无 |
有 |
有 |
有 |
读性能 |
高 |
低 |
高 |
较高 |
随机写性能 |
高 |
低 |
低 |
较高 |
连续写性能 |
高 |
低 |
低 |
较高 |
最小硬盘数 |
1 |
仅2 |
3 |
4 |
可用容量 |
N*单块硬盘容量,N一般不大于16 |
(N/2)*单块硬盘容量,N一般不大于16 |
(N-1)*单块硬盘容量,N一般不大于16 |
(N/2)*单块硬盘容量,N一般不大于16 |
典型应用环境 |
迅速读写,安全性能要求不高,如图形工作站 |
随机写入数据,安全性要求高,如服务器、数据库存储领域 |
随机数据传输,安全性要求高,如数据库,存储 |
数据量大,安全性要求高,如银行,金融 |