是否有必要在虚拟机中安装 RAID?

Ite*_*ity 6 raid hyper-v virtual-machines software-raid

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

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

MDM*_*rra 31

通常不,这不是一件好事。

让你的底层存储做 RAID,除非你有一个引人注目的边缘案例,否则不要添加软件 RAID,即使这样你也应该重新考虑你的设计。它会增加开销,降低性能,并且不会增加很多好处。

软件 RAID 占有一席之地。那个地方不在硬件 RAID 之上。


joe*_*rty 10

软件 RAID 真正适用于当您有多个物理磁盘而没有随附的支持 RAID 的 HDD 控制器时使用。如果您有硬件 RAID,那么我很难看出除了硬件 RAID 之外,软件 RAID 还能提供什么好处。相反,在硬件 RAID 之上的软件 RAID 可能会导致磁盘子系统的性能下降。

在某些边缘情况下,硬件 RAID 之上的软件 RAID 可能会提供一些好处,但我目前想不出任何好处。此外,我特别难以想象在 VM 中使用软件 RAID 会带来任何好处的场景……无论有没有底层硬件 RAID。

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


Sim*_*ter 7

VM 内的软件 RAID 通常是个坏主意:

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

你的虚拟机应该表现得尽可能愚蠢,这甚至比默认的更愚蠢:禁用 I/O 调度程序,尽可能快地将所有数据写入虚拟磁盘。使用假几何优化虚拟磁盘的磁头运动不会产生好的结果,这为“真正的”I/O 调度程序提供了优化整个系统的更好机会。

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

  • *“不是因为硬件 RAID 卡更好”* - 您刚刚概述了为什么硬件 RAID 解决方案*更好*。 (2认同)

gho*_*oti 5

RAID 的目的是管理您的存储硬件。您的主机系统当然应该使用某种形式的冗余存储,无论是本地 RAID10 还是 SAN 上的 RAID 5/6/Z 等。由于虚拟机不会将其数据存储在实际硬件上,如果您使用以下方式,您就是在浪费资源将 CPU 的存储空间增加一倍,用于只会再次做同样事情的事情。

当然,一切都取决于您要实现的目标。如果您是操作系统开发人员并且需要在您的内核中测试 RAID 软件,那么您的 VM 中的 RAID 可能是一件好事。:)

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