我即将重新分配 2950 以将一些 VM 整合到单个 ESXi 服务器上。服务器如下
- 戴尔 2950
- 2x 英特尔 X5365 @ 3.0Ghz
- 16GB RAM (8x 2GB ECC)
- 2 个 73GB 10k SAS
- 4 个 300GB 10K SAS
我的问题是我应该使用 RAID1/RAID10 还是 RAID1/RAID1/RAID1?
虚拟机如下:
- 100 个用户的 MOSS 前端
- 适用于 100 个用户的 MOSS SQL 后端
- IIS 网站流量非常低
- TOMCAT 网站流量极低
- 在我们的 Exchange 和 ERP 服务器之间同步联系人的 CRM 应用程序也不是蛮横的
任何关于如何从 MOSS 中获得最佳性能的建议都将不胜感激。
请注意,这是我唯一可用的硬件,我们的预算非常紧张,无法购买另一台服务器来托管 SQL,因此它必须保持虚拟化。
编辑:数据库是读取密集型的,写入很少。我认为这有助于所有 RAID1 位置
我会使用 RAID10 中的四个驱动器而不是两个 RAID1 阵列,因为您将看到 SQL VM 的性能提升。
由于您有足够的 RAM,因此您可以为其他虚拟机提供足够的内存,它们永远不需要交换,而且我猜他们也不需要太多其他磁盘 IO,因此不会以这种方式影响 SQL 虚拟机。如果它们确实施加了显着的 IO 负载,则将其放在另一个较小的 RAID1 阵列上,让 SQL VM 拥有 RAID10 阵列。
如果您有两个或更多虚拟机施加了高 IO 负载,那么您可能希望使用多个 RAID1 阵列而不是 RAID10 阵列,因为您可以将它们的 IO 负载分离到不同的磁盘集,但您必须做一些用有问题的应用程序对自己进行基准测试,看看这是否会给您带来比 RAID10 明显的速度优势(我猜任何差异都会很小,但这取决于加载模式,并且拥有更大的 RAID10 卷可能会从长远来看,比两个较小的更方便)。
我肯定会选择三个 RAID 1 卷;可用空间相同(占总磁盘大小的 50%),但您可以选择将 VM 放置在不同的阵列上,当两个 VM 各自位于其自己的物理磁盘上时,它们的执行速度要比它们快得多。重新分布在一个大阵列上。
然后我会像这样放置虚拟机:
第一个数组:OS、IIS、tomcat 第二个数组:MOSS 前端、CRM 第三个数组:MOSS 后端
根据您的工作量,您可以不同地放置它们;但是为磁盘最密集的虚拟机配备一个完全专用的阵列肯定会带来好处。
没有更多测量实际 IO 负载模式的难点。
我同意 David Spilett 的观点(尽管在这种情况下,尝试将大部分(如果不是全部)vm 系统磁盘文件直接放在第一个 RAID1 阵列上)虽然我正在考虑是否将 SQL 数据库和 SQL 日志拆分到两个单独的阵列上,因此主轴系统会更好与否... ^^
答案很简单,因为您的服务器已经配置为执行此操作,我将运行两个单独的 RAID 阵列,一个用于您的 VM,另一个作为您的存储组,
也就是说,在 RAID 1 中使用你的两个 73GB SAS 驱动器,然后在 RAID 10 中使用你的 4 300GB SAS 驱动器,设置两个 RAID 1 阵列没有意义,因为它基本上只是一个没有 IO 性能提升的 RAID10将从 RAID10 获得。
基本上,两个 RAID 1 卷可以容忍两个驱动器故障,只要它们不是同一个 RAID 1 块的一部分。相同的逻辑适用于 RAID 10 阵列,但使用 RAID 10 阵列,您将获得 RAID 0 的优势,使您的 IO 性能翻倍。如果由于 MOSS 或 SQL 服务器导致负载成为问题,您应该使用 VMWare 进行平衡,而不是配置 RAID 阵列。VMware ESXi 不仅能够跨大量 VM 调度磁盘使用。