当前位置:文档之家› RAID技术概述

RAID技术概述

RAID技术概述RAID的形式是多种多样的,它们都是高可用性和高性能存储的骨干力量。

RAID设备的最初应用可以追溯到上世纪80年代末,而在今天,RAID已经成为我们IT生活中一个应用广泛且非常重要部分,以至于很多人已经忘记RAID这个缩写到底是什么意思。

RAID是Redundent Array of Inexpensive Disks的缩写,直译为“廉价冗余磁盘阵列”,也简称为“磁盘阵列”。

后来RAID中的字母I被改作了Independent,RAID就成了“独立冗余磁盘阵列”,但这只是名称的变化,实质性的内容并没有改变。

简单地讲,RAID技术就是利用多个硬盘的组合提供高效率及冗余的功能。

RAID这个概念最早是由1987年加州伯克利大学的David Patterson,Garth Gibson, Randy Katz提出的,他们的目标是展示一个RAID的性能可以达到或超过当时的一个单一的,大容量的,昂贵的磁盘。

在项目开发的过程中,随着频繁的磁盘失败,通过磁盘的冗余来避免磁盘数据的丢失已经是必须的了。

这样一来,该项目的研究对于将来的RAID变得至关重要。

一、RAID 的优点RAID的采用为存储系统(或者服务器的内置存储)带来巨大利益,其中提高传输速率和提供容错功能是最大的优点。

RAID通过同时使用多个磁盘,提高了传输速率。

RAID通过在多个磁盘上同时存储和读取数据来大幅提高存储系统的数据吞吐量(Throughput)。

在RAID 中,可以让很多磁盘驱动器同时传输数据,而这些磁盘驱动器在逻辑上又是一个磁盘驱动器,所以使用RAID可以达到单个磁盘驱动器几倍、几十倍甚至上百倍的速率。

这也是RAID最初想要解决的问题。

因为当时CPU的速度增长很快,而磁盘驱动器的数据传输速率无法大幅提高,所以需要有一种方案解决二者之间的矛盾。

RAID最后成功了。

通过数据校验,RAID可以提供容错功能。

这是使用RAID的第二个原因,因为普通磁盘驱动器无法提供容错功能,如果不包括写在磁盘上的CRC(循环冗余校验)码的话。

RAID容错是建立在每个磁盘驱动器的硬件容错功能之上的,所以它提供更高的安全性。

在很多RAID模式中都有较为完备的相互校验/恢复的措施,甚至是直接相互的镜像备份,从而大大提高了RAID系统的容错度,提高了系统的稳定冗余性。

二、RAID 的分类1、软件RAID软件RAID(software-based RAID)是基于软件的RAID。

它可能是最普遍的被使用的RAID阵列,这是由于现在的很多服务器操作系统都集成了RAID功能。

比如 Microsoft Windows NT, Windows 2000, Windows 2003, Novell Netware 和 Linux。

软件RAID集成于操作系统,有比较低的始投资,但是它的CPU占用率非常高,并且只有非常有限的阵列操作功能。

由于软件RAID是在操作系统下实现RAID,软RAID不能保护系统盘。

亦即系统分区不能参与实现RAID。

有些操作系统,RAID的配置信息存在系统信息中,而不是存在硬盘上;当系统崩溃,需重新安装时,RAID的信息也会丢失。

尤其是软件RAID 5是CPU的增强方式,会导致30%-40%I/O功能的降低, 所以不建议使用软件RAID在增强的处理器服务器中。

硬RAID最主流最常见的是基于总线的RAID,是由内建RAID功能的主机总线适配器(Host bus adapter)控制,直接连接到服务器的系统总线上的。

总线RAID具有较软RAID更多的功能但是又不会显著的增加总拥有成本。

这样可以极大节省服务器系统CPU和操作系统的资源。

从而使网络服务器的性能获得很大的提高。

支持很多先进功能如:热插拔,热备盘,SAF-TE,阵列管理,等等。

并且其价格相对较低。

它的缺点是要占用PCI总线带宽,所以PCI I/O 可能变成阵列速度的瓶颈。

HostRAID 是一种把初级的RAID功能附加给SCSI或者SATA卡而产生的产品。

它是基于硬和软RAID之间的一种产品。

它把软件RAID 功能集成到了产品的固件上,从而提高了产品的功能和容错能力。

它可以支持RAID 0和RAID 1。

RAID通过为数据提供校验的方式提高了可用性,在如今各类存储系统中,RAID已经成为不可或缺的重要组成部分,为保护数据发挥重要作用。

三、RAID常用术语磁盘阵列模式是把几个磁盘的存储空间整合起来,形成一个大的单一连续的存储空间。

NetRAID控制器利用它的SCSI通道可以把多个磁盘组合成一个磁盘阵列。

简单的说,阵列就是由多个磁盘组成,并行工作的磁盘系统。

需要注意的是作为热备用的磁盘是不能添加到阵列中的。

阵列跨越是把2个,3个或4个磁盘阵列中的存储空间进行再次整合,形成一个具有单一连续存储空间的逻辑驱动器的过程。

RAID控制器可以跨越连续的几个阵列,但每个阵列必需由相同数量的磁盘组成,并且这几个阵列必需具有相同的RAID级别。

就是说,跨越阵列是对已经形成了的几个阵列进行再一次的组合,RAID 1,RAID 3和RAID 5跨越阵列后分别形成了RAID 10,RAID 30和RAID 50。

RAID控制器具有两种高速缓存策略,分别为Cached I/O(缓存I/O)和Direct I/O(直接I/O)。

缓存I/O总是采用读取和写入策略,读取的时候常常是随意的进行缓存。

直接I/O在读取新的数据时总是采用直接从磁盘读出的方法,如果一个数据单元被反复地读取,那么将选择一种适中的读取策略,并且读取的数据将被缓存起来。

只有当读取的数据重复地被访问时,数据才会进入缓存,而在完全随机读取状态下,是不会有数据进入缓存的。

在微软的Windows NT,2000或Novell公司的NetWare 4.2,5操作系统下,可以在线增加目前卷的容量。

在Windows 2000或NetWare 5系统下,准备在线扩容时,要禁用虚拟容量选项。

而在Windows NT或NetWare 4.2系统下,要使虚拟容量选项可用才能进行在线扩容。

在NetRAID控制器的快速配置工具中,设置虚拟容量选项为可用时,控制器将建立虚拟磁盘空间,然后卷能通过重构把增加的物理磁盘扩展到虚拟空间中去。

重构操作只能在单一阵列中的唯一逻辑驱动器上才可以运行,你不能在跨越阵列中使用在线扩容。

在两个磁盘控制器之间传送数据和控制信息的电通路。

在物理驱动器(硬盘)的所有数据区上写零的操作过程,格式化是一种纯物理操作,同时对硬盘介质做一致性检测,并且标记出不可读和坏的扇区。

由于大部分硬盘在出厂时已经格式化过,所以只有在硬盘介质产生错误时才需要进行格式化。

当一个正在使用的磁盘发生故障后,一个空闲、加电并待机的磁盘将马上代替此故障盘,此方法就是热备用。

热备用磁盘上不存储任何的用户数据,最多可以有8个磁盘作为热备用磁盘。

一个热备用磁盘可以专属于一个单一的冗余阵列或者它也可以是整个阵列热备用磁盘池中的一部分。

而在某个特定的阵列中,只能有一个热备用磁盘。

当磁盘发生故障时,控制器的固件能自动的用热备用磁盘代替故障磁盘,并通过算法把原来储存在故障磁盘上的数据重建到热备用磁盘上。

数据只能从带有冗余的逻辑驱动器上进行重建(除了RAID 0以外),并且热备用磁盘必须有足够多的容量。

系统管理员可以更换发生故障的磁盘,并把更换后的磁盘指定为新的热备用磁盘。

热交换模式允许系统管理员在服务器不断电和不中止网络服务的情况下更换发生故障的磁盘驱动器。

由于所有的供电和电缆连线都集成在服务器的底板上,所以热交换模式可以直接把磁盘从驱动器笼子的插槽中拔除,操作非常简单。

然后把替换的热交换磁盘插入到插槽中即可。

热交换技术仅仅在RAID 1,3,5,10,30和50的配置情况下才可以工作。

智能输入输出是一种工业标准,输入输出子系统的体系结构完全独立于网络操作系统,并不需要外部设备的支持。

I2O使用的驱动程序可以分为操作系统服务模块(operating system services module,OSMs)和硬件驱动模块(hardware device modules,HDMs)。

在逻辑驱动器的数据区上写零的操作过程,并且生成相应的奇偶位,使逻辑驱动器处于就绪状态。

初始化将删除以前的数据并产生奇偶校验,所以逻辑驱动器在此过程中将一并进行一致性检测。

没有经过初始化的阵列是不能使用的,因为还没有生成奇偶区,阵列会产生一致性检测错误。

输入输出处理器是NetRAID控制器的指令中心,实现包括命令处理,PCI和SCSI总线的数据传输,RAID的处理,磁盘驱动器重建,高速缓存的管理和错误恢复等功能。

阵列中的虚拟驱动器,它可以占用一个以上的物理磁盘。

逻辑驱动器把阵列或跨越阵列中的磁盘分割成了连续的存储空间,而这些存储空间分布在阵列中的所有磁盘上。

NetRAID控制器能设置最多8个不同容量大小的逻辑驱动器,而每个阵列中至少要设置一个逻辑驱动器。

输入输出操作只能在逻辑驱动器处于在线的状态下才运行。

由逻辑磁盘形成的虚拟盘,也可称为磁盘分区。

冗余的一种类型,一个磁盘上的数据在另一个磁盘上存在一个完全相同的副本即为镜像。

RAID 1和RAID 10使用的就是镜像。

在数据存储和传输中,字节中额外增加一个比特位,用来检验错误。

它常常是从两个或更多的原始数据中产生一个冗余数据,冗余数据可以从一个原始数据中进行重建。

不过,奇偶校验数据并不是对原始数据的完全复制。

在RAID中,这种方法可以应用到阵列中的所有磁盘驱动器上。

奇偶校验位还可以组成专用的奇偶校验方式,在专用奇偶校验中,奇偶校验数据可分布在系统中所有的磁盘上。

如果一个磁盘发生故障,可以通过其它磁盘上的数据和奇偶校验数据重建出这个故障磁盘上的数据。

当此项设置为可用时,在重构过程中(非重建),所有的数据将一直保存在磁盘上,直到重构完成后才删除。

这样如果在重构过程中发生掉电,将不会发生数据丢失的危险情况。

RAID级别为不同冗余类型在逻辑驱动器上的应用。

它可以提高逻辑驱动器的故障容许度和性能,但也会减少逻辑驱动器的可用容量,每个逻辑驱动器都必须指定一个RAID级别。

RAID 1,3和5的逻辑驱动器使用了单一的阵列,。

简单地说,RAID 0是没有冗余,它可由一个或多个物理驱动器组成;RAID 1是镜像冗余,它在一个阵列中需要两个物理驱动器;RAID 3为专用奇偶校验冗余,即所有的冗余数据都存储在一个专用的磁盘上,一个阵列至少由三个物理驱动器组成;RAID 5为分散奇偶校验冗余,即阵列中的冗余数据分散存储在阵列中所有磁盘上,它的一个阵列中至少需要三个物理驱动器。

RAID 10,30和50是逻辑驱动器跨越阵列而组成的。

N etRAID控制器提供了三种读取策略,分别为Read-Ahead(预读),Normal (标准)和Adaptive(适中)。

相关主题