戴尔R720xd,10块10k盘raid 5约1.1GB/s,20块盘两组总共也才1.4-1.5GB/s。为啥呢?

系统管理

系统管理
系统管理讨论组

戴尔R720xd,10块10k盘raid 5约1.1GB/s,20块盘两组总共也才1.4-1.5GB/s。为啥呢?

这个问题已经回答DELL-Richard Li

新浪网友@鲲腾的提问:我们手里有几台r720xd,10块10k盘raid 5约1.1GB/s,20块盘两组总共也才1.4-1.5GB/s。为啥呢?求助

验证的回答
  • 正好借着这个问题谈谈服务器的带宽问题。

    我们需要访问一台服务器上的文件,这个文件到底是怎样从它的磁盘上传到我们的客户端来的呢?文件需要从磁盘读取的情形是:

    客户提出数据请求-》服务器检查内存中的缓存,如果文件没有被缓存,系统决定从磁盘读取。

    好的,然后数据流大致是这样走向的:

    数据 -》磁盘读取-》硬盘背板-》RAID卡-》PCI-e总线-》总线控制器-》内存(处理器)-》网卡PCI-e插槽(集成网卡可能不需要)-》网络适配卡-》网络-》交换机-》客户端

    我们知道,这个系统最终输出带宽,应该遵从“水桶效应”,即输出带宽等同于环节中最慢部分的带宽。

    在大家传统的思路里,磁盘总是系统里最慢的组件。通过RAID卡,增加磁盘数目来增加并发的数据读取是可以提高数据读写性能的。但是这个是可以无限放大的吗?恐怕不是的。如果磁盘累加的读写性能已经超出PCI-e总线的传输带宽,或者超过了网络传输带宽呢?这时候系统的瓶颈就不是磁盘的。

    比如典型的PCI-e总线带宽是6Gb/s,现在的磁盘速度累加,很容易超出。瓶颈就成了总线速度了。

  • 另外,时间的问题,下班前匆匆发了前面的回复,其实事情还没说完。

    这位网友可能又会问了,既然瓶颈成立PCI-e总线,那我的服务器可是有20块硬盘的,更多的硬盘难道只是提高空间,真的对性能的提升已经无能为力了吗?

    呵呵,我们提出这个问题,自然想引出想说明的答案。戴尔其实在服务器设计时,早就为部分追求性能的用户留好了后路。说的这点,就不得不说说戴尔服务器的“分离背板技术”了。

    相信许多销售和戴尔的同事在接触12G服务器的时候,都听过这个“分离背板技术”,有可能没怎么引起注意。它可以把两组硬盘物理地分别接入到两个独立的背板上去。这样每组硬盘可以通过独立的链接,接到独立的RAID控制卡上。这样,系统就可以安装2张物理的RAID控制卡来接驳这个分离背板。现在看清楚了吗?是两张控制卡,插在两个独立的PCI-e插槽里,累加的总线带宽就成了6Gb/s x 2 = 12Gb/s,实现了总线带宽的提升,也就是整体系统性能的提升。

    今天我们用户提的问题,正是戴尔服务器“分离背板技术”直接应对的客户痛点。

所有回复
  • 正好借着这个问题谈谈服务器的带宽问题。

    我们需要访问一台服务器上的文件,这个文件到底是怎样从它的磁盘上传到我们的客户端来的呢?文件需要从磁盘读取的情形是:

    客户提出数据请求-》服务器检查内存中的缓存,如果文件没有被缓存,系统决定从磁盘读取。

    好的,然后数据流大致是这样走向的:

    数据 -》磁盘读取-》硬盘背板-》RAID卡-》PCI-e总线-》总线控制器-》内存(处理器)-》网卡PCI-e插槽(集成网卡可能不需要)-》网络适配卡-》网络-》交换机-》客户端

    我们知道,这个系统最终输出带宽,应该遵从“水桶效应”,即输出带宽等同于环节中最慢部分的带宽。

    在大家传统的思路里,磁盘总是系统里最慢的组件。通过RAID卡,增加磁盘数目来增加并发的数据读取是可以提高数据读写性能的。但是这个是可以无限放大的吗?恐怕不是的。如果磁盘累加的读写性能已经超出PCI-e总线的传输带宽,或者超过了网络传输带宽呢?这时候系统的瓶颈就不是磁盘的。

    比如典型的PCI-e总线带宽是6Gb/s,现在的磁盘速度累加,很容易超出。瓶颈就成了总线速度了。

  • Richard回答的非常专业,结合“水桶效应”来解答,可想而知,你的学问功底很深厚,非常佩服。方便留下个MSN联系方式或QQ或QQ群,方便以后大家请教你。谢谢!

  • 呵呵,谢谢PEILAIGUANG的捧场,欢迎一起交流技术方面的问题。你可以直接发邮件给我的邮箱richard_li@dell.com,如果你有hotmail.com地址的MSN帐号,也可以直接加我的MSN: richard_li@dell.com

    当然,方便的话,我经常使用的是微博:@Richardat厦门,如果你联系我们的官方微博@戴尔技术中心社区 也是可以的。

  • 另外,时间的问题,下班前匆匆发了前面的回复,其实事情还没说完。

    这位网友可能又会问了,既然瓶颈成立PCI-e总线,那我的服务器可是有20块硬盘的,更多的硬盘难道只是提高空间,真的对性能的提升已经无能为力了吗?

    呵呵,我们提出这个问题,自然想引出想说明的答案。戴尔其实在服务器设计时,早就为部分追求性能的用户留好了后路。说的这点,就不得不说说戴尔服务器的“分离背板技术”了。

    相信许多销售和戴尔的同事在接触12G服务器的时候,都听过这个“分离背板技术”,有可能没怎么引起注意。它可以把两组硬盘物理地分别接入到两个独立的背板上去。这样每组硬盘可以通过独立的链接,接到独立的RAID控制卡上。这样,系统就可以安装2张物理的RAID控制卡来接驳这个分离背板。现在看清楚了吗?是两张控制卡,插在两个独立的PCI-e插槽里,累加的总线带宽就成了6Gb/s x 2 = 12Gb/s,实现了总线带宽的提升,也就是整体系统性能的提升。

    今天我们用户提的问题,正是戴尔服务器“分离背板技术”直接应对的客户痛点。

  • Richard,既然你提到背板分离,采用两张RAID卡,我想问的是能实现跨RAID卡组建RAID吗?前面提到的20块硬盘,采用这种背板分离+两张RAID卡,能实现20块硬盘组建成一组RAID吗?谢谢!

  • peilaiguang

    Richard,既然你提到背板分离,采用两张RAID卡,我想问的是能实现跨RAID卡组建RAID吗?前面提到的20块硬盘,采用这种背板分离+两张RAID卡,能实现20块硬盘组建成一组RAID吗?谢谢!

    本来想找个12G服务器做个实验的,实在手上没有多余的RAID卡。不过也没关系,这样的需求,其实在前几代服务器我们也做过类似的测试。估计在新一代服务器上是一致的。这个希望大家有条件的验证一下。

    戴尔RAID卡PERC是以单张控制卡为单位进行RAID的配置的。如果我们进入RAID控制卡配置界面,默认会选择第一张RAID卡进行后续的操作。这样,在创建RAID的时候,我们只能看到这张RAID卡上连接并识别出来的硬盘。另一张RAID卡上的硬盘是看不到的。如果需要使用第二张RAID卡上的硬盘,先得切换到第二张RAID卡,这时第一张RAID卡上的硬盘就不可见了。

    还有一种情形,如果我们的这张RAID开是双通道的RAID卡,单张RAID的两个通道分别连接两个分离的背板,这个时候,是可以创建跨越两个通道的RAID的。因为它们都在一个RAID卡上,操作界面里可以跨通道选择硬盘。

    最后,很重要的一点,跨RAID卡创建一个RAID是非常危险的行为。因为,如果其中的一个RAID卡出故障,会造成它挂接的所有硬盘丢失。而对于典型的RAID 5来说,大大超出了一个冗余硬盘的要求(想象一下一个20个硬盘组成的RAID 5,突然丢失10个硬盘是什么结局?),这会直接导致RAID破坏,数据丢失。所以一般管理员也不应该这样做。