我有两个Windows 2012 R2节点上运行的多子网SQL Server 2012故障转移群集。 在NODE A上时,集群位于192.168.1.10,在NODE B上时,集群位于192.168.5.10。当我查看域上的DNS时,我看到2个logging:
SQLCLUSTER – 192.168.1.10
SQLCLUSTER – 192.168.5.10
从我读的时候,有2个同名的logging,Windows客户端应该足够聪明,可以在10秒内确定实时IP,但是我没有那么做。 如果我把集群从NODE A转移到NODE B,许多客户机(web和SSRS)将不会提取新的IP地址。
所以,例如,如果我在SSRS机器上,并ping SQLCLUSTER,我会看到它从192.168.1.10回复。 如果我把群集切换到NODE B并再次ping,它仍然试图ping 192.168.1.10,而不是.5.10。
这似乎是确保它正常工作的唯一方法是删除离线节点的DNSlogging,然后在客户端上执行flushdns / registerdns。 有可能是我错过了吗? 是DNS服务器在192.168.1.x子网上的问题,并可能优先于.1.x地址?
我看着事件查看器,并没有看到有关写入DNSlogging或读取它们的任何错误,所以这导致我相信我可能只是有一些configuration不当的东西。
好吧,我想我find了一个解决方法 – 这不完全漂亮,但它确实有效。
从这里find的信息: https : //blogs.msdn.microsoft.com/sambetts/2014/02/04/multi-subnet-clustered-sql-registerallprovidersip-sharepoint-2013/
我将RegisterAllProvidersIP设置为0,然后将HostRecordTTL设置为300并重新启动angular色。
这将强制群集仅在DNS中注册1个地址,并将其TTL默认为5分钟。