firezjs
2 Bronze

请教大家一下,为什么一个raid组不是盘越多越好,除了安全原因还有什么别的原因

跳至解决方案

请教大家一下,为什么一个raid组不是盘越多越好,除了安全原因还有什么别的原因

标签 (1)
1 解答

已接受的解答
zhouzengchao
4 Beryllium

Re: 请教大家一下,为什么一个raid组不是盘越多越好,除了安全原因还有什么别的原因

跳至解决方案

主要还是考虑到可用性:


(1)盘越多,坏盘的几率就越大,因为通常假设一个RAD组里所有盘的MTBF(平均故障时间)都是一样的。

(2)损坏一盘后,在数据重建的过程中,坏第二块盘的几率也会上升,道理同上

(3)数据重构需要这个RAID组内的所有盘都参与,盘多了,控制器需要利用更多的资源去寻址每一块磁盘,所以在性能上消耗会相对更多一些

(4)盘多了之后,有的时候会导致畸形的条带宽度,比如3+1的stripe size = 3*64bytes = 192bytes,这种类型的条带通常会带有across stripe access,因为不符合许多应用的i/o pattern,这些large, sequential i/o的应用通常都是256bytes、512bytes这样访问的。

(5)如果从性能的角度考虑,盘对于random i/o的确有很好的平衡作用,不过你的应用如果并非random,而是相对比较顺序但又不是完全顺序,反而会导致条带写无法完成,因为你的条带太大

在原帖中查看解决方案

0 项奖励
11 回复数
zhouzengchao
4 Beryllium

Re: 请教大家一下,为什么一个raid组不是盘越多越好,除了安全原因还有什么别的原因

跳至解决方案

主要还是考虑到可用性:


(1)盘越多,坏盘的几率就越大,因为通常假设一个RAD组里所有盘的MTBF(平均故障时间)都是一样的。

(2)损坏一盘后,在数据重建的过程中,坏第二块盘的几率也会上升,道理同上

(3)数据重构需要这个RAID组内的所有盘都参与,盘多了,控制器需要利用更多的资源去寻址每一块磁盘,所以在性能上消耗会相对更多一些

(4)盘多了之后,有的时候会导致畸形的条带宽度,比如3+1的stripe size = 3*64bytes = 192bytes,这种类型的条带通常会带有across stripe access,因为不符合许多应用的i/o pattern,这些large, sequential i/o的应用通常都是256bytes、512bytes这样访问的。

(5)如果从性能的角度考虑,盘对于random i/o的确有很好的平衡作用,不过你的应用如果并非random,而是相对比较顺序但又不是完全顺序,反而会导致条带写无法完成,因为你的条带太大

在原帖中查看解决方案

0 项奖励
firezjs
2 Bronze

Re: 请教大家一下,为什么一个raid组不是盘越多越好,除了安全原因还有什么别的原因

跳至解决方案

您好,再请教一下是说磁盘数量多了,性能有可能下降吗,原因是什么?

0 项奖励
zhouzengchao
4 Beryllium

Re: 请教大家一下,为什么一个raid组不是盘越多越好,除了安全原因还有什么别的原因

跳至解决方案

比如由于条带过大,导致没有办法完成本应该可以完成的一次性条带写,如此一来反向盘少一些会更好。大部分情况下,应用都是随机、混合的,所以盘多是增加性能的一个最简单的方法,但是本身所带来的可用性问题使得不太可能会有人在实际生产环境中部署超长条带的RAID组。

born_chen
4 Germanium

Re: 请教大家一下,为什么一个raid组不是盘越多越好,除了安全原因还有什么别的原因

跳至解决方案

磁盘数量超过建议值之后,写性能会下降。

因为RAID技术,是将数据切割成许多区段,分别存放在各个磁盘上。数量过多的情况下,数据过于分散,需要每个磁盘写成个后才返回写成功的响应。

根据磁盘的性能等,一般不同的设备都有各自RAID级别的推荐值,比如RAID5,推荐4+1或者7+1组成RAID。

Roger_Wu
5 Rhenium

Re: 请教大家一下,为什么一个raid组不是盘越多越好,除了安全原因还有什么别的原因

跳至解决方案

光数据“安全”一个理由就一票否决了吧。你的“越多越好”是没有数量上限的吗?RAID不是为scale-out设计的,什么样的RAID可以应付几百上千块盘的故障率呢?但分布式文件系统,甚至VNX的Pool都能很好应付上千块盘的情况。

0 项奖励
o17Uu33DCF12520
4 Beryllium

Re: 请教大家一下,为什么一个raid组不是盘越多越好,除了安全原因还有什么别的原因

跳至解决方案

推荐的磁盘的最大数量在RAID系统改变了很多。这取决于各种各样的事情:

•磁盘技术 —— SATA磁盘阵列容错能力比SAS/ FC小,但这种情况正在改变。

•RAID控制器 —— RAID控制器本身的限制,可能有根本的最大值。如果它是基于SCSI的而且每个可见的磁盘就是LUN,7/14法则是成立的。如果基于光纤通道的,最多可以有120或更多的可见的磁盘。

•RAID控制器的处理器 —— 如果你用任何形式的奇偶校验的RAID,RAID卡的CPU将是你可以将数据写入速度有多快的限制。每块卡都有一个根本的最大值。在RAID5/6 LUN驱动器发生故障时,将影响到所有与RAID卡相关联的LUN的性能下滑,你会看到这个最大值的副作用。

•总线带宽 —— SCSI总线带宽有其自身的限制,正如光纤通道一样。对于SCSI来说,把RAID成员保持在不同的通道,可以提高并行性和提高性能,如果控制器支持的话。

liulei_it
5 Tungsten

Re: 请教大家一下,为什么一个raid组不是盘越多越好,除了安全原因还有什么别的原因

跳至解决方案

您的意思是想把数据尽可能的放在最多的盘上,对吗?

除了以上几位前辈的解释意外,有没有想过越多越浪费呢/

例如,您选择了RAID10,那么当您拥有了2000块硬盘的时候,有一半容量用不着的。如果这还不够刺激,那么当您拥有了20W块硬盘,那么将会有10W不能使用。如果您不计成本做到了,您会发现用于这个上面的投资不如购买全闪存阵列了。

0 项奖励
daiwliang
2 Bronze

Re: 请教大家一下,为什么一个raid组不是盘越多越好,除了安全原因还有什么别的原因

跳至解决方案
0 项奖励
liulei_it
5 Tungsten

Re: 请教大家一下,为什么一个raid组不是盘越多越好,除了安全原因还有什么别的原因

跳至解决方案

当要管理的磁盘越来越多,管理的本质已经从利用RAID性能提供更好的服务变成了为了管理这些磁盘而管理。这不是本末倒了么?

0 项奖励