虚拟机使用 RAID1 还是 RAID10?

虚拟机使用 RAID1 还是 RAID10?

我即将重新部署 2950,将一些虚拟机整合到单个 ESXi 服务器上。服务器如下

  • 戴尔 2950
  • 2 个英特尔 X5365 @ 3.0Ghz
  • 16GB RAM(8x 2GB ECC)
  • 2 个 73 GB 10k SAS
  • 4 个 300 GB 10K SAS

我的问题是我应该选择 RAID1/RAID10 还是 RAID1/RAID1/RAID1?

VM 如下:

  1. 适用于 100 个用户的 MOSS 前端
  2. 适用于 100 个用户的 MOSS SQL 后端
  3. IIS 网站流量很低
  4. TOMCAT 网站流量非常低
  5. CRM 应用程序在我们的 Exchange 和 ERP 服务器之间同步联系人,也不是蛮力

如果能提供关于将什么放在哪里才能使 MOSS 发挥最佳性能的任何建议,我们将不胜感激。

请注意这是我唯一可用的硬件,我们的预算非常紧张,无法购买另一台服务器来托管 SQL,因此它必须保持虚拟化。


编辑:数据库读取密集,写入很少。我认为这有助于所有 RAID1 的位置

答案1

我肯定会使用三个 RAID 1 卷;可用空间相同(占磁盘总大小的 50%),但您可以选择将虚拟机放在不同的阵列上,当两个虚拟机各自位于自己的物理磁盘上时,它们的运行速度比仅分布在一个大阵列上要快得多。

然后我会像这样放置虚拟机:

第一阵列:OS、IIS、tomcat 第二阵列:MOSS 前端、CRM 第三阵列:MOSS 后端

根据您的工作负载,您可以将它们放置在不同的位置;但为磁盘密集型虚拟机配备完全专用的阵列肯定会带来好处。

答案2

我会使用 RAID10 中的四个驱动器而不是两个 RAID1 阵列,因为您将看到 SQL VM 的性能提升。

由于您有足够的 RAM,因此您可以为其他虚拟机提供足够的空间,这样它们就永远不需要交换,而且我猜它们也不需要太多其他磁盘 IO,因此不会以这种方式影响 SQL VM。如果它们确实施加了明显的 IO 负载,请将其放在另一个较小的 RAID1 阵列上,并让 SQL VM 拥有自己的 RAID10 阵列。

如果您有两个或更多施加了高 IO 负载的虚拟机,那么您可能需要使用多个 RAID1 阵列而不是 RAID10 阵列,因为您可以将它们的 IO 负载分离到不同的磁盘组上,但您必须对相关的应用程序进行一些基准测试,以查看这是否比 RAID10 给您带来明显的速度优势(我猜任何差异都很小,但这取决于加载模式,从长远来看,拥有更大的 RAID10 卷可能比两个较小的卷更方便)。

答案3

如果没有对实际 IO 负载模式进行更多测量,这将是一个难题。

我同意 David Spilett 的观点(尽管在这种情况下尝试将大多数(如果不是全部)虚拟机系统磁盘文件直接放在第一个 RAID1 阵列上),但我在考虑是否将 SQL db 和 SQL 日志拆分到两个单独的阵列上,因此主轴系统会更好... ^^

答案4

答案很简单,由于您的服务器已配置为执行此操作,我将运行两个单独的 RAID 阵列,一个用于您的 VM,另一个作为您的存储组,

也就是说,在 RAID 1 中使用两个 73gb SAS 驱动器,然后在 raid 10 中使用 4 个 300GB SAS 驱动器,设置两个 RAID 1 阵列是没有意义的,因为它基本上只是一个 RAID10,而没有从 RAID10 获得的 IO 性能提升。

基本上,两个 RAID 1 卷可以容忍两个驱动器故障,只要它们不是同一个 RAID 1 块的一部分。同样的逻辑也适用于 RAID 10 阵列,但使用 RAID 10 阵列,您可以获得 RAID 0 的好处,从而使您的 IO 性能翻倍。如果由于 MOSS 或 SQL 服务器导致负载成为问题,您应该使用 VMWare 进行平衡,而不是配置 RAID 阵列。VMware ESXi 完全有能力在大量虚拟机之间调度磁盘使用情况。

相关内容