Virtualize Host Names and IPs in Win2k3
It's 2:00 AM and you've just received a page notifying you that your print server is no longer responding to ping. When you arrive at the office to check on the server you discover that the RAID controller has failed, and you hunker down for a long night. Then you remember that all your clients point to a functional-based IP address and DNS pointer attached to the server. You restore your print queues and drivers to another server, move the IP address to the new server, and you're home in an hour.
If you're running a large shop then the time may be right to start using functional-based host names and IP addresses for your Windows servers. Mr. Gates puts a few hurdles in the way, but keep reading and we'll add a little spring to your step.
The idea behind functional-based IP addresses and host names is to add as much flexibility as possible. This is especially relevant for file shares and print queues, which are easily replicated to other servers. Begin by identifying the distinct services that users are connecting to. Let's say you have a server hosting home directories, various department shares, and all of your print queues. In this scenario you would want to add three additional IP addresses to the server:1. Navigate to Start -> Control Panel -> Network Connections
2. Right-click on the network adapter and select properties
3. In the "This connection uses the following items:" box select "Internet Protocol (TCP/IP)" and click on "Properties"
4. Click on "Advanced"
5. In the "IP addresses" box click on "Add"
6. Enter the IP address and subnet mask
7. Repeat steps five and six for each addition IP address
Next, you will want to add additional DNS host records for each new IP address. In this example you should add something like home.mydomain.com, dept.mydomain.com, and printers.mydomain.com:1. Navigate to Start -> Administrative Tools -> DNS, on your Windows DNS server
2. Expand the tree to the desired forward lookup zone
3. Right-click on the zone and click on "New Host (A)"
4. Enter the name, IP address, and check the box for "Create associated pointer (PTR) record" if you have a reverse lookup zone setup
5. Click on "Add Host"
6. Repeat steps four and five for each additional host record
If you are still running WINS then you will want to add static entries for these host names there as well.
Once you have a server prepared with addition IP addresses and their corresponding host names, you will need to add a registry hack. For Windows 2000 Server a hot fix is also required. Without this update you will receive the following error when trying to connect to a file share or print queue using the new host names: "System error 52 has occurred. A duplicate name exists on the network." Click here or see the additional resources section for information on eliminating this error.
At this point in the example we are ready to start pointing clients at the new host names. Depending on the environment you may need to update Active Directory (AD), logon scripts, local drive mappings, or a combination of all three. Regardless of the method you are using to attach clients to file and print resources, use \home.mydomain.comuser for attaching the user's home directory, \dept.mydomain.comshare for department shares and \printers.mydomain.comprintqueue for printer queues.
The advantages to this type of setup are numerous and especially apparent in large environments. If you have thousands of desktops, it becomes extremely time consuming to touch every box. Even if you use scripts and/or group policy to control drive mappings, there are probably users out there who have created their own shortcuts. And don't forget any Mac or Linux clients that will be on their own when a file share path changes.
Imagine a situation where you have outgrown your server hardware and it is time to separate print services from file shares. Without virtualization of IP addresses and host names this would require touching every client to point its printers at the new print server. On the other hand, if you have your clients pointing to \printers.mydomain.comprintqueue instead of \server1.mydomain.comprintqueue then the move will be quick and painless. See the "Microsoft Windows Server 2003 Print Migrator 3.1" link below for information on moving print queues between servers.
There are a few caveats to keep in mind when adding functional-based host names to your servers. First, you will need to be careful about publishing printers in AD. When a printer is published in AD it automatically publishes the printer using the true host name of the server hosting the print queue. This means that if a user searches AD for a printer, and adds that printer, it will be pointing to the actual server name instead of your designated DNS host record. Unfortunately, this behavior cannot be modified. Second, Mac clients can be a bit testy when you add additional IP addresses to your file server. If you are supporting Mac clients then the best workaround is to use additional DNS host records, but instead of pointing them to an additional IP address, point the functional based host record at the primary IP address of the file server.
Protect yourself from disaster and prepare yourself for change. This is what you will get by using functional based host names and IP addresses. Paying a small price for the initial setup will reap rewards later on.