Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

We have two datacenters in our environment: primary and DR. I need to deploy a KMS service, and to be proactive, I would like to have a host in both datacenters. From what I have read, you can have up to 6 hosts without calling Microsoft, and it appears that what will happen is that a SRV record for each host will be placed in DNS. The client will query for those SRV records and randomly choose a host for the initial activation and will use that same server for all renewals. The server can be changed manually through a script and will automatically change if the initial server is unavailable when activating or renewing.

My question is has anyone found a way to designate one server as the primary KMS host and designate the other as failover only? The reason I ask is that it is preferred that the client communicate with the primary datacenter during normal operations and only talk to the DR datacenter when needed because the bandwidth between the offices and the DR datacenter is limited compared to the primary.

I am sure that this has been done before but I can not find it MSFT's documentation.

Thanks,

Mark

share|improve this question

1 Answer 1

up vote 0 down vote accepted

This solution only works on Windows Server 2008 R2 (or Windows 7) KMS hosts and is only read by Windows 7 and Windows 2008 R2 clients.

You can apply priority and weight to the DNS records associated with the KMS host. This is done by adding a MULTI_SZ value called DnsDomainPublishList to the HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform registry key. The formate is: domainname, priority, weight (example company.com, 10, 100).

This will give hints to the client on which server to contact first. According to the documentation, you should disable KMS host caching on the client so that it will always look at this priority and weight when registering. This can be done by running SLMgr.vbs /ckhc on the client. This will ensure that the clients do not continue to use the lower priority (higher number) host once the high priority (lower number) host is available.

For more information see: http://technet.microsoft.com/en-us/library/ee355153.aspx#EZAA

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.