RAID技术详细解答之一:入门基础篇
2008-02-27 11:56:33 来源:WEB开发网举个例子来说,假设我们发现校验块中第10个字节的第5位不正确。如果这个校验块包含的是另外8个数据块的校验信息,那么哪一个数据块才是问题的罪魁祸首呢?也许你可能会想为每一个数据块都建立一个校验块就可以解决问题。但是这种方法很难实现。事实上,RAID主要是借助磁盘控制器的错误报告检测错误位置,并进行修复。如果磁盘控制器在读取数据时没有发出任何“抱怨”,那么系统将会视该数据为正确数据,继续使用。
RAID 3
RAID 3采用的是一种较为简单的校验实现方式,使用一个专门的磁盘存放所有的校验数据,而在剩余的磁盘中创建带区集分散数据的读写操作。例如,在一个由4块硬盘构成的RAID 3系统中,3块硬盘将被用来保存数据,第四块硬盘则专门用于校验。
第四块硬盘中的每一个校验块所包含的都是其它3块硬盘中对应数据块的校验信息。RAID 3的成功之处就在于不仅可以象RAID 1那样提供容错功能,而且整体开销从RAID 1的50%下降为25%(RAID 3+1)。随着所使用磁盘数量的增多,成本开销会越来越小。举例来说,如果我们使用7块硬盘,那么总开销就会将到12.5%(1/7)。
在不同情况下,RAID 3读写操作的复杂程度不同。最简单的情况就是从一个完好的RAID 3系统中读取数据。这时,只需要在数据存储盘中找到相应的数据块进行读取操作即可,不会增加任何额外的系统开销。
当向RAID 3写入数据时,情况会变得复杂一些。即使我们只是向一个磁盘写入一个数据块,也必须计算与该数据块同处一个带区的所有数据块的校验值,并将新值重新写入到校验块中。例如,当我们向上图中的绿色数据块写入数据时,必须重新计算所有3个绿色数据块的校验值,然后重写位于第四块硬盘的绿色校验块。由此我们可以看出,一个写入操作事实上包含了数据读取(读取带区中的关联数据块),校验值计算,数据块写入和校验块写入四个过程。系统开销大大增加。
更多精彩
赞助商链接