虚拟化只是个工具并不适合所有场景
DOIT云计算 12年06月01日 15:00 【转载】 作者:机房360 责任编辑:王振
导读:虚拟化技术逐渐成熟,将SQL Server实例迁移到虚拟化服务器上也越来越流行。物理机的数目在减少,随之而来的是耗电量的减少和License成本的降低,而且更易于管理。
当虚拟内存不够时
物理内存对数据库有很多好处:内存是执行操作和缓存I/O的地方。所以SQL Server在独立的机器上工作得最好就是这个原因,因为它能随意根据需要供应内存,不用直接与同一台机器上的其他应用竞争内存。拇指规则就是使整个数据库有足够的内存可用,或者至少是最常用的部分只要有可能就被缓存在内存中。
相同的数据库服务器的虚拟化版本需要有与物理服务器等量的内存,或者比物理服务器内存还要更多。许多虚拟系统都通过内存共享技术允许多个虚拟机共享 一致的内存页。但是这种共享是对每个虚拟机上运行的操作系统而言的。这些内存大多在虚拟机之间可共享,而并非是数据库本身的组成部分。
这是另外一个领域,为SQL Server实例做内存消耗统计是有帮助的。这样你就能看到产品数据库到底需要使用多少内存,你最好能及时得到通知,了解在虚拟机中如何根据内存需求调整资源的分配。
除非必要否则不要使用虚拟化
另外,还会迫不得已使用虚拟化的情况,这意味着计划中就没有把虚拟化的优点考虑在内,只是在没上这个技术的时候,系统的表现更糟糕,而希望虚拟化能够解决一些问题。
例如,如果你有一个历史遗留的SQL Server,独占一台Server.按如今的硬件标准,如果对服务器的访问量不大,这种情况比较适合做虚拟化。机器越老或越慢,你越能从虚拟化中获得更多优势。合并多台服务器意味着消耗的电力更少,制冷和空间占用也都减少了。
另一方面,如果是一个完整的SQL Server集群,想通过虚拟化节约成本或获得性能优势。将集群虚拟化可能在耗电量和制冷方面有所节省--但如果虚拟化是以整体性能为代价的,那最好还是不要做虚拟化。
SQL Server虚拟化只应该在有好的业务需求的时候实施,而且在此过程中也不应失去整体IOPS或内存。尽管这些优点使虚拟化看上去很神奇,但重要的是要记住虚拟化只是个工具而不是所谓的万能药。