避免这些重要的SQL Server虚拟化错误


摘要:
今天的Hyper-V和vSphere等hypervisor可以很容易地虚拟化像SQL Server这样的服务器。
但是,它们还可以很容易地创建性能较差的虚拟化SQL服务器实例。
在本文中,我将介绍在虚拟化SQL Server时可能犯的一些最大的错误。


虚拟化SQL Server时要避免的一些主要错误是:

需使用现代处理器部署虚拟器

需使用拥有多核处理能力的CPU,
因为现代处理支持二级地址转换的功能。
该功能使CPU能够维护虚拟机使用的虚拟内存与虚拟化主机中的物理内存之间的映射。如果这个内存映射任务不是由CPU执行的,那么管理程序必须承担额外的工作,这会降低虚拟机的性能,并使CPU周期远离主机上运行的所有其他虚拟机。SLAT使得该虚拟内存映射能够由CPU以硬件执行,从而提供更好的性能和可扩展性。

不要在虚拟机上部署过多的应用

作为实现最佳性能的一般经验,您应该尝试为您配置的每个虚拟CPU预留一个物理内核。
如果您配置虚拟内核比物理内核多很多,虚拟化软件也能正常使用,只是虚拟机性能会下降。
例:文件服务或小规模数据库工作负载可能不需要太多的处理能力,不会消耗过多的CPU,
但是当我们部署的应用是密集计算型,那么我们配置过多的应用,将会影响主机的处理能力。

虚拟机需配置足够的内存

内存是限制虚拟机运行个数的最大限制因素。
为了部署更多的虚拟机,我们限制虚拟机的内存应用会导致sqlserver这类内存需求量大的应用,性能得不到更大的发挥,
所以在sqlserver虚拟化中,我们需要配置为动态内存模式,使sqlserver性能达到最佳。 

不要使用默认存储配置

就像物理服务器一样,虚拟SQL Server实例的磁盘配置可能会对SQL Server性能产生巨大影响。
虚拟机的默认设置将创建一个具有单个VHD的新VM。
使用这种配置会导致将操作系统文件以及SQL Server数据和日志文件都放在同一个VHD上。
此默认存储配置仅适用于事务率低的小型虚拟SQL Server实例。
具有较高事务处理速率的大多数生产工作负载会立即遇到磁盘争用问题。
更好的做法是将操作系统,数据和日志文件分割到由不同磁盘或SSD驱动器提供服务的独立VHD上。
避免这些常见且容易出错的虚拟化将有助于确保您的虚拟化SQL Server实例能够满足您的性能和可用性目标。