Share this post!

In consulting with clients over the years for Virtualization, VDI and Cloud initiatives, an inevitable conversation that surfaces is DHCP high availability. While Microsoft allows Enterprise customers to protect DHCP in a Failover Cluster, my experience is that this option lacks mass adoption due to licensing requirements, increased complexity and an added dependency on the quorum storage (also a single point of failure). Another option involves an approach called DHCP split scope whereby two servers provide addresses for the same subnet, but do not overlap. This results in wasted address space, sometimes significant in the case of VDI with multiple networks and multiple network adapters in the case of Provisioning Services. These both solve the problem but don’t offer true replication of address resources between two standalone servers in the same way that DHCP Failover now does. To solve this problem once and for all, in Windows Server 8, Microsoft is now allowing the DHCP address leases and MAC addresses to be replicated between multiple servers in a highly available DHCP server configuration! Take this one step further and by using Windows 8 Server Core (GUI free) to host enterprise DHCP services, we now have a reliable Enterprise VDI and Cloud ready DHCP offering! Let’s get started…

Boot from the Windows Server 8 Beta media and during installation select the first and default option Windows Server 8 Beta Datacenter (Server Core Installation):

Once the OS installed and a password has been set, Windows 8 Server Core looks very similar to the server core installation of Server 2008 R2 SP1 as I covered in my previous blog post:

Using several slightly modified commands taken from this previous blog post, I’ll start by configuring a static IP address, DNS server and renaming the server:

netsh interface ipv4 set address name=”Wired Ethernet Connection” source=static address=10.0.1.12 mask=255.255.255.0 gateway=10.0.1.1

netsh interface ipv4 add dnsserver name=”Wired Ethernet Connection” address=10.0.1.11 index=1

netdom renamecomputer %computername% /NewName:WIN8DHCP01 /Force

Reboot the server to apply the DNS name changes using:

shutdown -f -r -t 0

Join the domain using netdom:

netdom join WIN8DHCP01 /domain:win8.ent /UserD:* /PasswordD:* /SecurePasswordPrompt

Reboot the server to join the domain using:

shutdown -f -r -t 0

Once rebooted, login using domain credentials and run the following commands to configure DHCP:

start /w ocsetup DHCPServer
sc config dhcpserver start= auto
net start dhcpserver
netsh dhcp add server WIN8DHCP01.WIN8.ENT 10.0.1.12
netsh dhcp server \\WIN8DHCP01 add scope 10.0.1.0 255.255.255.0 SCOPENAME
netsh dhcp server \\WIN8DHCP01 scope 10.0.1.0 add iprange 10.0.1.100 10.0.1.150
netsh dhcp Server \\WIN8DHCP01 Scope 10.0.1.0 set optionvalue 3 IPADDRESS “10.0.1.1”
netsh dhcp Server \\WIN8DHCP01 Scope 10.0.1.0 set optionvalue 6 IPADDRESS “10.0.1.11”

At this point I’ll setup WIN8DHCP02 with an IP address of 10.0.1.13.  The process will be identical for renaming and joining the domain. Once the server has rebooted, I will configure the DHCP scope with the following commands:

start /w ocsetup DHCPServer
sc config dhcpserver start= auto
net start dhcpserver
netsh dhcp add server WIN8DHCP02.WIN8.ENT 10.0.1.13

At this point I will flip back over to the first server built and launch a powershell session, executing the following command:

Add-DhcpServerv4Failover -Name WIN8DHCP01 -PartnerServer WIN8DHCP02 -ScopeID 10.0.1.0

DHCP Failover can be configured and viewed further from another computer using the Remote Server Administration Tools (RSAT) DHCP Server Tools:

After opening the DHCP console simply select the option to manage authorized servers:

The failover options can be viewed or changed by right clicking on IPv4 and selecting either “Configure Failover” or in our case “Properties”:

On the failover tab we can view the DHCP failover partnership created previously through powershell:

Editing the partnership we can view the default failover settings:

At this point when new addresses are leased out, their leases, IP addresses, and MAC addresses are synchronized between each of the servers in the failover partnership! Here’s the view from WIN8DHCP01:

Here’s the view from WIN8DHCP02:

Just seeing these capabilities makes me very excited for the possibilities in Enterprise Virtualization, VDI, and Cloud offerings!  This new feature truly makes Windows Server 8 DHCP Services a solution that is ready to scale with high availability for the enterprise! To learn more, check out the following Microsoft article: High Availability for DHCP Server Service Technical Preview

If you have any questions, comments, or just want to leave feedback, please do so below. Thanks for reading!

–youngtech

Share this post!