![为了获得 ESX 4 的最佳性能,我应该创建多少个数据存储区?](https://linux22.com/image/524276/%E4%B8%BA%E4%BA%86%E8%8E%B7%E5%BE%97%20ESX%204%20%E7%9A%84%E6%9C%80%E4%BD%B3%E6%80%A7%E8%83%BD%EF%BC%8C%E6%88%91%E5%BA%94%E8%AF%A5%E5%88%9B%E5%BB%BA%E5%A4%9A%E5%B0%91%E4%B8%AA%E6%95%B0%E6%8D%AE%E5%AD%98%E5%82%A8%E5%8C%BA%EF%BC%9F.png)
我有 6 个 500GB SATA 驱动器,我想用它们创建 RAID 10,这样大约有 1.3TB 空间。创建两个数据存储区(将 1.3TB 分成两半)或只创建一个大数据存储区对我有好处吗?我需要容纳 22 个虚拟机。
我考虑创建 2 x RAID5 阵列(每个阵列 3 个磁盘),但所有迹象都表明运行 RAID 10,而不是 RAID 5。
答案1
从性能角度而言使用 RAID10。
还可以创建尽可能大的卷,例如一个阵列中的所有磁盘(请记住 ESX 的最大数据存储限制为 2TB)
如果其他虚拟机没有大量使用磁盘,这将允许一个具有大量磁盘活动的虚拟机从所有磁盘读取以获得最快的性能。
分割只会使性能减半,并强制进行一些小的分割,因为您也会将每个 RAID 阵列的吞吐量减半。
通常,如果您没有积极管理磁盘 IO,那么只需将尽可能多的磁盘集中在一起,然后让虚拟机管理程序处理负载平衡/优先级。
vSphere 4.1 版还暗示包含用于对特定虚拟机的磁盘访问进行优先排序的工具(如果您愿意的话),这可能会以不同的方式解决您的问题。
答案2
正如上文所述,RAID 10 提供了高性能,但会损失阵列中的大量空间。我们在 SAN 上使用了 RAID 50。RAID 10 的开销很大,但性能和可靠性都很好。RAID 50 的效率比 RAID 10 高得多。您还可以获得更多空间。例如,我们使用一个 16 驱动器阵列,其中有 450GB SAS 驱动器。RAID 10 只会提供 3.6TB 的空间。RAID 50 会提供 6.3TB 的存储空间。
这是一个用于 RAID 大小计算和性能评级的优秀网站。
http://raidcalculator.icc-usa.com/
我使用 1.5TB 作为数据存储大小,并将使用专用数据存储来存储 Exchange 和 SQL 等高可用性应用程序。我们仔细研究了 RAID 10 和 RAID 50。正是额外的容量让我们转向了 RAID 50,到目前为止,性能看起来相当不错。
答案3
不要考虑数据存储的大小和数量,而要考虑哪些虚拟机的 IO 限制更高,并将它们放在自己的数据存储上。一定要像其他人建议的那样使用 RAID 10。
答案4
为了获得最佳性能,您可能需要考虑创建 3 个 500GB RAID 1 容器并在它们之间分配磁盘密集型工作负载 - 这可以减少/避免两个磁盘密集型虚拟机访问同一物理磁盘的机会(因此理论上可以减少磁头寻道次数)如果你正确地进行微观管理(如果你搞砸了,可能会降低性能)。
实际上,我认为大型 RAID10 容器和单个 VMFS 卷没有任何问题。我认为将单个 RAID 容器拆分为多个 VMFS 卷不会为您带来任何性能方面的好处:您受到独立于 VMFS 卷定义的物理限制的约束(但如果我错了,有人会纠正我)。
编辑添加:正如其他人提到的,RAID5 在性能方面不是一个好主意:-)