探索中国CIO人才现状 | 第四季调研报告
优化服务器虚拟化的建议
2013-03-02  作者:机房360 

  1.在主机上使用支持SLAT的64位处理器


  第一条也是最重要的一条关于SQL服务器虚拟化的建议是,确保你的虚拟化主机正在使用正确的处理器。虽然64位处理器绝对是必备的,但并不是所有的64位处理器都支持二级地址转换(SLAT)。特别是版本过旧的服务器可能不支持SLAT。虚拟机管理器负责把虚拟机里的虚拟内存映射到主机的物理内存。但是SLAT把这一任务从虚拟机管理器转移到CPU本身,从而提高虚拟机的性能和规模。


  2.保持内存储器与虚拟CPU之间一对一的关系


  虽然没有严格的要求,但是一比一的比例可以确保每个虚拟机一直拥有可用的处理能力。资源密集型的生产工作负载,如SQL服务器等需要处理能力。


  3.利用动态内存


  利用动态内存你需要使用企业版的SQL服务器2008,2008R2或2012,或SQL服务器数据中心版的SQL服务器2008或2008R2。此外,VMguest操作系统需要支持hot-addRAM。WindowsServer2012R2SP1和2003R2SP2企业和数据中心版都支持HotAddRAM。当SQL服务器工作负载导致状态木马进程发展时,SQLServer


  数据库引擎将检测到增加的内存并增加其缓冲区以满足负载需求。


  4.使用固定的虚拟硬盘


  对于运行生产工作负载的虚拟化SQLServer系统来说,固定的虚拟硬盘(VHD)是最好的选择。对于实验室测试环境或非关键生产工作负载来说,动态VHDs是一个不错的选择。动态VHDs使用的磁盘空间比固定虚拟磁盘使用的少,但是它们的性能却不是一个等级的。当动态磁盘需要扩展时,运行在动态VHDs上的工作负载会暂时停止。差分磁盘真的最适合于实验室环境。在实验室环境中,磁盘空间需求量非常大。它们使用更少的存储空间,但是性能也相应很低。对输入/输出要求最高的工作负载来说,直通磁盘是个不错的选择,但是它们没有固定的VHDs那样的灵活性。


  5.将操作系统、数据和记录文件分开


  如果你使用VMwareVSphere或微软Hyper-V提供的默认配置,你的虚拟SQL服务器到最后性能一定很糟糕。默认的配置使用一个单一的VHD进行存储。大多数交易量多的生产负载会立即碰到争抢磁盘资源问题。对于生产虚拟SQL服务器,你应该将你的操作系统、数据文件和记录文件分别存储在不同的VHDs或直通磁盘上。意识到物理磁盘的能力是很重要的,而且你还要确保用于guest操作系统和SQL服务器数据和记录文件的磁盘使用的是独立的硬盘和光驱。