A little while back I posted about how to move a standalone instance to a clustered instance using a different name and IP, but what do you do when you need to keep the same name and IP address? This is a much more complex procedure to complete.
Before I start going over the procedure here are the names and IP addresses that I’ll be refercing throughout the rest of the post.
Standalone server name and IP: SQL04, 10.5.0.12
Clustered Servers names and IPs (public IP/Heartbeat IP):
Node1: SQL06A 10.5.0.17/192.168.1.1
Node2: SQL06B 10.5.0.18/192.168.1.2
Cluster Name: SQL06 10.5.0.19
The first thing that we need to remember if that we can’t even install SQL Server on the cluster until we take the old machine offline since we want to keep the same name and IP address.
If you have the standalone server on the SAN the entire process is much easier and quicker to handle the process because you can simply move the LUNs from the standalone server to the cluster. If your standalone server is not on the SAN, then you’ll either copy the database files from the old server to the cluster, or backup the database before shutting it down. I recommend stopping the SQL Server and copying the files. It will take a little bit longer, but you are guaranteed that you won’t loose a single transaction.
If you have to copy the database files from the old server to the cluster then do so.
At this point you’ll need to shutdown the old server. You’ll need to remove the computer object from the Windows domain, as the Windows 2008 Cluster will create a new computer object in the domain for the cluster resource. You’ll want your sysadmin to do an Active Directory backup so that if you need to rollback they can restore the computer object to active directory and turn the server back on quickly.
After you have deleted the computer object from the domain you’ll probably want to force replicaton between the domain controllers. When deleing the computer object from the domain, be sure to delete the computer object using a domain controler in the same site so that the replication of the deletion is quicker.
Once the replication has been completed you can begin the process of installing SQL Server. When you do the install you’ll be specifying the SQL04 name and the IP address that the old server was using. Once SQL has been installed you can move the system databases into place, then remove the user databases which have failed to load and then reattach the user databases.
Now, the question you may be asking is why would you want to keep the name and IPaddress the same? May enviroments grow very organically, and without a whole lot of documentation. You may find that it is easier to move the server keeping the name and IP than it is to try and find every connection string which looks at the name or IP address. Keeping the IP address makes life much easier when you have a firewall between the SQL Server and the web servers such as web servers in a DMZ. Modifying the firewall rules is usually pretty straight forward, but its just one more thing which can go wrong. Keeping the IP address the same means that the firewall rules don’t have to be modified which is one less thing which can go wrong.
These same techniques work weither your SQL Servers are physical or virtual servers.
Hopefully this will help you migrate your standalone systems to a cluster.