Tuesday, August 16, 2011

Error migrating DHCP database to Windows Server 2008 from Windows 2003 Server

Finally back to the blogsphere. I’ve decided to use my blog as a repository for issues & stuff I come across that I want to document. We’ll see how long this lasts.

On the first day back at work, I ran across an interesting issue while migrating the DHCP server in our lab from a physical 2003 server to a virtual 2008 R2. Clients without reservations were receiving addresses, but were not being displayed in the DHCP mmc (Statistics showed IPs in use). However, clients with reservations were not getting their IPs. Also, reservations would not show DHCP in mmc and no addresses were under the Address Lease node. The folder which normally displays a clock had a red X. After doing some searching I ran across an article on social.technet.com. First, was a discussion on a difference between 2003 and 2008 R2 in regards to leases. In 2003, you could create a reservation for servers that fell outside of the available IP range. I had used this to keep track of IP’s within DHCP instead of a spreadsheet or other document. However, it appears 2008 R2 does not support this. I’m not sure on Server 2008 since I skipped over it.

Here’s how I fixed my issue:

1. On the source DHCP server, I deleted all leases that fell outside of the available range. This range includes specified exclusionary ranges as well as undefined ranges.

2. I exported the DHCP database using Netsh: netsh dhcp server export ALL

3. On my destination server, I stopped the DHCPServer service and deleted c:\windows\system32\dhcp\dhcp.mdb

4. After deleting the database, I started the DHCPServer service.

5. I imported the DHCP database using Netsh: netsh dhcp server import ALL

6. Upon opening the DHCP mmc, I was able to see all leases as well as reservations. Also, all clients previously using reservations now received IP addresses.

Thanks to the Sainath IRP_MY_Create on Network Infrastructure Servers forum on social.technet.com for assistance on this!


Scott Ladewig said...

I've run into similar issues where 2003 would you let you do certain things that 2008 didn't like. In my case it had to do with failover cluster IP addresses.

It is a shame there isn't a resource where some of these behavior changes were documented so you could be ready for them before you make the move, not after them when things aren't working.

Jake Kappus said...

Maybe we need to develop something?