Rackspace Community

Windows 2008 IIS and Database Migration using the Web Farm Framework

Article ID: 1731

Last updated on July 31, 2012

Authored by: Rackspace Support

The following article will document the process used to perform an application level migration of the IIS 7.X running configuration, MSSQL and all associated data to another server. Please note that some elements like custom .DLLs and third party modules may need to be migrated manually. Let's take a look at how to perform this:

Requirements

Both source and destination servers should be running Windows 2008. The revision level is not as important. The destination server size is not important so long as it has enough free space to hold all the custom data.

Configure the Windows Firewall

The Windows Firewall on both the source and destination servers will need to be properly configured in order to allow communication between both instances of IIS. This can be done by either setting up an admin IP on both servers, or by opening up specific ports.

You will need to run this rule once on each server replacing the word IPADDRESS with the correct IP address of the REMOTE server. Optionally, you could open up the SMB, Remote Administration (RPC), and Web Farm Agentservice (8172 and 8173) ports on both servers instead of creating the Admin IPs.

Configure the Web Farm Service

You will need to create an administrative account on both servers that will be used by the Web Farm Framework to synchronize the configuration settings and data between servers.

Run the following commands from a command prompt to create the accounts and add them to the administrators group. You will need to replace the word PASSWORD with something valid:

Right click on the Server Farms Node and select the Create Server Farm option.

Enter the Server Farm name in the appropriate field.

Check the box labeled Provision Server Farm.

Enter the authentication credentials that were created earlier into the Server Farm Administrator section.

Click Next.

Enter the SOURCE servers IP address or Server Name in the appropriate field. This can be the private IP if both servers are in the same Data Center.

Uncheck the box in front of “Server is available for load balancing".

Check the box labeled “Primary Server”.

Click the Add button.

Enter the DESTINATION servers IP address or Server Name in the appropriate field. This can be the private IP if both servers are in the same Data Center.

Check the box labeled “Server is available for load balancing.

Click on the Add button.

Click the finish button.

The server farm framework will now begin copying over all of the IIS configuration settings, data, and SSL certificates over to the destination server. You can view the progress by doing the following:

From within IIS, expand out the Server Farms Node. Expand out the Farm Node.

Note: The name will vary depending on what you named it during the creation process.

Next, select Servers and you'll be able to see the current actions listed in the Trace Messages section.

The destination server should have received all of the IIS data when the Secondary shows Yes under the Ready For Load column.

Migrating SQL using the Web Farm Framework

There are numerous methods of migrating MSSQL databases over to the destination server and what method you select should be decided upon by you and your developers based on your unique needs. In addition to the traditional methods of migrating databases, you can also use MSDEPLOY which was installed during the installation, and is a key component, of the Web Farm Framework. Here are the steps you can follow if you want to use MSDEPLOY to migrate your databases:

Bring up the MSDEPLOY command console on the SOURCE server by performing the following:

Start

IIS 7.0 Extensions

Web Deploy Command Line and the modify the following line to match your environment and then paste it into the MS deploy command prompt (The private IP can be used if both servers are in the same Data Center):