RAID
的英文全称为:
Redundant Array of Independent Disks
。翻译成中文即为独立磁盘冗余阵列,或简称磁盘阵列。由美国加州大学在
1987
年开发成功。
RAID 的初衷主要是为大型服务器提供高端的存储功能和冗余的数据安全。 我们可以这样来理解, RAID 是一种把多块独立的硬盘(物理硬盘)按不同方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据冗余的技术。组成磁盘阵列的不同方式成为 RAID 级别( RAID Levels )。在用户看起来,组成的磁盘组就像是一个硬盘,用户可以对它进行分区,格式化等等。总之,对磁盘阵列的操作与单个硬盘一模一样。不同的是,磁盘阵列的存储性能要比单个硬盘高很多,而且在很多 RAID 模式中都有较为完备的相互校检 / 恢复的措施,甚至是直接相互的镜象备份,从而大大提高了 RAID 系统的容错度 , 提高了系统的稳定冗余性,这也是 Redundant 一词的由来。
不过,所有的 RAID 系统最大的优点则是 “ 热交换 ” 能力:用户可以取出一个存在缺陷的驱动器,并插入一个新的予以更换。对大多数类型的 RAID 来说,可以利用镜像或奇偶信息来从剩余的驱动器重建数据不必中断服务器或系统,就可以自动重建某个出现故障的磁盘上的数据。这一点,对服务器用户以及其他高要求的用户是至关重要的。
数据冗余的功能指的是:在用户数据一旦发生损坏后,利用冗余信息可以使损坏数据得以恢复,从而保障了用户数据的安全性。
RAID 以前一直是 SCSI 领域独有的产品,因为它当时的技术与成本也限制了其在低端市场的发展。今天,随着 RAID 技术的不断成熟与厂商的不断努力,我们已经能够享受到相对成本低廉的多的 IDE-RAID 系统,虽然稳定与可靠性还不能与 SCSI-RAID 相比,但它相对于单个硬盘的性能优势对广大玩家是一个不小的诱惑。随着相关设备的拥有成本和使用成本不断下降,这项技术也已获得一般电脑用户的青睐。
RAID 技术是一种工业标准,下面我们就一起来对各主要 RAID 级别做一个大致的了解。
RAID 0
RAID 0 又称为 Stripe 或 Striping ,中译为集带工作方式。它代表了所有 RAID 级别中最高的存储性能。 RAID 0 提高存储性能的原理是把连续的数据分散到多个磁盘上存取。系统传输来的数据,经过 RAID 控制器通常是平均分配到几个磁盘中,而这一切对于系统来说是完全不用干预的,每个磁盘执行属于它自己的那部分数据请求。这样,系统有数据请求就可以被多个磁盘并行的执行。这种数据上的并行操作可以充分利用总线的带宽,显著提高磁盘整体存取性能。我们可以这样简单的认为: N 个硬盘是一个容量为 N 个硬盘容量之和的 “ 大 ” 硬盘。 RAID0 的主要工作目的是获得更大的 “ 单个 ” 磁盘容量。另一方面就是多个硬盘同时读取,从而获得更高的存取速度。例如一个由两个硬盘组成的 Raid 系统中,系统向两个磁盘组成的逻辑硬盘( RADI 0 磁盘组)发出的 I/O 数据请求被转化为 2 项操作,其中的每一项操作都对应于一块物理硬盘。通过建立 RAID 0 ,原先顺序的数据请求被分散到所有的两块硬盘中同时执行。从理论上讲,两块硬盘的并行操作使同一时间内磁盘读写速度提升了 2 倍。虽然由于总线带宽等多种因素的影响,实际的提升速率肯定会低于理论值。但是,大量数据并行传输与串行传输比较,提速效果还是非常明显的。
RAID 0 最大的缺点是不提供数据冗余,其安全性大大降低,构成阵列的任何一块硬盘的损坏都将带来灾难性的数据损失。
RAID 0 具有的特点,使其不适用于关键任务环境,但是,它却非常适合于特别适用于对性能要求较高的视频生产和编辑或图像编辑领域。对个人用户, RAID 0 也是提高硬盘存储性能的绝佳选择。
RAID 1
RAID 1 又称为 Mirror 或 Mirroring ,中译为镜像方式。这种工作方式的出现完全是为了数据安全考虑的,因为在整个镜像的过程中,只有一半的磁盘容量是有效的,因为另一半用来存放同这一半完全一样的数据,也就是数据的冗余了。同 RAID0 相比,它是另一个极端。 RAID0 首要考虑的是磁盘的速度和容量,忽略安全;而 RAID1 首要考虑的是数据的安全性,容量可以减半、速度可以不变。它的宗旨是最大限度的保证用户数据的可用性和可修复性。
RAID 1 的操作方式是把用户写入硬盘的数据百分之百地自动复制到另外一个硬盘上。当读取数据时,系统先从 RAID 0 的源盘读取数据,如果读取数据成功,则系统不去管备份盘上的数据;如果读取源盘数据失败,则系统自动转而读取备份盘上的数据,不会造成用户工作任务的中断。当然,我们应当及时地更换损坏的硬盘并利用备份数据重新建立 Mirror ,避免备份盘在发生损坏时,造成不可挽回的数据损失。 由于对存储的数据进行百分之百的备份,在所有 RAID 级别中, RAID 1 提供最高的数据安全保障。同样,由于数据的百分之百备份,备份数据占了总存储空间的一半,因而, Mirror 的磁盘空间利用率低,存储成本高。
Mirror 虽不能提高存储性能,但由于其具有的高数据安全性,使其尤其适用于存放重要数据,如服务器和数据库存储等领域。
RAID 0+1
正如其名字一样 RAID 0+1 是 RAID 0 和 RAID 1 的组合形式,也称为 RAID 10 。它的出现就是为了达到既高速又安全目的, RAID10 也可以简单的理解成两个分别由多个磁盘组成的 RAID0 阵列再进行镜像;其实反过来理解也没有错。
以四个磁盘组成的 RAID 0+1 为例, RAID 0+1 是存储性能和数据安全兼顾的方案。它在提供与 RAID 1 一样的数据安全保障的同时,也提供了与 RAID 0 近似的存储性能。
由于 RAID 0+1 也通过数据的 100% 备份提供数据安全保障,因此 RAID 0+1 的磁盘空间利用率与 RAID 1 相同,存储成本高。
构建 RAID 0+1 阵列的成本投入大,数据空间利用率低。不是种经济高效的磁盘阵列解决方案。但特别适用于既有大量数据需要存取,同时又对数据安全性要求严格的领域,如银行、金融、商业超市、政府各种档案管理等。
RAID 3
RAID 3 采用的是一种较为简单的校验实现方式。将数据做 XOR 运算,产生 Parity Data 后,在将数据和 Parity Data 以并行存取模式写入一个专门的存放所有校验数据的磁盘中,而在剩余的磁盘中创建带区集分散数据的读写操作。因此具备并行存取模式的优点和缺点。 RAID 3 所存在的最大一个不足同时也是导致 RAID 3 很少被人们采用的原因就是校验盘很容易成为整个系统的瓶颈。我们已经知道 RAID 3 会把数据的写入操作分散到多个磁盘上进行,然而不管是向哪一个数据盘写入数据,都需要同时重写校验盘中的相关信息。因此,对于那些经常需要执行大量写入操作的应用来说,校验盘的负载将会很大,无法满足程序的运行速度,从而导致整个 RAID 系统性能的下降。 RAID 3 的并行存取模式,需要 RAID 控制器特别功能的支持,才能达到磁盘驱动器同步控制,而且上述写入性能的优点,以目前的 Caching 技术,都可以将其取而代之,因此一般认为 RAID 3 的应用,将逐渐淡出市场。
RAID 4
RAID 4 是采取独立存取模式,它的每一笔传输[ Strip ]资料较长,而且可以执行 Overlapped I/O ,因此其读取的性能很好。但是由于使用单一专属的 Parity Disk 来存放 Parity Data ,因此每次写操作都需要访问奇偶盘,就会造成系统很大的瓶颈。 RAID 4 在商业应用中很少使用 .
RAID 5
RAID 5 是一种存储性能、数据安全和存储成本兼顾的存储解决方案。
RAID 5 也是目前应用最广泛的 RAID 技术。各块独立硬盘进行条带化分割,相同的条带区进行奇偶校验(异或运算),校验数据平均分布在每块硬盘上。以 n 块硬盘构建的 RAID 5 阵列可以有 n - 1 块硬盘的容量,存储空间利用率非常高。 RAID 5 不对存储的数据进行备份,而是把数据和相对应的奇偶校验信息存储到组成 RAID5 的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上。当 RAID5 的任何一块硬盘上的数据丢失,均可以通过校验数据推算出来。它和 RAI D 3 最大的区别在于校验数据是否平均分布到各块硬盘上。 RAID 5 具有数据安全、读写速度快,空间利用率高等优点,应用非常广泛,但不足之处是如果 1 块硬盘出现故障以后,整个系统的性能将大大降低。 RAID 5 可以为系统提供数据安全保障,但保障程度要比 Mirror 低而磁盘空间利用率要比 Mirror 高。 RAID 5 具有和 RAID 0 相近似的数据读取速度,只是多了一个奇偶校验信息,写入数据的速度比对单个磁盘进行写入操作稍慢。同时由于多个数据对应一个奇偶校验信息, RAID 5 的磁盘空间利用率要比 RAID 1 高,存储成本相对较低。
RAID 5 模式适合多人多任务的存取频繁,数据量不是很大的环境,例如企业档案服务器、 WEB 服务器、在线交易系统、电子商务等等。
RAID 6
RAID 6 与 RAID 5 相比,增加了第二个独立的奇偶校验信息块。两个独立的奇偶系统使用不同的算法,数据的可靠性非常高。即使两块磁盘同时失效,也不会影响数据的使用。但需要分配给奇偶校验信息更大的磁盘空间,相对于 RAID 5 有更大的 “ 写损失 ” 。 RAID 6 的写性能非常差,较差的性能和复杂的实施使得 RAID 6 很少使用。
RAID 的初衷主要是为大型服务器提供高端的存储功能和冗余的数据安全。 我们可以这样来理解, RAID 是一种把多块独立的硬盘(物理硬盘)按不同方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据冗余的技术。组成磁盘阵列的不同方式成为 RAID 级别( RAID Levels )。在用户看起来,组成的磁盘组就像是一个硬盘,用户可以对它进行分区,格式化等等。总之,对磁盘阵列的操作与单个硬盘一模一样。不同的是,磁盘阵列的存储性能要比单个硬盘高很多,而且在很多 RAID 模式中都有较为完备的相互校检 / 恢复的措施,甚至是直接相互的镜象备份,从而大大提高了 RAID 系统的容错度 , 提高了系统的稳定冗余性,这也是 Redundant 一词的由来。
不过,所有的 RAID 系统最大的优点则是 “ 热交换 ” 能力:用户可以取出一个存在缺陷的驱动器,并插入一个新的予以更换。对大多数类型的 RAID 来说,可以利用镜像或奇偶信息来从剩余的驱动器重建数据不必中断服务器或系统,就可以自动重建某个出现故障的磁盘上的数据。这一点,对服务器用户以及其他高要求的用户是至关重要的。
数据冗余的功能指的是:在用户数据一旦发生损坏后,利用冗余信息可以使损坏数据得以恢复,从而保障了用户数据的安全性。
RAID 以前一直是 SCSI 领域独有的产品,因为它当时的技术与成本也限制了其在低端市场的发展。今天,随着 RAID 技术的不断成熟与厂商的不断努力,我们已经能够享受到相对成本低廉的多的 IDE-RAID 系统,虽然稳定与可靠性还不能与 SCSI-RAID 相比,但它相对于单个硬盘的性能优势对广大玩家是一个不小的诱惑。随着相关设备的拥有成本和使用成本不断下降,这项技术也已获得一般电脑用户的青睐。
RAID 技术是一种工业标准,下面我们就一起来对各主要 RAID 级别做一个大致的了解。
RAID 0
RAID 0 又称为 Stripe 或 Striping ,中译为集带工作方式。它代表了所有 RAID 级别中最高的存储性能。 RAID 0 提高存储性能的原理是把连续的数据分散到多个磁盘上存取。系统传输来的数据,经过 RAID 控制器通常是平均分配到几个磁盘中,而这一切对于系统来说是完全不用干预的,每个磁盘执行属于它自己的那部分数据请求。这样,系统有数据请求就可以被多个磁盘并行的执行。这种数据上的并行操作可以充分利用总线的带宽,显著提高磁盘整体存取性能。我们可以这样简单的认为: N 个硬盘是一个容量为 N 个硬盘容量之和的 “ 大 ” 硬盘。 RAID0 的主要工作目的是获得更大的 “ 单个 ” 磁盘容量。另一方面就是多个硬盘同时读取,从而获得更高的存取速度。例如一个由两个硬盘组成的 Raid 系统中,系统向两个磁盘组成的逻辑硬盘( RADI 0 磁盘组)发出的 I/O 数据请求被转化为 2 项操作,其中的每一项操作都对应于一块物理硬盘。通过建立 RAID 0 ,原先顺序的数据请求被分散到所有的两块硬盘中同时执行。从理论上讲,两块硬盘的并行操作使同一时间内磁盘读写速度提升了 2 倍。虽然由于总线带宽等多种因素的影响,实际的提升速率肯定会低于理论值。但是,大量数据并行传输与串行传输比较,提速效果还是非常明显的。
RAID 0 最大的缺点是不提供数据冗余,其安全性大大降低,构成阵列的任何一块硬盘的损坏都将带来灾难性的数据损失。
RAID 0 具有的特点,使其不适用于关键任务环境,但是,它却非常适合于特别适用于对性能要求较高的视频生产和编辑或图像编辑领域。对个人用户, RAID 0 也是提高硬盘存储性能的绝佳选择。
RAID 1
RAID 1 又称为 Mirror 或 Mirroring ,中译为镜像方式。这种工作方式的出现完全是为了数据安全考虑的,因为在整个镜像的过程中,只有一半的磁盘容量是有效的,因为另一半用来存放同这一半完全一样的数据,也就是数据的冗余了。同 RAID0 相比,它是另一个极端。 RAID0 首要考虑的是磁盘的速度和容量,忽略安全;而 RAID1 首要考虑的是数据的安全性,容量可以减半、速度可以不变。它的宗旨是最大限度的保证用户数据的可用性和可修复性。
RAID 1 的操作方式是把用户写入硬盘的数据百分之百地自动复制到另外一个硬盘上。当读取数据时,系统先从 RAID 0 的源盘读取数据,如果读取数据成功,则系统不去管备份盘上的数据;如果读取源盘数据失败,则系统自动转而读取备份盘上的数据,不会造成用户工作任务的中断。当然,我们应当及时地更换损坏的硬盘并利用备份数据重新建立 Mirror ,避免备份盘在发生损坏时,造成不可挽回的数据损失。 由于对存储的数据进行百分之百的备份,在所有 RAID 级别中, RAID 1 提供最高的数据安全保障。同样,由于数据的百分之百备份,备份数据占了总存储空间的一半,因而, Mirror 的磁盘空间利用率低,存储成本高。
Mirror 虽不能提高存储性能,但由于其具有的高数据安全性,使其尤其适用于存放重要数据,如服务器和数据库存储等领域。
RAID 0+1
正如其名字一样 RAID 0+1 是 RAID 0 和 RAID 1 的组合形式,也称为 RAID 10 。它的出现就是为了达到既高速又安全目的, RAID10 也可以简单的理解成两个分别由多个磁盘组成的 RAID0 阵列再进行镜像;其实反过来理解也没有错。
以四个磁盘组成的 RAID 0+1 为例, RAID 0+1 是存储性能和数据安全兼顾的方案。它在提供与 RAID 1 一样的数据安全保障的同时,也提供了与 RAID 0 近似的存储性能。
由于 RAID 0+1 也通过数据的 100% 备份提供数据安全保障,因此 RAID 0+1 的磁盘空间利用率与 RAID 1 相同,存储成本高。
构建 RAID 0+1 阵列的成本投入大,数据空间利用率低。不是种经济高效的磁盘阵列解决方案。但特别适用于既有大量数据需要存取,同时又对数据安全性要求严格的领域,如银行、金融、商业超市、政府各种档案管理等。
RAID 3
RAID 3 采用的是一种较为简单的校验实现方式。将数据做 XOR 运算,产生 Parity Data 后,在将数据和 Parity Data 以并行存取模式写入一个专门的存放所有校验数据的磁盘中,而在剩余的磁盘中创建带区集分散数据的读写操作。因此具备并行存取模式的优点和缺点。 RAID 3 所存在的最大一个不足同时也是导致 RAID 3 很少被人们采用的原因就是校验盘很容易成为整个系统的瓶颈。我们已经知道 RAID 3 会把数据的写入操作分散到多个磁盘上进行,然而不管是向哪一个数据盘写入数据,都需要同时重写校验盘中的相关信息。因此,对于那些经常需要执行大量写入操作的应用来说,校验盘的负载将会很大,无法满足程序的运行速度,从而导致整个 RAID 系统性能的下降。 RAID 3 的并行存取模式,需要 RAID 控制器特别功能的支持,才能达到磁盘驱动器同步控制,而且上述写入性能的优点,以目前的 Caching 技术,都可以将其取而代之,因此一般认为 RAID 3 的应用,将逐渐淡出市场。
RAID 4
RAID 4 是采取独立存取模式,它的每一笔传输[ Strip ]资料较长,而且可以执行 Overlapped I/O ,因此其读取的性能很好。但是由于使用单一专属的 Parity Disk 来存放 Parity Data ,因此每次写操作都需要访问奇偶盘,就会造成系统很大的瓶颈。 RAID 4 在商业应用中很少使用 .
RAID 5
RAID 5 是一种存储性能、数据安全和存储成本兼顾的存储解决方案。
RAID 5 也是目前应用最广泛的 RAID 技术。各块独立硬盘进行条带化分割,相同的条带区进行奇偶校验(异或运算),校验数据平均分布在每块硬盘上。以 n 块硬盘构建的 RAID 5 阵列可以有 n - 1 块硬盘的容量,存储空间利用率非常高。 RAID 5 不对存储的数据进行备份,而是把数据和相对应的奇偶校验信息存储到组成 RAID5 的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上。当 RAID5 的任何一块硬盘上的数据丢失,均可以通过校验数据推算出来。它和 RAI D 3 最大的区别在于校验数据是否平均分布到各块硬盘上。 RAID 5 具有数据安全、读写速度快,空间利用率高等优点,应用非常广泛,但不足之处是如果 1 块硬盘出现故障以后,整个系统的性能将大大降低。 RAID 5 可以为系统提供数据安全保障,但保障程度要比 Mirror 低而磁盘空间利用率要比 Mirror 高。 RAID 5 具有和 RAID 0 相近似的数据读取速度,只是多了一个奇偶校验信息,写入数据的速度比对单个磁盘进行写入操作稍慢。同时由于多个数据对应一个奇偶校验信息, RAID 5 的磁盘空间利用率要比 RAID 1 高,存储成本相对较低。
RAID 5 模式适合多人多任务的存取频繁,数据量不是很大的环境,例如企业档案服务器、 WEB 服务器、在线交易系统、电子商务等等。
RAID 6
RAID 6 与 RAID 5 相比,增加了第二个独立的奇偶校验信息块。两个独立的奇偶系统使用不同的算法,数据的可靠性非常高。即使两块磁盘同时失效,也不会影响数据的使用。但需要分配给奇偶校验信息更大的磁盘空间,相对于 RAID 5 有更大的 “ 写损失 ” 。 RAID 6 的写性能非常差,较差的性能和复杂的实施使得 RAID 6 很少使用。
RAID5
RAID 5 是一种存储性能、数据安全和存储成本兼顾的存储解决方案。 以四个硬盘组成的RAID 5为例,其数据存储方式如图4所示:图中,P0为D0,D1和D2的奇偶校验信息,其它以此类推。由图中可以看出,RAID 5不对存储的数据进行备份,而是把数据和相对应的奇偶校验信息存储到组成RAID5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上。当RAID5的一个磁盘数据发生损坏后,利用剩下的数据和相应的奇偶校验信息去恢复被损坏的数据。
RAID 5可以理解为是RAID 0和RAID 1的折衷方案。RAID 5可以为系统提供数据安全保障,但保障程度要比Mirror低而磁盘空间利用率要比Mirror高。RAID 5具有和RAID 0相近似的数据读取速度,只是多了一个奇偶校验信息,写入数据的速度比对单个磁盘进行写入操作稍慢。同时由于多个数据对应一个奇偶校验信息,RAID 5的磁盘空间利用率要比RAID 1高,存储成本相对较低。