我有一个小型的ESX 3.0实施 – 主要是testingnetworking服务器,但是有一个数据库服务器可怕的性能。
在RAID中添加额外的虚拟化磁盘是否有助于提高性能?
我的经验是,无论在VMware(或其他虚拟化)下运行数据库的操作系统是否等于slooooooooooooooo I / O。 较新的VMware版本改善了这种情况,但与裸机操作系统的安装方式不同。
我不知道ESX 3.0有什么样的I / O开销,因为它是一个过时的产品。
使用VMware vSphere(4.x)进行testing表明,在I / O密集型应用程序上几乎没有任何开销 – 只要您正确地扩展您的设置即可。
首先:VMware在与其他RAID使用相同的基础上受到RAID的影响。 您不能将多个虚拟机和一个沉重的I / O虚拟机放在同一个LUN /arrays上,并期望它变得精彩。
有几个步骤可以确保您的数据库获得完整的性能。 这是最基本的:
我还build议您在更改configuration之前了解导致您的I / O瓶颈的原因。
这是典型的 – 虚拟机经常忽略数据库拥有的IO装载。 数据库通常是共享存储的不良候选者,因为他们需要大量的IO。 受感染的设置将从共享存储中运行虚拟机的方向,但实际的数据库使用来自分散专用LUN的光盘系统。
与其说VmWare非常聪明,因为数据库往往有特殊的需求。 作为一个例子(Hyper-V,但适用相同的原则):*我运行一个非常大的Hyper-V服务器与32GB内存。 * OS +虚拟镜像运行4盘RAID 10,Velociraptor。 性能是OK的…除了:*在那里运行的SQL Server在RAID 10中有另外的6(!)光盘,它的数据可以满足专用的IO负载要求,还有用于logging的光盘。
根本没有真正的方法让所有在相同的RAID正确。 数据库典型的LOVE IO性能 – 共享设置不能保护那些。
所以,我的build议是:为实际数据制作一些单独的光盘。