RAID技术概述
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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控制器的快速配置工具中,设置虚拟容量选项为可用时,控制器将建立虚拟磁盘空间,然后卷能通过重构把增加的物理磁盘扩展到虚拟空间中去。重构操作只能在单一阵列中的唯一逻辑驱动器上才可以运行,你不能在跨越阵列中使用在线扩容。
在两个磁盘控制器之间传送数据和控制信息的电通路。
在物理驱动器(硬盘)的所有数据区上写零的操作过程,格式化是一种纯物理操作,同时对硬盘介质做一致性检测,并且标记出不可读和坏的扇区。由于大