Windows DNS SRV record on failure
Hi all, We have a small problem in our lab setup. It may also be due to our lack of understanding of how the whole thing works too. The scenario is this. We have our Domain Controller DNS machine configured with 2SRV records like below. _foo._tcp.bar.com0 60 10000 mybox1.bar.com _foo._tcp.bar.com 0 40 10000 mybox2.bar.comWhen we do a nslookup, we receive both the records in sorted manner butalternating for each request.But when one of the mybox1 or mybox2 is taken down, I was under the impression that the dns client making a SRV request for the _foo._tcp.bar.comwill receive only the pointer to the machine which is active. But thats not happening in our case. We get both the records. We have also played around with the TTL, aging, scavenging etc in our Windows Server 2008 machine, but in vain :(.Any pointers or techniques or any help for that matter will be sincerely appreciated. Machine specs : Windows Server 2008 standard 32-bitClients running on Windows Vista
December 3rd, 2009 10:09am

In regards to the statement "When we do a nslookup, we receive both the records in sorted manner but alternating for each request.", this is more than likely that you have "Round Robin" enabled for that DNS server. You can check by looking at the properties of the server name in the DNS console, Advanced Tab. No to answer you question why DNS will provide both records even though one of the servers is unavailable is because DNS is not designed to do "health" checking on the records. DNS has no way of knowing that a server is down. Therefore DNS will always provide the DNS client "resolver" with the records that it is asking for. Modify the TTL will only affect the time that the DNS record is cached on the DNS client. Modifying the aging and scavenging properties will affect the time it take to remove "stale" objects from the DNS database. While I understand why you were trying to modify these properties, you have to understand that the purpose of aging and scavenging is to keep the database as "clean" as possible. A similar related solution which is typically used to load balance servers, such as web servers is to use a Load Balancing Appliance, or even Microsoft's Network Load Balancing features. These technologies use various methods to determine when a server is non-responsive so that the packets would not be delivered to a server that cannot fullfil the request. Visit my blog: anITKB.com, an IT Knowledge Base.
Free Windows Admin Tool Kit Click here and download it now
December 3rd, 2009 7:33pm

Thanks Jorge. That was really helpful. If we go by this voip-info link, do we really get the feature that we are looking for in some *X servers?http://www.voip-info.org/wiki/view/DNS+SRVI think I will have to code some resolver and cache it too with a good TTL.
December 3rd, 2009 9:03pm

Ok, I understand more of what you are tyring to do. Keep this in mind as well. If the application that makes the DNS call can accept multiple responses and then attempt to connect to those resources (based on the responses condidering priority), then you really dont have to worry if the servers are up or down. The client application will continue to attempt to connect to the resource until it establishes a successful connection. At the very minimum, if the first server it tries is down, there will be a delay before the client figures out that it needs to try the next server on the list that it received from DNS. I would expect that your VOIP apps would act in this manner.Here is another example where having multiple records and a server down wont work too well. Lets say you wanted to host a website and you set up 3 web servers. You then, logically create three host records in DNS, such as the following:www.website.com 192.168.0.1www.website.com 192.168.0.2www.website.com 192.168.0.3If Round Robin is enabled, the DNS server will automatically provide this list in a different order every time it receives a request. The client will attempt to connect to the first IP given. If the first IP belongs to a web server that is down, the error you will get is "Internet Explorer cannot display the webpage". However another client that got the list in a different order may hit server2. So if one out three servers is down, you can expect that 33% of the users will receive an error. This is where you would want to have a Network Load Balancing technology introduced into the solution.So it really depends on the application and how DNS results are processed. Think about this simple example as well. If you have multiple DCs in a domain and one DC becomes avaible, you really dont see an impact to your users authenticating. The domain member will just try another DC (srv record)from the list that it received from DNS.
Free Windows Admin Tool Kit Click here and download it now
December 3rd, 2009 9:29pm

Jorge, I clearly understand your point. I will be installing NLB and then trying my luck. I have previously worked with LinuxHA and this NLB is more like it.This is exactly whatwe are looking for. We have some windows services as well as ISAPI's,which will get loaded slightly. But we cant have downtime in our scenario. Hence we areforced to look for a solution. I will NLB. We have 2 DC's so nameserver failure should not be a problem I think. I will keep you posted on our solution from both NLB side as well as client resolver side.Thanksashterisk
December 4th, 2009 8:31am

Jorge, The NLB works great with our app :) But all we could do was setup a Active/Passive environment with 2 win 2003 servers(standard). Can we set up an active/active environment with NLB?Thank youashterisk
Free Windows Admin Tool Kit Click here and download it now
December 8th, 2009 11:53am

I am glad that you have made some progress. Active/Active is another animal. However, if you were just doing NLB accross Windows servers, you should have seen an even distribution if both servers joined the NLB group properly. check out this link as their is information regarding specifics surrounding NLB and Clustering.http://technet.microsoft.com/en-us/library/cc758834(WS.10).aspx
December 8th, 2009 10:10pm

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics