适用于多个虚拟机的RAID 10或RAID 5 – 什么是最佳select?

我刚刚为我的生意订购了一个新的钻机。 我们为Microsoft SharePoint做了大量的软件开发工作,并且需要钻机来运行多个虚拟机来进行开发和testing。 我们将使用免费的VMware ESXi进行虚拟化。 首先,我们计划构build并启动以下虚拟机 – 全部使用Windows Server 2008 R2 x64:

  • Active Directory服务器
  • MS SQL Server 2008 R2
  • 自动构build服务器
  • SharePoint 2010 Server用于托pipe我们的公共Web站点和我们的内部Intranet为less数人。 这个服务器上的负载将是非常微不足道的。
  • 2xSharePoint 2007开发服务器
  • 2xSharePoint 2010开发服务器

除此之外,我们将需要build立几个SharePoint农场用于testing目的。 这些虚拟机只会在需要的时候启动。 新钻机的规格是:

  • 戴尔R610机架式服务器
  • 2xIntel XEON E5620
  • 48GB内存
  • 6x146GB SAS 10k驱动器
  • 戴尔H700 RAID控制器

我们相信新服务器将使我们的虚拟机性能比我们现有的设置(2xIntel XEON,16GB RAM,RAID 1中的2×500 GB SATA)要好很多。 但是我们不确定新钻机的RAID级别。

我们是否应该采用RAID 10configuration或RAID 5configuration的6x146GB SAS驱动器? RAID 10似乎提供了更好的写入性能和更低的RAID故障风险。 但是这样做的代价是更less的驱动器空间。 我们需要RAID 10还是RAID 5也是我们的不错select?

在这个网站上有很多类似的问题/论点关于R10与R5 / R6,但他们归结为“重build期间暴露”。 R10和R5的争论在处理更大,更慢的磁盘时是最强的,因为它们的GB / $是更好的(即2 / 3TB 7.2k SATAs),因为这些磁盘的arrays可能需要几天的时间才能重build磁盘replace或添加 – 意味着如果在此重build窗口期间第二个磁盘失败,整个arrays将会丢失。

对于这个网站上的许多人来说,这个风险太高,包括我自己。 R6改变了这一点,但通常带来它往往慢得多的写性能。 由于所有数据都在同一条总线上,包括“终身”stream量,所以在软件中进行任何操作都会进一步降低重build期间的性能。

你已经做好了select你的组件的工作,你一定会看到性能的巨大提高。 如果我是你,我不会“陷入最后的障碍” – 我会用R10知道你做了正确的事情。 如果您担心空间的问题,可以使用精简configuration的磁盘和/或购买600GB的10k磁盘而不是146GB的15k磁盘,性能下降不会太糟糕,但是您将拥有更多的空间 – 如果你需要额外的纱锭,你可以随时购买4×600的纱线,再加2个纱线。

如果这是一个关键任务系统,那么在出现故障时,您需要确保在本地备有一些备用驱动器(除非您在硬件上有一些支持合同,表示您可以在当天进行更换,但即使如此,本地备用是值得的)。

忽略这一点(或假设六个驱动器不计算备件,您可能会轻松访问)我build议RAID10(三个RAID1嵌套在一个RAID0)在RAID5由于性能的原因,你提到。 或者,如果空间不是问题,并且冗余和重build驱动器故障时间是一个大问题,那么您甚至可以考虑在RAID0中嵌套两个三驱动器RAID1(但这对于大多数目的来说是过度的允许每个R1支路上的两个驱动器在保持arrays有效的同时失效)。

还有另外一个select:三个单独的RAID1arrays(或者如果你的控制器支持3个驱动器RAID10(如一些控制器所称的RAID1E),可能还有两个RAID10arrays)。 通过这种方式,您可以将虚拟机分散到不同的主轴上,从而使IO带宽相互竞争得更less。 不同RAID1arrays上的两个虚拟机可以愉快地颠簸他们的虚拟磁盘,而不会对第三个arrays上的虚拟机或第三个虚拟机的响应性造成太大影响。 当然,这最终会浪费空间:最终可能在一个arrays上拥有大量可用空间,但不希望使用它,因为已经有一些I / O密集型虚拟机在该arrays上不断使用(尽pipe在这种情况下,如果你有一个单一的arrays,那么你将放入这个空间的虚拟机将会像这样竞争IO访问),否则每个arrays最终可能会有25Gb的空闲空间,但是新的虚拟机需要50Gb空间。

如果您在驱动器之间平衡您的虚拟机,这种技术可以使基于旋转磁盘和驱动器的驱动器有很大的不同。 它在固态硬盘上仍然有所作为,但是没有那么好,因为你没有头部移动和等待正确的扇区到传递问题,从而导致额外的性能消耗延迟。 虽然正如我上面所说,可以做更多的工作来pipe理。 在你描述的用例中,你可能会把这个轻量级的Sharepoint服务器和构build主服务器放在一个arrays上,将开发虚拟机放在另一个arrays上(每个arrays可能有一个arrays,如果你有三个arrays而没有其他活动的虚拟机)。 随着需求的变化,您始终可以在arrays周围移动虚拟机,以便在停机时间内重新平衡负载(如果您select的虚拟化解决scheme支持本地数据存储之间的实时迁移,则根本不需要停机)。

正如在这里已经回答了很多次 – 只是不使用RAID 5! BAARF对这个问题有一些强烈的看法!

性能会比RAID 10差,驱动器出现故障时重build时性能下降,如果在此期间另一个驱动器出现故障,您将从备份恢复!