RAID1详解
raid 1简介
 
         RAID 1又称为Mirror或Mirroring,它的宗旨是最大限度的保证用户数据的可用性和可修复性。 RAID 1的操作方式是把用户写入硬盘的数据百分之百地自动复制到另外一个硬盘上
 
raid 1的工作原理
 
    如图所示:当读取数据时,系统先从RAID1的源盘读取数据,如果读取数据成功,则系统不去管备份盘上的数据;如果读取源盘数据失败,则系统自动转而读取备份盘上的数据,不会造成用户工作任务的中断。当然,我们应当及时地更换损坏的硬盘并利用备份数据重新建立Mirror,避免备份盘在发生损坏时,造成不可挽回的数据损失。
 
raid 1的优缺点
 
    由于对存储的数据进行百分之百的备份,在所有RAID级别中,RAID 1提供最高的数据安全保障。同样,由于数据的百分之百备份,备份数据占了总存储空间的一半,因而Mirror(镜像)的磁盘空间利用率低,存储成本高。Mirror虽不能提高存储性能,但由于其具有的高数据安全性,使其尤其适用于存放重要数据,如服务器和数据库存储等领域。
 
RAID 1技术详析
 
     RAID 1是这样一种模式,拿两块盘的例子来进行说明
RAID 1和RAID 0不同,RAID 0对数据没有任何保护措施,每个Block都没有备份或者校验保护措施。RAID 1对虚拟逻辑盘上的每个物理Block,都在物理盘上有一份镜像备份,也就是说数据有两份。对于RAID 1的写IO,速度不但没有提升,而且有所下降,因为数据要同时向多块物理盘写,时间以最慢的那个为准,因为是同步的。而对于 RAID 1 的读 IO请求,不但可以并发,而且就算顺序IO的时候,控制器也可以像RAID 0一样,从两块物理盘上同时读数据,提升速度。RAID 1可以没有Stripe的概念,当然也可以有。
  在读、并发IO的模式下,由于可以并发N个IO,每个IO占用一个物理盘,这就相当于提升了 N 倍的 IOPS。由于每个 IO 只独占了一个物理盘,所以数据传输速度相对于单盘并没有改变,所以不管是随机还是顺序IO,相对单盘都不变。
  在读、顺序IO、随机IO模式下,由于IO不能并发,所以此时一个IO可以同时读取N个盘上的内容。但是在随机IO模式下,寻道时间影响很大,纵使同时分块读取多个磁盘的内容,也架不住寻道时间的抵消,所以性能提升极小。
  在读、顺序IO、连续IO模式下,寻道时间影响到了最低,此时传输速率为主要矛盾,同时读取多块磁盘的数据,时间减少为1/N,所以性能提升了N倍。
  写IO的时候和读IO情况相同,就不做分析了。写IO因为要同时向每块磁盘写入备份数据,所以不能并发 IO,也不能分块并行。但是如果控制器把优化算法做到极至的话,还是可以并发IO的,比如控制器从IO队列中提取连续的多个IO,可以将这些IO合并,并发写入磁盘,前提这几个IO必须是事务性的,也就是说LBA必须连续,不然不能作为一个大的合并IO。而且和文件系统也有关系,文件系统碎片越少,并发几率越高。