虚拟机中有必要有 RAID 吗?

虚拟机中有必要有 RAID 吗?

我在 RAID 10 上安装了 Windows 2008 Enterprise,其中运行着 Active Directory、托管 Exchange 和 HyperV VM 上的 Web 服务器。我需要为 Exchange 设置虚拟 RAID 吗?如果需要,为什么?

编辑:感谢大家的回答。非常有帮助!

答案1

一般来说不是,这不是一件好事。

让底层存储执行 RAID,除非您有令人信服的极端情况,否则不要添加软件 RAID,即使如此,您也应该重新考虑您的设计。它会增加开销,降低性能,并且不会带来很多好处。

软件 RAID 有其适用之处。但并不在硬件 RAID 之上。

答案2

软件 RAID 真正适用于您拥有多个物理磁盘而没有附带 RAID 功能的 HDD 控制器的情况。如果您拥有硬件 RAID,那么我很难看出除了硬件 RAID 之外软件 RAID 还能带来什么好处。相反,在硬件 RAID 之上使用软件 RAID 可能会对磁盘子系统的性能造成影响。

在某些极端情况下,在硬件 RAID 之上使用软件 RAID 可能会带来一些好处,但目前我想不出任何好处。此外,我很难想象在虚拟机中使用软件 RAID 会带来任何好处的场景……无论有没有底层硬件 RAID。

如果您在 VM 中实施软件 RAID,并且底层非 RAID 物理磁盘出现故障,我很难看出软件 RAID 在这种情况下如何有用。

答案3

VM 内部的软件 RAID 通常不是一个好主意:

  • 它使主机系统必须处理的写​​入请求数量增加了一倍
  • 它降低了主机上的读取缓存效率(如果客户端从不同的磁盘请求相同的数据,主机如何知道数据已被缓存)
  • 配置更复杂(例如,将虚拟机转移到另一台主机时,需要复制并重新连接两个虚拟磁盘)

您的虚拟机应尽可能地保持低调,甚至比默认设置还要低调:禁用 I/O 调度程序,只将所有数据尽快写入虚拟磁盘。使用虚假几何结构优化虚拟磁盘的磁头移动不会产生良好的结果,这为“真实”I/O 调度程序提供了更好的机会来优化整个系统。

理想情况下,使用硬件 RAID 解决方案,不是因为硬件 RAID 卡更好(其实不然),而是因为它们有电池备份驱动器缓存,这使得日志文件系统上的事务可以在日志条目传输到控制器后立即进行,而不是写入磁盘。这可以显著提高速度。

答案4

RAID 的目的是管理您的存储硬件。您的主机系统当然应该使用某种形式的冗余存储,无论是本地 RAID10,还是 SAN 上的 RAID 5/6/Z 等。由于虚拟机不会将其数据存储在实际硬件上,因此如果您将 CPU 花费在只会重复执行相同操作的存储上,那么您就是在浪费资源。

当然,一切都取决于你想要实现什么。如果你是一名操作系统开发人员,需要在内核中测试 RAID 软件,那么在虚拟机中使用 RAID 可能是一件好事。:)

但对于大多数人来说,保持虚拟机尽可能小巧精简是一个更好的主意。删除不必要的软件(或者更好的是,一开始就不要安装它),使用稀疏文件系统进行存储,并始终确保您的主机系统有一个备用驱动器以防万一出现故障。(您正在构建 RAID10。您不需要四个磁盘。您至少需要五个。)

相关内容