RAID软件磁盘阵列
- 一、RAID概述
- 1、RAID的概念
- 2、RAID 中主要有三个关键概念和技术
- 二、常用RAID介绍
- 1、RAID 0(条带化存储)— 性能最佳
- 2、RAID 1(镜像存储)— 完整备份
- 3、RAID 5 — 性能与数据备份的均衡考虑
- 4、RAID 6 — 更强大的数据备份
- 5、RAID 1+0(先做镜像,再做条带)
- 6、RAID 0+1(先做条带,在做镜像)
- 7、RAID 5+0
- 8、主流 RAID 等级技术对比
一、RAID概述
1、RAID的概念
- 磁盘阵列的全名是(Redundant Arrays of Inexpensive Disk,RAID),中文意思是独立冗余磁盘阵列。
- RAID可以通过技术(软件或者硬件)将多个较小的磁盘整合成为一个较大的磁盘设备,而这个较大的磁盘功能可不止存储而已,它还具有数据保护的功能,整个RAID由于选择的级别(level)不同,而使得整合后的磁盘具有不同的功能,
- 基本常用的level有以下几种RAID0, RAID1, RAID5,RAID6,RAID1+0等
2、RAID 中主要有三个关键概念和技术
镜像( Mirroring )将数据复制到多个磁盘,一方面可以提高可靠性,另一方面可并发从两个或多个副本读取数据来提高读性能。显而易见,镜像的写性能要稍低, 确保数据正确地写到多个磁盘需要更多的时间消耗。
数据条带( Data Stripping )将数据分片保存在多个不同的磁盘,多个数据分片共同组成一个完整数据副本,这与镜像的多个副本是不同的,它通常用于性能考虑。数据条带具有更高的并发粒度,当访问数据时,可以同时对位于不同磁盘上数据进行读写操作, 从而获得非常可观的 I/O 性能提升 。
数据校验( Data parity )利用冗余数据进行数据错误检测和修复,冗余数据通常采用海明码、异或操作等算法来计算获得。利用校验功能,可以很大程度上提高磁盘阵列的可靠性、鲁棒性和容错能力。不过,数据校验需要从多处读取数据并进行计算和对比,会影响系统性能。
不同等级的 RAID 采用一个或多个以上的三种技术,来获得不同的数据可靠性、可用性和 I/O 性能。至于设计何种 RAID (甚至新的等级或类型)或采用何种模式的 RAID ,需要在深入理解系统需求的前提下进行合理选择,综合评估可靠性、性能和成本来进行折中的选择。
二、常用RAID介绍
1、RAID 0(条带化存储)— 性能最佳
RAID 0连续以位或字节为单位分割数据,并行读/写于多个磁盘上,因此具有很高的数据传输率,但它没有数据冗余;
RAID 0只是单纯地提高性能,并没有为数据的可靠性提供保证,而且其中的一个磁盘失效将影响到所有数据;
RAID 0不能应用于数据安全性要求高的场合。
补充知识:数据冗余
1.1 关系数据库中的数据冗余主要是指关系数据库中同一信息数据的重复存贮。
1.2 数据冗余浪费了宝贵的资源,应尽量减少。但关系数据库中为实现一些功能有些数据冗余是必需的。必需的数据冗余主要用于以下用途:
- 数据间建立联系,如两表间通过共同属性建立联系;
- 数据恢复,如建立备份文件以备正式文件被破坏时恢复;
- 数据核查,如设立数据校验位可以检查数据在存贮、传输等过程中的改变;
- 数据使用的便利,如为了查看数据的直观,使用数据的方便、高效。
- 减少数据通讯开销,如分布式数据库在不同场地重复。
数据冗余的缺点:
a) 存储空间的浪费。
b) 数据交互和数据库访问执行效率降低。
但适当的数据冗余又能加快查询
数据冗余究竟是好是坏还是要根据自己所做的项目进行合理的取舍
2、RAID 1(镜像存储)— 完整备份
通过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生互为备份的数据;
当原始数据繁忙时,可直接从镜像拷贝中读取数据,因此RAID 1 可以提高读取性能;
RAID 1是磁盘阵列中单位成本最高的,但提供了很高的数据安全性和可用性。当个磁盘失效时, 系统可以自动切换到镜像磁盘上读写,而不需要重组失效的数据。
3、RAID 5 — 性能与数据备份的均衡考虑
N (N>=3) 块盘组成阵列,一份数据产生N-1个条带,同时还有1份校验数据,共N份数据在N块盘上循环均衡存储
N块盘同时读写,读性能很高,但由于有校验机制的问题,写性能相对不高;
(N-1) /N磁盘利用率;
可靠性高,允许坏1块盘,不影响所有数据(如果坏了2块硬盘,则恢复不了)
RAID5取代了RAID3,RAID3是将校验数据放在一个磁盘上,所以此硬盘是动态频繁变化的,故障率极高
RAID5将校验数据分摊到每个硬盘上,可靠性高
4、RAID 6 — 更强大的数据备份
N (N>=4) 块盘组成阵列,(N-2) /N磁盘利用率;
与RAID 5相比,RAID 6增加了第二个独立的奇偶校验信息块;
两个独立的奇偶系统使用不同的算法,即使两块磁盘同时失效也不会影响数据的使用;
相对于RAID 5有更大的“写损失"因此写性能较差。
5、RAID 1+0(先做镜像,再做条带)
N (偶数,N>=4)块盘两两镜像后,再组合成一个RAID 0;
N/2磁盘利用率;
N/2块盘同时写入,N块盘同时读取;
性能高,可靠性高。
6、RAID 0+1(先做条带,在做镜像)
读写性能与RAID 10相同;
安全性低于RAID 10;
使用较少。
?
7、RAID 5+0
RAID-50是RAID-5与RAID-0的结合。此配置在RAID-5的子磁盘组的每个磁盘上进行包括奇偶信息在内的数据的剥离。每个RAID-5子磁盘组要求三个硬盘。RAID-50具备更高的容错能力,因为它允许某个组内有一个磁盘出现故障,而不会造成数据丢失。而且因为奇偶位分部于RAID-5子磁盘组上,故重建速度有很大提高。优势:更高的容错能力,具备更快数据读取速率的潜力。需要注意的是:磁盘故障会影响吞吐量。故障后重建信息的时间比镜像配置情况下要长。
8、主流 RAID 等级技术对比
RAID级别 | RAID 0 | RAID 1 | RAID 5 | RAID 6 | RAID 1+0 | RADI 5+0 |
---|---|---|---|---|---|---|
别名 | 条带 | 镜像 | 分布奇偶校验条带 | 双重奇偶校验条带 | 镜像加条带 | 条带加条带 |
容错性 | 无 | 有 | 有 | 有 | 有 | 有 |
冗余类型 | 无 | 有 | 有 | 有 | 有 | 有 |
热备份选择 | 无 | 有 | 有 | 有 | 有 | 有 |
读性能 | 高 | 低 | 高 | 高 | 高 | 高 |
需要磁盘数 | n≥1 | 2n (n≥1) | n≥3 | n≥4 | 2n(n≥2)≥4 | 3n(n>=2)>=6 |
可用容量 | 全部 | 50% | (n-1)/n | (n-2)/n | 50% | (n-1)/n |
补充知识:
热备份与冷备份
冷备份发生在数据库已经正常关闭的情况下,当正常关闭时会提供给我们一个完整的数据库。冷备份时将要害性文件拷贝到另外的位置的一种说法。对于备份Oracle信息而言,冷备份时最快和最安全的方法。冷备份的优点是:
是非常快速的备份方法(只需拷文件)
轻易归档(简单拷贝即可)
轻易恢复到某个时间点上(只需将文件再拷贝回去)
能与归档方法相结合,做数据库“最佳状态”的恢复。
低度维护,高度安全。
但冷备份也有如下不足:
单独使用时,只能提供到“某一时间点上”的恢复。
再实施备份的全过程中,数据库必须要作备份而不能作其他工作。也就是说,在冷备份过程中,数据库必须是关闭状态。
若磁盘空间有限,只能拷贝到磁带等其他外部存储设备上,速度会很慢。
不能按表或按用户恢复。
? 热备份是在数据库运行的情况下,采用archivelog mode方式备份数据库的方法。所以,假如你有昨天夜里的一个冷备份而且又有今天的热备份文件,在发生问题时,就可以利用这些资料恢复更多的信息。热备份要求数据库在Archivelog方式下操作,并需要大量的档案空间。一旦数据库运行在archivelog状态下,就可以做备份了。
热备份的优点是:
可在表空间或数据库文件级备份,备份的时间短。
备份时数据库仍可使用。
可达到秒级恢复(恢复到某一时间点上)。
可对几乎所有数据库实体做恢复
恢复是快速的,在大多数情况下数据库仍工作时恢复。
热备份的不足是:
不能出错,否则后果严重
若热备份不成功,所得结果不可用于时间点的恢复
困难于维护,所以要非凡仔细小心。