Access the answers to your technology questions today.
Subscribe Now
30-day free trial. Register in 60 seconds.
What Makes Experts Exchange Unique?
Members of the expert community talk about why the experience at Experts Exchange is different than what you will find anywhere else.
Try it out and discover for yourself.
Subscribe Now
30-day free trial. Register in 60 seconds.
Join the Community
Give a Little. Get a Lot.
Join the community of experts here and help other tech pros by answering question in your area of expertise. You can earn FREE access to all Experts Exchange's premium features and resources.
Join the Community
by: dhoffman_98Posted on 2009-02-06 at 10:54:06ID: 23572826
Well, in terms of best practices... you wouldn't. Domain controllers typically should not host any other applications aside from DNS. The reason for this is that when you start hosting other applications on them, they become more of a management issue in terms of backing up and patching.
In some environments with multiple domain controllers, they are often not even backed up. If a DC fails, no problem, just rebuild it and promote it and it's a new domain controller again.
Probably not what you wanted to hear, so here's some more information.
For DHCP to be supported in a failover type situation, you need to cluster (again something you can't or shouldn't do with domain controllers). The reason for this all falls back to the D in DHCP... Dynamic. At any time, the lease database can be changed on a DHCP server.
Let's assume you have a client that logs into the domain and gets a DHCP lease. The database that holds that lease information remains on the DHCP server. Now say you fail over to the other DC, and even had DHCP running there. The chance that you have up-to-the-minute copies of your DHCP files is very slim. So when a client logs in and gets an address from the new server they could be assigned the same address, and thus causing conflicts for the users.
Enter the 80/20 rule...
If you run DHCP on both machines, then you can set up the allocation pool to only provide 80% of your available addresses on the main host. If the main host fails, then the secondary host can come up, and the other 20% of your available addresses would be hosted there. That way there is never a conflict because two different DHCP servers gave out the same address.
So, for example, your entire range of dynamic addresses is 192.168.1.101 to 192.168.1.200...
Your first server would set up a pool from 192.168.1.101 to 192.168.1.80
And the other server would have a pool from 192.168.1.81 to 192.168.1.200