关于RAID1的读写问题

 

各个raid对比:性能和运行速度和读写方面(RAID 1 读和单个磁盘无区别)




=================

15 回复  最新回复: 2013-12-26 下午10:05 阿超_SteveZhou 

请教关于RAID1的读写问题

此问题已回答

还有个问题来请教。关于RAID1的。我知道RAID1是做数据镜像,以冗余达到保护数据的目的。

 

假设由两块盘构成的一个RAID1,想知道:

 

1、往RAID1里写数据时,是两块盘能同时写入部分数据,然后把各自写入的数据镜像复制到另一块对应的盘上呢?还是所有要写入的数据先都只写到一块盘上,然后再全部复制到另一块镜像盘上?

 

2. 从RAID1里读数据时,是会从两块盘同时各自读取部分数据呢还是全部数据只会从一块盘上读取?

 

刚接触存储的新人,不少基础问题来请教和学习:)

正确答案 作者: 阿超_SteveZhou 开启 2013-4-21 下午9:16

RAID是通用技术,所以会因具体厂商的实现而不同,对于EMC CLARIION/VNX:

 

1. RAID控制器会把写同时写到主、备磁盘。并非你说的那种部分写入,然后互相拷贝。而是同样的数据同时写入两块磁盘,再ACK。

 

2. 从两块盘上读,但根据performance log的数据表明,CLARIION/VNX并没有按1:1的比例在两块盘上读数据,而是更多的数据从主盘上读,一部分从备盘上读。为什么要这么设计,我觉得还是考虑到RAID1主要的目的还是冗余,并不是提高性能,尽量保证备盘的可用性。

查看上下文中的回答
有用答案 作者:  lei liu, Fenglin Li, Born_Chen  
平均用户评级
(1 评级)
  • 1. Re: 请教关于RAID1的读写问题

    看下面的图就会明白了

  • 2. Re: 请教关于RAID1的读写问题

    谢谢答复,不过老实说,从图里我还是没太看明白。M1和M2分别代表两组互为镜像的盘? 下面的两排M10A0, M20A1,M10A1,M10A3,M20A3,M10A2,M20A2, M20A0是指8个盘吗?为什么排列顺序是乱的,有点晕了。能再详细指点下吗?或者以只有2个盘的最简单的RAID1构架来举例。

     

    新人,问题比较多~

  • 有用答案3. Re: 请教关于RAID1的读写问题

    不好意思,一下子发了一个猛地. 简单的说,下面的两排M10A0, M20A1,M10A1,M10A3,M20A3,M10A2,M20A2, M20A0,不是八个盘,是硬盘上的切片--hypervolume。临时拿来是为了说明two ways mirrow就是您说的RAID 1。

    这张图您要这么看,例如上面部分0A0是symmetrix device由一个或者多个这样的device组成的LUN映射给主机使用。在DMX结构中0A0对应的后端物理硬盘是什么,您就要看下面的图。 M1:0A0 和 M2  0A0就是您说的互为RAID 1。

    只是这些个互为镜像的hypervolume不是实际的物理硬盘而是硬盘的切片。

  • 4. Re: 请教关于RAID1的读写问题

    这个帖子我移动至 综合讨论区 ,方便查看和分类。

  • 正确答案5. Re: 请教关于RAID1的读写问题

    RAID是通用技术,所以会因具体厂商的实现而不同,对于EMC CLARIION/VNX:

     

    1. RAID控制器会把写同时写到主、备磁盘。并非你说的那种部分写入,然后互相拷贝。而是同样的数据同时写入两块磁盘,再ACK。

     

    2. 从两块盘上读,但根据performance log的数据表明,CLARIION/VNX并没有按1:1的比例在两块盘上读数据,而是更多的数据从主盘上读,一部分从备盘上读。为什么要这么设计,我觉得还是考虑到RAID1主要的目的还是冗余,并不是提高性能,尽量保证备盘的可用性。

  • 有用答案6. Re: 请教关于RAID1的读写问题

    DKL,Symmetrix的机制是这样的:

     

    Raid1读,Enginuity算法会选择负载比较小的member,理论上连续的读写会在两个member上交替进行。

     

    关于Raid1写,直接将数据会同时destage到两个member。

     

    再上一张图,看得清楚一些。

     

  • 有用答案7. Re: 请教关于RAID1的读写问题

    简洁点给你回答吧。

    1、往RAID1里写数据时,是两块盘能同时写入部分数据,然后把各自写入的数据镜像复制到另一块对应的盘上呢?还是所有要写入的数据先都只写到一块盘上,然后再全部复制到另一块镜像盘上?

    分别写入,别校验完整后才通知主机写完成。

    2. 从RAID1里读数据时,是会从两块盘同时各自读取部分数据呢还是全部数据只会从一块盘上读取?

    同时读取。

  • 8. Re: 请教关于RAID1的读写问题

    大家真热心啊,谢谢lz各位的回复呀

  • 9. Re: 请教关于RAID1的读写问题

    我的经验是这样:

     

    如6楼所说:连续的读会在两个member上交替进行(而写是同时进行)。

     

    至于随机读,如果是并发请求(有队列深度的情况下),许多RAID会将任务平均分到两块盘上进行。也就是性能比单盘提升接近一倍。

     

    当然我不保证所有RAID存储都是如此

  • 10. Re: 请教关于RAID1的读写问题

    国外的人搞论坛,估计没有像国内一样,说几楼几楼的吧,我估计这是CN的特色。

    不过能显示第几个回复也挺好,可以快速指明是哪个回复。

    增加显示回帖的排序数字(即楼层),可以提名作为论坛建设的建议。呵呵。

  • 11. Re: 请教关于RAID1的读写问题

    好像已经有了呀?

     

  • 12. Re: 请教关于RAID1的读写问题

    这是很好的基础知识贴啊。。

  • 13. Re: 请教关于RAID1的读写问题

    奇怪,我的没有,难道是有这个功能,需要在哪开启?我去找下。

  • 14. Re: 请教关于RAID1的读写问题

    各个厂商好像都不是按照实际的标准去做的。







==============

15 回复  最新回复: 2013-12-26 下午10:05 阿超_SteveZhou  转至原始发贴 
  • 15. Re: 请教关于RAID1的读写问题

    有些标准就是用来参考的,所以具体实现可能会有不同。


参考

https://community.emc.com/message/726832#726832

你可能感兴趣的:(磁盘管理,存储系统,RAID)