Serve DNS load balancing IPs on a non data network

[EDIT] Please use caution when setting up your environment according to this article. In some case, especially when using BIND DNS server with non-default parameters, you may end-up with requests going to data LIF even if they are on the storage network and you set “-listen-for-dns-query false” on it.

I got an interesting question from a customer about the way DNS load balancing is served in a cluster.

For network topology reasons, they needed to serve DNS requests on a network different from the data network used by the clients to access storage.

The problem is that Data ONTAP only listens to DNS requests on data LIFs that has been configured for DNS load balancing. The obvious issue is that if you configure an additional LIF on the management network, the load balancer will start serving this IP to the clients, which might not be the optimum path or even not routed at all.

The workaround is pretty simple actually : assign a weight of zero to this LIF and the load balancer will never return that IP. This is an advanced privilege option :

clus3::*> set advanced
clus3::*> network interface create -vserver vs1 -lif dns_lif -role data -data-protocol cifs,nfs -home-node clus3-01 -home-port e0c -address 192.168.0.10 -netmask 255.255.255.0 -dns-zone clus03.yann.lab -lb-weight 0

Info: Your interface was created successfully; the routing group d192.168.0.0/24 was created

Additionally, you can disable DNS server on the LIF dedicated to data access :

clus3::*> network interface modify -vserver vs1 -lif data1 -listen-for-dns-query false

Leave a Reply

Your email address will not be published. Required fields are marked *