Raid1安全么

kuaidi.ping-jia.net  作者:佚名   更新日期:2024-07-16
RAID安全吗

RAID 012345 到底哪一种适合你,不只是成本问题,容错功能和传输性能的考虑以及未来之可扩充性都应该符合应用的需求。
RAID 在市场上的的应用,已经不是新鲜的事儿了,很多人都大略了解RAID的基本观念,以及各个不同RAID LEVEL 的区分。但是在实际应用面,我们发现,有很多使用者对于选择一个合适的RAID LEVEL,仍然无法很确切的掌握,尤其是对于RAID 0+1 (10),RAID 3,RAID 5之间的选择取舍,更是举棋不定。
本文将针对RAID 0+1/10、RAID 3以及RAID 5的工作原理和特性,作一些分析和比较,以列出这些不同RAID阶层所适合的应用,希望对各位能有原则性的帮助。

RAID条切“striped”的存取模式
在使用数据条切[Data Stripping] 的RAID 系统之中,对成员磁盘驱动器的存取方式,可分为两种:
并行存取[Paralleled Access]
独立存取[Independent Access]

RAID 2和RAID 3 是采取并行存取模式。

RAID 0、RAID 4、RAID 5及RAID 6则是采用独立存取模式。

平行存取模式

并行存取模式支持里,是把所有磁盘驱动器的主轴马达作精密的控制,使每个磁盘的位置都彼此同步,然后对每一个磁盘驱动器作一个很短的I/O数据传送,如此一来,从主机来的每一个I/O 指令,都平均分布到每一个磁盘驱动器。

为了达到并行存取的功能,RAID 中的每一个磁盘驱动器,都必须具备几乎完全相同的规格:转速必须一样;磁头搜寻速度[Access Time]必须相同;Buffer 或Cache的容量和存取速度要一致;CPU处理指令的速度要相同;I/O Channel 的速度也要一样。总而言之,要利用并行存取模式,RAID 中所有的成员磁盘驱动器,应该使用同一厂牌,相同型号的磁盘驱动器。


并行存取的基本工作原理

假设RAID中共有四部相同规格的磁盘驱动器,分别为磁盘驱动器A、B、C和D,我们在把时间轴略分为T0、T1、T2、T3和T4:

T0: RAID控制器将第一笔数据传送到A的Buffer,磁盘驱动器B、C和D的Buffer都是空的,在等待中
T1: RAID控制器将第二笔数据传送到B的Buffer,A开始把Buffer中的数据写入扇区,磁盘驱动器C和D的Buffer都是空的,在等待中
T2: RAID控制器将第三笔数据传送到C的Buffer,B开始把Buffer中的数据写入扇区,A已经完成写入动作,磁盘驱动器D和A的Buffer都是空的,在等待中
T3: RAID控制器将第四笔数据传送到D的Buffer,C开始把Buffer中的数据写入扇区,B已经完成写入动作,磁盘驱动器A和B的Buffer都是空的,在等待中
T4: RAID控制器将第五笔数据传送到A的Buffer,D开始把Buffer中的数据写入扇区,C已经完成写入动作,磁盘驱动器B和C的Buffer都是空的,在等待中

如此一直循环,一直到把从主机来的这个I/O 指令处理完毕,RAID控制器才会受处理下一个I/O 指令。重点是在任何一个磁盘驱动器准备好把数据写入扇区时,该目的扇区必须刚刚好转到磁头下。同时RAID控制器每依次传给一个磁盘驱动器的数据长度,也必须刚刚好,配合磁盘驱动器的转速,否则一旦发生miss,RAID 性能就大打折扣。

并行存取RAID的最佳应用

并行存取RAID之架构,以其精细的马达控制和分布之数据传输,将数组中每一个磁盘驱动器的性能发挥到最大,同时充分利用Storage Bus的频宽,因此特别适合应用在大型、数据连续的档案存取应用,例如:

影像、视讯档案服务器
数据仓储系统
多媒体数据库
电子图书馆
印前或底片输出档案服务器
其它大型且连续性档案服务器

由于并行存取RAID架构之特性,RAID 控制器一次只能处理一个I/O要求,无法执行Overlapping 的多任务,因此非常不适合应用在I/O次数频繁、数据随机存取、每笔数据传输量小的环境。同时,因为并行存取无法执行Overlapping 的多任务,因此没有办法"隐藏"磁盘驱动器搜寻[seek]的时间,而且在每一个I/O的第一笔数据传输,都要等待第一个磁盘驱动器旋转延迟[rotational latency],平均为旋转半圈的时间,如果使用一万转的磁盘驱动器,平均就需要等待50 usec。所以机械延迟时间,是并行存取架构的最大问题。

独立存取模式

相对于并行存取模式,独立存取模式并不对成员磁盘驱动器作同步转动控制,其对每个磁盘驱动器的存取,都是独立且没有顺序和时间间格的限制,同时每笔传输的数据量都比较大。因此,独立存取模式可以尽量地利用overlapping 多任务、Tagged Command Queuing等等高阶功能,来"隐藏"上述磁盘驱动器的机械时间延迟[Seek 和Rotational Latency]。

由于独立存取模式可以做overlapping 多任务,而且可以同时处理来自多个主机不同的I/O Requests,在多主机环境[如Clustering],更可发挥最大的性能。

独立存取RAID的最佳应用

由于独立存取模式可以同时接受多个I/O Requests,因此特别适合应用在数据存取频繁、每笔数据量较小的系统。例如:

在线交易系统或电子商务应用
多使用者数据库
ERM及MRP 系统
小文件之文件服务器

一般常用的RAID阶层,分别是RAID 0、RAID1、RAID 3、RAID 4以及RAID 5,再加上二合一型 RAID 0+1[或称RAID 10]。我们先把这些RAID级别的优、缺点做个比较:


RAID级别 相对优点 相对缺点
RAID 0 存取速度最快 没有容错
RAID 1 完全容错 成本高
RAID 3 写入性能最好 没有多任务功能
RAID 4 具备多任务及容错功能 Parity 磁盘驱动器造成性能瓶颈
RAID 5 具备多任务及容错功能 写入时有overhead
RAID 0+1/RAID 10 速度快、完全容错 成本高


接下来,我们分别针对RAID 3、RAID 5以及RAID 0+1/RAID 10作深入的讨论。

RAID 3特点与应用

RAID 3 是将数据先做XOR 运算,产生Parity Data后,在将数据和Parity Data以并行存取模式写入成员磁盘驱动器中,因此具备并行存取模式的优点和缺点。进一步来说,RAID 3每一笔数据传输,都更新整个Stripe[即每一个成员磁盘驱动器相对位置的数据都一起更新],因此不会发生需要把部分磁盘驱动器现有的数据读出来,与新数据作XOR运算,再写入的情况发生[这个情况在RAID 4和RAID 5会发生,一般称之为Read、Modify、Write Process,我们姑且译为为读、改、写过程]。因此,在所有RAID级别中,RAID 3的写入性能是最好的。

RAID 3的 Parity Data 一般都是存放在一个专属的Parity Disk,但是由于每笔数据都更新整个Stripe,因此,RAID 3的 Parity Disk 并不会如RAID 4的 Parity Disk,会造成存取的瓶颈。

RAID 3的并行存取模式,需要RAID 控制器特别功能的支持,才能达到磁盘驱动器同步控制,而且上述写入性能的优点,以目前的Caching 技术,都可以将之取代,因此一般认为RAID 3的应用,将逐渐淡出市场。

RAID 3 以其优越的写入性能,特别适合用在大型、连续性档案写入为主的应用,例如绘图、影像、视讯编辑、多媒体、数据仓储、高速数据撷取等等。

RAID 4特点与应用

RAID 4 是采取独立存取模式,同时以单一专属的Parity Disk 来存放Parity Data。RAID 4的每一笔传输[Strip]资料较长,而且可以执行Overlapped I/O,因此其读取的性能很好。

但是由于使用单一专属的Parity Disk 来存放Parity Data,因此在写入时,就会造成很大的瓶颈。因此,RAID 4并没有被广泛地应用。

RAID 5特点与应用

RAID 5也是采取独立存取模式,但是其Parity Data 则是分散写入到各个成员磁盘驱动器,因此,除了具备Overlapped I/O 多任务性能之外,同时也脱离如RAID 4单一专属Parity Disk的写入瓶颈。但是,RAI?D 5在座资料写入时,仍然稍微受到"读、改、写过程"的拖累。

由于RAID 5 可以执行Overlapped I/O 多任务,因此当RAID 5的成员磁盘驱动器数目越多,其性能也就越高,因为一个磁盘驱动器再一个时间只能执行一个 Thread,所以磁盘驱动器越多,可以Overlapped 的Thread 就越多,当然性能就越高。但是反过来说,磁盘驱动器越多,数组中可能有磁盘驱动器故障的机率就越高,整个数组的可靠度,或MTDL (Mean Time to Data Loss) 就会降低。

由于RAID 5将Parity Data 分散存在各个磁盘驱动器,因此很符合XOR技术的特性。例如,当同时有好几个写入要求发生时,这些要写入的数据以及Parity Data 可能都分散在不同的成员磁盘驱动器,因此RAID 控制器可以充分利用Overlapped I/O,同时让好几个磁盘驱动器分别作存取工作,如此,数组的整体性能就会提高很多。

基本上来说,多人多任务的环境,存取频繁,数据量不是很大的应用,都适合选用RAID 5 架构,例如企业档案服务器、WEB 服务器、在线交易系统、电子商务等应用,都是数据量小,存取频繁的应用。

RAID 0+1[RAID 10]

RAID 0+1/RAID 10,综合了RAID 0 和 RAID 1的优点,适合用在速度需求高,又要完全容错,当然经费也很多的应用。RAID 0和RAID 1的原理很简单,合起来之后还是很简单,我们不打算详细介绍,倒是要谈谈,RAID 0+1到底应该是RAID 0 over RAID 1,还是RAID 1 over RAID 0,也就是说,是把多个RAID 1 做成RAID 0,还是把多个RAID 0 做成RAID 1?

RAID 0 over RAID 1

假设我们有四台磁盘驱动器,每两台磁盘驱动器先做成RAID 1,再把两个RAID 1做成RAID 0,这就是RAID 0 over RAID 1:

(RAID 1) A = Drive A1 + Drive A2 (Mirrored)
(RAID 1) B = Drive B1 + Drive B2 (Mirrored)
RAID 0 = (RAID 1) A + (RAID 1) B (Striped)

RAID 1 over RAID 0

假设我们有六台磁盘驱动器,每两台磁盘驱动器先做成RAID 0,再把两个RAID 0做成RAID 1,这就是RAID 0 over RAID 1:

(RAID 0) A = Drive A1 + Drive A2 (Striped)
(RAID 0) B = Drive B1 + Drive B2 (Striped)
RAID 1 = (RAID 1) A + (RAID 1) B (Mirrored)

在这种架构之下,如果 (RAID 0) A有一台磁盘驱动器故障,(RAID 0) A就算毁了,当然RAID 1仍然可以正常工作;如果这时 (RAID 0) B也有一台磁盘驱动器故障,(RAID 0) B也就算毁了,此时RAID 1的两磁盘驱动器都算故障,整个RAID 1资料就毁了。

因此,RAID 0 OVER RAID 1应该比RAID 1 OVER RAID 0具备比较高的可靠度。所以我们建议,当采用RAID 0+1/RAID 10架构时,要先作RAID 1,再把数个RAID 1做成RAID 0。

RAID 0:级别0只是数据带。在级别0中,数据被拆分到多于一个的驱动器,结果是更高的数据吞吐量。这是RAID的最快和最有效形式。但是,在这个级别没有数据镜像,所以在阵列中任何磁盘的失败将引起所有数据的丢失。
  RAID 1:级别1是完全磁盘镜像。在独立的磁盘上创建和支持数据两份拷贝。级别1阵列与一个驱动器相比读速度快、写速度慢,但是如果任一个驱动器错误,不会有数据丢失。这是最昂贵的RAID级别,因为每个磁盘需要第二个磁盘做它的镜像。这个级别提供最好的数据安全。
  RAID 2:级别2设想用于没有内嵌错误检测的驱动器。因为所有的SCSI驱动器支持内嵌错误检测,这个级别已过时,基本上没用了。Linux不使用这个级别。
  RAID 3:级别3是一个有奇偶校验磁盘的磁盘带。存储奇偶校验信息到一个独立的驱动器上,允许恢复任何单个驱动器上的错误。Linux不支持这个级别。
  RAID 4:级别4是拥有一个奇偶校验磁盘的大块带。奇偶校验信息意味着任何一个磁盘失败数据可以被恢复。级别4阵列的读性能非常好,写速度比较慢,因为奇偶校验数据必须每次更新。
  RAID 5:级别5与级别4相似,但是它将奇偶校验信息分布到多个驱动器中。这样提高了磁盘写速度。它每兆字节的花费与级别4相同,提高了高水平数据保护下的高速随机性能,是使用最广泛的RAID系统。

最新的研究显示,RAID系统并不安全,常常发生的事情是,在一块盘坏掉之后,另一块盘也会很快的坏掉。

RAID 1
又被称为磁盘镜像,每一个磁盘都具有一个对应的镜像盘。对任何一个磁盘的数据写入都会被复制镜像盘中;系统可以从一组镜像盘中的任何一个磁盘读取数据。显然,磁盘镜像肯定会提高系统成本。因为我们所能使用的空间只是所有磁盘容量总和的一半。
RAID 1下,任何一块硬盘的故障都不会影响到系统的正常运行,而且只要能够保证任何一对镜像盘中至少有一块磁盘可以使用,RAID 1甚至可以在一半数量的硬盘出现问题时不间断的工作。当一块硬盘失效时,系统会忽略该硬盘,转而使用剩余的镜像盘读写数据。
通常,我们把出现硬盘故障的RAID系统称为在降级模式下运行。虽然这时保存的数据仍然可以继续使用,但是RAID系统将不再可靠。如果剩余的镜像盘也出现问题,那么整个系统就会崩溃。因此,我们应当及时的更换损坏的硬盘,避免出现新的问题。
更换新盘之后,原有好盘中的数据必须被复制到新盘中。这一操作被称为同步镜像。同步镜像一般都需要很长时间,尤其是当损害的硬盘的容量很大时更是如此。在同步镜像的进行过程中,外界对数据的访问不会受到影响,但是由于复制数据需要占用一部分的带宽,所以可能会使整个系统的性能有所下降。
因为RAID 1主要是通过二次读写实现磁盘镜像,所以磁盘控制器的负载也相当大,尤其是在需要频繁写入数据的环境中。为了避免出现性能瓶颈,使用多个磁盘控制器就显得很有必要。下图示意了使用两个控制器的磁盘镜像。
使用两个磁盘控制器不仅可以改善性能,还可以进一步的提高数据的安全性和可用性。我们已经知道,RAID 1最多允许一半数量的硬盘出现故障,所以按照我们上图中的设置方式(原盘和镜像盘分别连接不同的磁盘控制),即使一个磁盘控制器出现问题,系统仍然可以使用另外一个磁盘控制器继续工作。这样,就可以把一些由于意外操作所带来的损害降低到最低程度。

简单说RAID1 就是2块硬盘里的东西一样,坏了一块没关系
RAID1 就是为了防止其中一块盘损坏而影响文件完整性

  • 关于RAID1的疑问求解。
    答:你的疑问是正确的。比如说一个硬盘上感染了病毒,别一坏也一定会感染。因软件问题操作系统崩溃,你换上另一块同样是坏的。它称为最安全的raid,指其中一坏硬盘物理损坏后,别一块硬盘还可以继续工作。数据不会丢失。所以,你说的对,RAID1的安全是在硬盘故障的时候才体现出来的。
  • RAID最好的级别
    答:1.RAID0级,无冗余无校验的磁盘阵列。数据同时分布在各个磁盘驱动器上,没有容错能力,读写速度在RAID中最快,但因为任何一个磁盘驱动器损坏都会使整个RAID系统失效,所以安全系数反倒比单个的磁盘驱动器还要低。一般用在对数据安全要求不高,但对速度要求很高的场合。2.RAID1级,镜像磁盘阵列。每一个...
  • RAID0 RAID1 RAID5哪一个最稳定?
    答:最安全的应该是RAID1,可是写入速度跟单硬盘差不多,而且很浪费空间,由于要把所有数据都复制一份,所以相当于2TB的硬盘只能存放1TB的东西了 RAID0的写入速度最快,但是一旦其中一个硬盘出问题了,那就几乎所有的数据都丢失了,不是太安全[除非你对硬盘阵列里的硬盘十分信任]RAID5是0和1的折中方案,...
  • Microserver Gen8板载RAID和阵列卡组RAID1区别大吗
    答:RAID1的安全性很高,但性能没什么优势。RAUD0,就是多磁盘数据分组同步写读;理论读写速度是单盘读写速度的X倍,X指加入到同一阵列的磁盘数。同时容量也为单盘容量的X倍。RAID0性能优越,但安全性差,只要一块硬盘坏了,数据链就断了。RAID0和RAID1的区别:RAID0读写速度快、阵列容量是加入阵列磁盘...
  • RAID 0、RAID 1、RAID 5、RAID 10分别代表什么意思?
    答:都是指在利用多块硬_,做到数据保护或加速的方式;RAID 0,条带式,对所有硬_做平均分散的读写,_愈多速度最快,创建至少需要2颗HD,安全性差。RAID 1,镜像式,每块_的上数据都完全相同,创建至少需要2颗HD, 只要留有1颗_数据都安全,安全性最高。RAID 5,有1块_的容量来存放校验码,创建...
  • 数据无价!RAID1真的安全吗?
    答:,raid1 是最安全的阵列。另一块硬盘坏了 根本不用担心,数据会妥妥的不懂。你可以随时拔掉另一个硬盘。
  • raid0和raid1的区别
    答:把RAID0和RAID1技术结合起来,即RAID0+1数据除分布在多个盘上外,每个盘都有其物理镜像盘,提供全冗余能力,允许一个以下磁盘故障,而不影响数据可用性,并具有快速读写能力要求至少4个硬盘才能作成RAID0+1RAID 1。区别是raid0,条带式,安全性差,没有冗余,性能最佳raid1,镜像式,安全性最高,...
  • RAID-1和RAID-5在性能等方面的优缺点
    答:RAID 1至少两块盘,是两块盘做镜像的,这样安全性最高,但是性价比低,速度没有提升,RAID 5至少三块盘做,在一块盘损坏时也可以正常工作,容量是两块盘的容量,安全性比较好,速度比较快
  • raid0和raid1的区别
    答:raid0和raid1的区别一、概念1、RAID0:RAUD0就是多磁盘数据分组同步写读。2、RAID1:RAID1就是多磁盘同数据同步写读。二、安全性1、RAID0:无数据备份功能,安全性差。2、RAID1:盘间是相互备份的,安全性高。三、性能1、RAID0理论读写速度是单盘读写速度的X倍,X指加入到同一阵列的磁盘数。同...
  • Raid 1和Raid 0哪个好
    答:两种不同的RAID,如果安全性讲RAID1更好,因为一个主盘一个是备份盘,就算一个坏了,数据仍在在,如果你需要数据的安全性和稳定性建议使用RAID1,但是RAID0读取效率更高,是两个硬盘合二为一存储池,数据是分开两个硬盘里,所以在读取效率上有优势,但是如果一个硬盘坏了,那么数据也会丢失。所以各...