是否有必要在虚拟机中使用RAID?

我在RAID 10上运行Active Directory,Hosted Exchange和HyperV虚拟机上的Web服务器上的Windows 2008 Enterprise。 我需要一个Exchange虚拟RAID吗? 如果是这样,为什么?

编辑:谢谢大家的答案。 很有帮助!

一般不会,这不是一件好事。

让你的底层存储做RAID,不要添加软件RAID,除非你有一个引人注目的优势,即使这样你也许应该重新考虑你的devise。 这将增加开销,降低性能,而不是增加很多好处。

软件RAID有它的地方。 那个地方不在硬件RAID之上。

当有多个物理磁盘而没有配备RAID的HDD控制器时,软件RAID实际上是用于使用。 如果你有硬件RAID,那么我很难看到软件RAID除了硬件RAID之外还有什么好处。 相反,在硬件RAID之上的软件RAID可能会导致磁盘子系统的性能下降。

在硬件RAID之上的软件RAID可能会有一些优势,但是现在我想不出来。 此外,我将特别困难地设想一种情况,即在虚拟机中使用软件RAID将提供任何好处…无论是否具有基础硬件RAID。

如果您在虚拟机中实施软件RAID,并且底层的非RAID物理磁盘出现故障,则很难在这种情况下查看软件RAID如何提供帮助。

虚拟机内部的软件RAID通常是一个坏主意:

  • 它会使主机系统必须处理的写​​入请求数量增加一倍
  • 它会降低主机上的读取caching效率(如果客户端请求来自不同磁盘的相同数据,主机如何知道数据已被caching)
  • configuration更复杂(例如,将VM转移到其他主机时,需要复制和重新连接两个虚拟磁盘)

您的虚拟机的行为应该尽可能愚蠢,甚至比默认虚拟机还要笨:禁用I / O调度程序,只需尽快将所有数据写入虚拟磁盘。 使用假几何来优化虚拟磁盘的磁头移动不会给出好的结果,这给“真正的”I / O调度器更好的机会来优化整个系统。

理想情况下,使用硬件RAID解决scheme,不是因为硬件RAID卡更好(他们不是),而是因为它们具有电池备份驱动器caching,一旦日记条目被传输,它就允许在日志文件系统上的事务处理到控制器,而不是写入磁盘。 这提供了显着的速度提升。

RAID的目的是pipe理你的存储硬件。 您的主机系统当然应该使用某种forms的冗余存储,无论是本地RAID10还是SAN上的RAID 5/6 / Z等。由于虚拟机不会将数据存储在实际的硬件上,因此如果您花费CPU把存储量加倍到只做同样事情的东西上。

当然,一切都取决于你想要达到的目标。 如果您是操作系统开发人员,并且需要在内核中testingRAID软件,那么虚拟机中的RAID可能是一件好事。 🙂

但是对于大多数人来说,让虚拟机尽可能小而精简是一个更好的主意。 删除不必要的软件(甚至更好,不要安装在第一位),使用稀疏的文件系统进行存储,并始终确保您的HOST系统有一个备用驱动器方便的情况下,一个失败。 (您正在构buildRAID10,不需要四个磁盘,至less需要五个)