RAID在SQL Server中的应用(RAID几种级别) 当然,这就和我们经常说的“负载均衡、高可用集群,横向扩展,纵向扩展”的目的其实很类似。都是为了实现不间断的工作,保证数据安全性,而且还要分摊压力。突然让我想起了上初中物理时候学的“串联和并联”。最后讲个丢人的笑话,也是我的真实经历,N年前,某日和某老师在一起抽烟、吹牛、瞎侃,老师瞎侃说”google光是在中国目前有XX台服务器集群......“,当时我并不理解什么叫“集群”,第一反应就是这么多台服务器到底是“串联“的还是”并联”的呢?哈哈。下次再继续吧。 本文出自http://blog.csdn.net/dinglang_2009,转载请注明出处。
企业级的
RAID 1 磁盘镜像 它对读没有什么影响,如果有两块磁盘它只对写有影响,因为它采用了一块磁盘做冗余备份的方法,这样如果你有两块50G的磁盘,那么加起来就是100G,但是在RAID 1下,那么你只能使用50G ,这种方法会影响磁盘的空间使用,降低了I/O 写的性能。通俗点来讲:你将一个100M的文件写入RAID 1时,讲内容写入A磁盘的同时,也会将相同的内容写入B磁盘中。这样一来,两块磁盘的内容是完全一致的(这就传说中的”冗余“,并不是什么高深的东西)。本来只需要写入1块硬盘的,可是现在要写入到两块硬盘去,效率肯定会变低。至于“读”操作,RAID 1环境下,读取时候只使用到了一块硬盘,所以和普通的环境下没啥区别(如果两块硬盘都能够同时工作,那么还可以分摊压力的)。只是当第一个硬盘数据损坏或者挂掉了,就启动第二块硬盘。当然,两块硬盘都挂了,那就真的崩溃了。哈哈。值得一提的是,有些书或者文章上讲,RAID 1是在将第一块硬盘写入完成后,才将数据完整复制到第二块磁盘中做为镜像备份的这种说法有待考证,按我的理解,是同时复制写入的。
RAID 5 与RAID1 不同之处就是多了奇偶校验,所有的奇偶校验的信息会遍布各个磁盘,性能上要比RAID1高些,但是一旦发生磁盘I/O失败,就会造成性能急剧下降,同时这种方法也在RAID0 与RAID1间折了中,是比较通用的做法。 用简单的语言来表示,至少使用3块硬盘(也可以更多)组建RAID5阵列,当有数据写入硬盘的时候,按照1块硬盘的方式就是直接写入这块硬盘的,如果是RAID5的话这次数据写入会分根据算法分成3部分,然后写入这3块硬盘,写入的同时还会在这3块硬盘上写入校验信息,当读取写入的数据的时候会分别从3块硬盘上读取数据内容,再通过检验信息进行校验。当其中有1块硬盘出现损坏的时候,就从另外2块硬盘上存储的数据可以计算出第3块硬盘的数据内容。也就是说RAID5这种存储方式只允许有一块硬盘出现故障,出现故障时需要尽快更换。当更换故障硬盘后,在故障期间写入的数据会进行重新校验。 如果在未解决故障又坏1块,那就是灾难性的了。
RAID 10 (也叫RAID 0+1 )就是RAID0 与 RAID1的组合,它提供了高性能,