我相当擅长处理SQL Server集群; 我想知道人们是否有经验,无论是好的还是坏的,在一个SQL 2005集群中使用来自同一供应商的不同型号的服务器。
假设:
在双节点集群中,我还有一个更强大,更多的RAM,更多的shizzle盒子和一个不那么强大,更less的内存,更less的shizzle盒子绑在一起。 这些将是惠普DL380和580机(不是这应该重要)
我理解并自动化每个SQL实例的内存pipe理过程,所以当SQL实例故障转移时,不存在内存争用。 基本上我认为CLR proc将监视实例,并自我调节每个实例的内存大小,以便它们不会分页或跨步。
我得到这样的事实,如果它们共享一个“较小”的节点,实例可能会变得更慢,或者在内存压力下,这没关系。 业务可以在服务器问题场景中处理较慢的实例。
合理? 任何“陷阱”要留意?
更多信息10/28:使用testing集群进行一些实验我发现重新configuration最大/最小内存是可以的。提供实例还没有受到内存压力。 如果我用一个需要大量内存的巨大查询折磨系统,同时将内存分配调整为比正在使用的内存分配更小的值,那么可能会将实例从内存中运行出来,并使其停止并重新启动(不愉快的情况)。 错误日志中的许多丑陋的内存不足消息,崩溃,烧毁…这是一个极端的情况,但很高兴知道。
因此,似乎只是在启动实例时才设置它是非常安全的,因为启动脚本中显示“我在node1上,所以我的RAM设置是X,或者我在节点2上,所以它们是Y“,就像这样:
HTTP://sqlblog.com/blogs/aaron_bertrand …
更新:我正在testing这里更详细描述的SQL Agent + PowerShell解决scheme。
那么根据服务器集群最佳实践 …
Server Error in '/WINDOWSSERVER' Application. -------------------------------------------------------------------------------- Runtime Error Description: An application error occurred on the server. The current custom error settings for this application prevent the details of the application error from being viewed remotely (for security reasons). It could, however, be viewed by browsers running on the local server machine. Details: To enable the details of this specific error message to be viewable on remote machines, please create a <customErrors> tag within a "web.config" configuration file located in the root directory of the current web application. This <customErrors> tag should then have its "mode" attribute set to "Off". <!-- Web.Config Configuration File --> <configuration> <system.web> <customErrors mode="Off"/> </system.web> </configuration> Notes: The current error page you are seeing can be replaced by a custom error page by modifying the "defaultRedirect" attribute of the application's <customErrors> configuration tag to point to a custom error page URL.
大声笑,但认真……即使我一直使用匹配的硬件,只要SQL仍然响应/可用在较慢的节点,我没有看到任何问题。
唯一的问题是要支持Windows 2003集群必须是HCL之一。 Windows 2008没有这个问题,因为唯一的要求是它通过validation。 但是对于Windows 2003,他们更挑剔。
我们用你提到的机器做了这个。 我们只是把内存限制在小机器的数量上。
基本上我认为CLR proc将监视实例,并自我调节每个实例的内存大小,以便它们不会分页或跨步。
你是什么意思? 我见过微软的build议,你不使用不匹配的内存量,因为它可能会导致故障转移的重大问题。 这似乎不是您可以随时调整的原因
也许我误会了…