RAID技术深度剖析
作者: 来源: 添加日期:2006-9-24 18:16:47
镜像适用于强调数据安全的解决方案。因为要把相同的数据存为两份所以就需要更大的存储空间,当然也需要更多的经费来购置存储设备。不过对于相当大的领域内这个花费是值得的。因为数据丢失而去手工回复所需要的时间足够让一些公司倒闭了。不过在另外些场合,数据的稳定性要求不是那么高,就不值得在存储设备上花费两倍的钱了。镜像中两个组成RAID的两个存储设备是对等的,究竟下一步操作需要哪一个设备就需要由parity来决定了。
四、奇偶校验(Parity)技术
Parity是应用于RAID中的另一种冗余技术。这个名词通常用在侦测校验通讯错误方面,例如Modem、内存。 RAID中的Parity类似于内存中的技术。举个例子来说,比如你的一个数据单位有X位数字,那么你可以使用这X位数字产生一个奇偶校验位,并且把这个奇偶校验位作为这个数据单位的第X+1个位,如果这X+1位中的任何一个丢失,剩下的X位仍能修复这个数据。你可能听说过奇偶校验位(parity bit)这个名词,对于数据来讲,这是个额外的数据(但是从安全性上来讲不是多余的)。在RAID中,这个奇偶校验数据将会大的多。还不明白?
一般的这个额外的奇偶校验数据由异或逻辑运算(XOR)产生。如果你对异或逻辑运算不清楚。下表讲让你明白: p q p XOR q T T T T F F F T F F F T 很简单“真”“真”异或的结果是真,“假”“假”异或的结果也是真,“真”“假”异或结果是“假”——也就是相同的元素异或结果是“真”,不同元素异或结果是“假”。你可以把这里的“真”“假”分别等同于二进制的0、1。异或运算的一个特性就是你把结果和一个初始值进行异或运算,就能得到另一个初始值。如上表,你可以把(p XOR q)同p或者q进行异或,相应的你会得到q或p。由此你也能看得出来异或运算不需要临时存储空间就能交换两个内存空间。
例如: 10101010 XOR 11111111 = 01010101 11111111 XOR 01010101 = 10101010 10101010 XOR 01010101 = 11111111
由任何两个值都能通过异或运算得到第三个值,这就是异或运算的特性。这个运算可以使用任意多个字节,所以你可以对整个硬盘的数据进行异或运算。现在你是不是可以想到你不必把数据存为两份,而只要一个硬盘就能保护你的数据了——这个想法基本正确,不过仍然还需要一个额外硬盘。这就是奇偶校验技术相对于镜像技术的优势。但是在容错能力不如镜像技术。奇偶校验数据不必存储在单一的物理硬盘上,它可以分布在整个磁盘阵列上,这就是我们常常说的分布式奇偶校验。另外在镜像技术中能实现的Striping技术在奇偶校验中也能实现。主要的限制就是奇偶校验技术需要进行大量的运算,对于计算机有着相当高的要求。每一次读取、写入数据都要进行一次奇偶校验运算,这就必须具备硬件RAID控制器。运用软件RAID几乎是不现世的,因为如此大量的运算会让CPU没有空更重要的事情了。还有一个缺点就是恢复数据比镜像技术复杂。虽然硬件RAID控制器可以自动重建数据,不过比镜像技术要慢的多。
五、延展(Striping)技术
以上几节的内容都是讨论的技术都是关于提高数据可*性的。不过几次提到了延展这个名词,但是并没有详细的解释。这一节的内容就是重点的介绍延展技术的。延展技术通过把数据分布到阵列的所有驱动器上——而延展技术的主要原理是并行处理。假如你在一个单独的硬盘上有个非常大的文件,如果要读取它只能从头到尾的逐一读取。而Striping技术可以把它分成小块分别存储在多个硬盘之上,读取的时候就可以从多个硬盘里同时调用。同样道理当你写入数据——特别是大文件的时候也是这样的。传输性能将能明显的提高。在一定的范围内,可以说你的硬盘越多,性能的提高就越明显。驱动器数目决定了延展带宽——可以同时用于数据传输的同步延展。不过它们究竟是怎么工作的呢? 本新闻共 6页,当前在第 2页 1 2 3 4 5 6 |