请提供在 VMWare ESX 中虚拟化 SQL Server 的技巧和最佳实践 我对高级配置和设置感兴趣。
请提供您的建议背后的理由
编辑:澄清一下,我已经在使用 ISCSI equallogic San 的不同集群中拥有超过 70 个虚拟 SQL 服务器 -
我真正想要的是那些高级配置,例如:
您如何配置磁盘/RDM
您是否使用了 Mem.ShareScanGHz 之类的设置 - http://communities.vmware.com/thread/143828 - 没有很好的文档记录
通常我讨厌链接到供应商白皮书,但 VMware 发布了一份白皮书,这非常好:
http://www.vmware.com/files/pdf/solutions/sql_server_virtual_bp.pdf
里面的一切都很重要,我可以亲自为他们担保。更少的虚拟 CPU 确实比更多更好:如果您没有使单个 CPU 100% 饱和,那么您不想添加第二个虚拟 CPU。它与 VMware CPU 调度的工作方式有关。
文档中唯一未明确定义的是多路径。使用 ESX 3.5 及更早版本,您的 SAN 无法获得真正的主动/主动多路径。如果您需要为单个虚拟机提供多个 HBA 的带宽,则在 vSphere 4 发布之前,它需要作为物理机保留,即便如此,您也必须获得顶级版本才能获得真正的多路径。
我们有一个 3 节点的 vmware 集群,每个节点是 HP 365(2xCPU 4 核,1.8Mhz),每台服务器 32 GB RAM 和与磁盘的光纤通道连接。
我们支持超过 20 个 SQL 虚拟机(SQL2000、SQL2005 和 SQL2008,实时、开发和测试)以及其他通用 Windows 2003 服务器(iis6、应用程序、文件和打印等),并且至少还有两倍的迁移到它上面,我不不要期望有任何性能问题。
这三个节点为我们提供了“顶级”冗余和弹性。如果一个节点出现故障(或进行维护),其他两个节点仍然可以提供相同的性能。三个是奢侈品(或者他们喜欢称之为最佳实践),两个就足够了。
实际的虚拟机很轻。通常 1vCPU 和 1GB RAM,它们托管 20 或 30 个数据库。一两个繁忙的虚拟机是两倍,但这通常是因为使用 SQL Server 作为玩具的应用程序编写不当(不使用存储过程等,但在“其他”网站上已经讨论死了!;)
vm 让我们可以灵活地创建更多“更小”的服务器,这些服务器具有相似的使用模式(让大数据移动者远离轻量级网站系统)和/或 SLA 要求(将所有重要的东西与通用和标准化的操作实践保持在一起) )。
鉴于我们拥有大量 RAM、CPU 和快速磁盘,我们不必对系统进行微调。磁盘是多个 RAID 10 阵列(大致分为操作系统、事务日志和数据库),具有一些用于备份和转储的大 RAID%。
大量冗余 1GB 网络连接到冗余边缘交换机。
最近的 VMware 社区播客中深入介绍了该主题。请在此处查看:http: //blogs.vmware.com/vmtn/2009/03/virtualizing-sql-server-podcast-white-paper.html,并在此处收听第 42 集:http://www.talkshoe .com/talkshoe/web/talkCast.jsp?masterId=19367