RAID技术详解之一RAID0

在这里插入图片描述
此文仅仅为《大话存储》总结,先祭"合一刀谱"。
刀于我手不为刀,
横分梳割成龙绦。
化作神龙游天际,
龙在我心任逍遥!

干货:RAID0,条带化硬盘组。

背景:5块硬盘组成RAID0。
参与形成这个RAID0的各个物理盘会组成一个逻辑上连续、物理上也连续的虚拟磁盘。

访问过程如下:
1.主机控制器发出指令:读取10000号扇区开始,连续长度为128个扇区的内容。

2.RAID控制器接受指令:进行计算,根据对应公式(这个公式是RAID控制器在做逻辑条带化的时候制定的)算出10000号逻辑扇区所对应的物理磁盘的扇区号。依此计算出逻辑上连续的128个扇区所在物理磁盘的扇区号。

3.RAID控制发出指令:分别向对应这些扇区的磁盘再次发出指令。

4.硬盘接受指令:读取数据。将数据交给RAID控制器,经过控制器在Cache中的组合,再提交给主控制器。

分析以上过程,发现如果这128个扇区都落在同一个Segment中的话,也就是条带深度容量大于128个扇区的容量(64KB),则这次IO就只能真实地从这一块物理盘上读取,性能和单盘相比会减慢,因为没有任何优化,反而还增加了RAID控制器额外的计算开销。所以,再某种特定条件下要提升性能,让一个IO尽量扩散到多块物理盘上,就要减小条带深度。在磁盘数量不变的条件下,也就是减小条带大小(Stripe SIZE,也就是条带长度)。让这个IO的数据倍控制器分割,同时放满一个条带的第一个Segment、第二个Segment等,依次类推,这样就能极大地占用多块物理盘。所有Segment又是并发进行写入的。

所以,RAID0要提升性能,条带做的越小越好。但是又一个矛盾出现了,就是条带太小,导致并发IO几率降低。因为如果条带太小,则每次IO一定会占用大部分物理盘,队列中的IO就只能等待这次IO结束后才能使用物理盘。而条带太大,又不能充分提高传输速度。这两个是一对矛盾,要根据需求来采用不同的方式。如果随机小块IO多,则适当加大条带深度;如果连续大块IO多,则适当减小条带深度。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值