磁盘阵列技术

2023-11-08T11:28:22

概述

磁盘阵列(Redundant Arrays of Independent Drives,RAID),简单地说,就是讲若干块独立磁盘构成具有冗余能力的阵列。 他将很多块磁盘组合到一起构成一个磁盘组,来提升整个磁盘系统的读写性能及安全性。 利用同位检查(Parity Check)的观念,通过数据冗余实现磁盘系统中任何一个磁盘故障时整个磁盘系统仍然可以继续工作。 对于服务器开发和运维人员,RAID 是必须了解和使用的磁盘系统管理方式,随着时代的进步,越来越多的人在家庭、日常工作中使用简单的磁盘阵列来增加磁盘读写性能或提高数据安全性,甚至一些主板都已经提供了支持 RAID 的功能。 然而,RAID 概念很多,有时候会引起混淆,本文我们来详细介绍一下 RAID 技术的概念特征、基本原理、关键技术、各种等级和发展现状等方面的内容。

RAID

RAID 是 1988 年美国加州大学伯克利分校的 D. A. Patterson 教授等首次在论文中提出的,起初,RAID 指的是廉价磁盘阵列,主要目的是为了节省购置大容量磁盘的成本,此后,RAID 咨询委员会将 Inexpensive 替换为 Independent 就是我们今日的 RAID,但其实质内容并没有改变。 RAID 主要利用数据条带、镜像和数据校验技术来获取高性能、可靠性、容错能力和扩展性,根据运用或组合运用这三种技术的策略和架构,拥有 RAID0 ~ RAID6 等的等级,近年来,存储厂商不断推出诸如 RAID7 、 RAID10/01 、 RAID50 、 RAID53 、 RAID100 等 RAID 等级,但这些并无统一的标准。 目前业界公认的标准是 RAID0 ~ RAID5 ,除 RAID2 外的四个等级被定为工业标准,而在实际应用领域中使用最多的 RAID 等级是 RAID0 、 RAID1 、 RAID3 、 RAID5 、 RAID6 和 RAID10。 从实现角度看, RAID 主要分为软 RAID、硬 RAID 以及软硬混合 RAID 三种。软 RAID 所有功能均有操作系统和 CPU 来完成,没有独立的 RAID 控制 / 处理芯片和 I/O 处理芯片,效率自然最低。硬 RAID 配备了专门的 RAID 控制 / 处理芯片和 I/O 处理芯片以及阵列缓冲,不占用 CPU 资源,但成本很高。软硬混合 RAID 具备 RAID 控制 / 处理芯片,但缺乏 I/O 处理芯片,需要 CPU 和驱动程序来完成,性能和成本 在软 RAID 和硬 RAID 之间。 目前来看,广泛采用的是以硬 RAID 为主的方式来实现 RAID,但各操作系统也都在不同程度上支持某些级别的软 RAID。

关键技术

RAID 主要有三个关键技术: 1. 镜像(Mirroring) 2. 数据条带(Data Stripping) 3. 校验(Data Parity) 不同的 RAID 级别会采用上述一到多个技术来获得不同的数据可靠性、可用性或IO性能。

镜像

镜像技术指的是将数据复制到多个磁盘,这样,在实际的使用中,只要有一个磁盘没有发生故障,都不影响整个磁盘系统的工作。 同时,并发地在多个磁盘上读取也可以提高读取性能,但是,相对的,镜像技术的写性能相对较低,每次写入都必须确保多个磁盘写成功。

数据条带

将数据分片保存在多个不同的磁盘,多个数据分片共同组成一个完整数据副本。 这与镜像的多个副本是不同的,它通常用于性能考虑。 数据条带具有更高的并发粒度,当访问数据时,可以同时对位于不同磁盘上数据进行读写操作, 从而获得非常可观的 I/O 性能提升。

数据校验

利用冗余数据进行数据错误检测和修复的技术。 冗余数据通常采用海明码、异或操作等算法来计算获得。 利用校验功能,可以很大程度上提高磁盘阵列的可靠性、鲁棒性和容错能力。 比起镜像 50% 的冗余开销 ,数据校验要小很多,它利用校验冗余信息对数据进行校验和纠错。 不过,数据校验需要从多处读取数据并进行计算和对比,会影响系统性能。

优势

大容量、高性能、可靠性、可管理性

JBOD

JBOD 即 Just a Bunch Of Disks,他并不是标准的 RAID 等级。 它通常用来表示一个没有控制软件提供协调控制的磁盘集合,将多个物理磁盘串联起来,提供一个巨大的逻辑磁盘。 JBOD 的存放机制是由第一块磁盘开始按顺序往后存储,当前磁盘存储空间用完后,再依次往后面的磁盘存储数据。 它的存储性能完全等同于单块磁盘,而且也不提供数据安全保护,只是简单提供一种扩展存储空间的机制, JBOD 可用存储容量等于所有成员磁盘的存储空间之和。

RAID0

RAID 是一种简单、无数据冗余的数据带化技术,实际上它并不算是一种真正的 RAID,因为他不提供任何形式的冗余策略。 RAID0 将所在磁盘条带化后组成大容量存储空间,将数据分散存储在所有磁盘中,以独立访问方式实现多块磁盘的并发访问。 由于可以并发执行 I/O 操作,总线带宽得到充分利用。再加上不需要进行数据校验,RAID0 的性能在所有 RAID 等级中是最高的。 理论上讲,一个由 n 块磁盘组成的 RAID0 ,它的读写性能是单个磁盘性能的 n 倍,但由于总线带宽等多种因素的限制,实际的性能提升低于理论值。 RAID0 具有低成本、高读写性能、 100% 的高存储空间利用率等优点,但是它不提供数据冗余保护,一旦数据损坏,将无法恢复。 因此, RAID0 一般适用于对性能要求严格但对数据安全性和可靠性不高的应用,如视频、音频存储、临时数据缓存空间等。

RAID1

RAID1 称为镜像,它将数据完全一致地分别写到工作磁盘和镜像 磁盘,它的磁盘空间利用率为 50% RAID1 在数据写入时,响应时间会有所影响,但是读数据的时候没有影响。 RAID1 提供了最佳的数据保护,一旦工作磁盘发生故障,系统自动从镜像磁盘读取数据,不会影响用户工作。 RAID1 与 RAID0 刚好相反,是为了增强数据安全性使两块 磁盘数据呈现完全镜像,从而达到安全性好、技术简单、管理方便。 RAID1 拥有完全容错的能力,但实现成本高。 RAID1 应用于对顺序读写性能要求高以及对数据保护极为重视的应用,如对邮件系统的数据保护。

RAID5

至少使用3块硬盘(也可以更多)组建RAID5,一个磁盘发生损坏后,不会影响数据的完整性,从而保证了数据安全。常用在服务器数据存储中。

当损坏的磁盘被替换后,RAID还会自动利用剩下奇偶校验信息去重建此磁盘上的数据,来保持RAID5的高可靠性。

当前页面是本站的「Baidu MIP」版。发表评论请点击:完整版 »