Planning a Server Move? Part I/II
At some point in time we’ve all had to perform a server move. The very thought of which may give many of you a headache. But it doesn’t always have to be that bad. All it takes is careful planning and knowing how to keep you customers informed. In this post I’ll go over some of the major points that you should keep in mind when faced with the proposition of a server move.
Planning the move
Its all in the planning. A server move is going to involve a lot of people. You, your support team, your sales/billing team and of course your customers. Setting out your plan will make sure that each person knows what part they have to play in the move. Your support team will take care of the actual process of moving the data, and keeping your customers informed. Your sales/billing team will have to take care of keeping your records up to date so that you know which clients are on which server (This can get fairly complicated if you are planning more than one move at a time). Though it is possible to perform a move so smoothly that your customers are not even aware it happened, it is always best that you let your customers know that their account is being moved. It best to face the music now, then wait for something to go wrong… and then tell them! Of course if you are moving to a newer, higher spec’d server, nobody is going to complain 🙂 You don’t actually have to take part in the move yourself, but if you are a startup company, its always nice to give it a slightly personal touch and keep your customers informed yourself.
Now lets looks at the main points that should be covered by your plan and then we’ll go into each in detail:
- Scheduling the move.
- Prepping the new server.
- Keeping your customers informed.
- Performing the move.
- The after party.
Scheduling the move
I would say that the shortest time frame within which you can safely plan and implement a server move is 48hrs. Anything shorter than this and you can cancel that after party. There are two things that determine this time. DNS propagation delay and your customers. Any change in IP address is going to involve a DNS propagation delay. What is that? This is the time its going to take for previous visitors to your sites to get the new DNS information(new IP addresses). DNS propagation delay is determined by what is called the TTL value of a DNS record. The higher the TTL value, the longer the propagation delay. So to keep the propagation delay to a minimum you can set the TTL to say – 5 minutes. So if a DNS record is changed, it will only take 5 minutes for this information to propagate. The catch? The TTL value is also subject to its previous value. So if it was set to 24 hours, you’ll have to wait for 24 hours before its new value of 5 minutes comes into effect. TTL values of most DNS records range from 8-24 hours. So why why wait an extra 24 hours? If you send out a mail notifying your customers of the move, there is a chance they will miss it and wont see it till the next day.
Another point that determines the time is the data transfer rate between the old and new server. Sadly there isn’t much you can do that will make a big difference to this. So you can test by transferring a file of known size and then determine how much time its going to take to transfer all your data.
Now that you have an idea of how long its going to take, you can plan the dates and times to schedule the transfer.
Points to remember:
- Set TTLs to low values at least 24hours before you plan to start the move.
- Notify your customers at least 48 hours before the move.
- Weekends are a good time to schedule transfers. Traffic to sites are usually lower and it gives you an extra day to fix things in case you run into trouble.
Prepping the new server
Its highly unlikely that your new server is going to be exactly like your current server. So unless you are moving to a new server just for the newer OS and software, select a sever with the same OS. So if you run into trouble with sites after the move, you can rule out the possibility of incompatibility with the version of the software installed. Make a list of the primary services you are offering and make sure the versions match. For a Webhost, this would be the Webserver(Apache,IIS etc), Database server(MySQL, MSSQL etc) and the versions of PHP, ASP.net etc. Though the versions of your Mail server, DNS server etc can also change, they wont have as much of an impact as services mentioned earlier.
Another habit you should get into is keeping a list of custom software you have installed on your servers. This will come in handy in these situations. If your running on Linux, stick to binary packages meant for your distro, and avoiding installing software from source, unless its absolutely necessary or if you have no other option.
Points to remember:
- Stick to similar software versions as much as possible.
- You can downgrade the software before the move, and upgrade after the move so you know if problems are caused by the move, or the upgrade.
- Keep a list of software installed on your servers after they are initially deployed..
- You can prep your server while waiting for the DNS propagation to complete, or earlier if possible.
Keeping your customers informed
There are many ways you can keep your customers informed. You could send out notification emails, update a “News” section on your site or post on a Forum you have setup for your customers. If you are sending out notifications via email, make sure you use a subject line that will catch their attention. “Attention: SERVER MOVE scheduled for….”, should be enough. All caps could get your mail marked a spam, so try and avoid it. A “News” section in your site will be good, so customers can come back and check it themselves and you don’t have to send out email updates. If you want to know what your customers think about the move and get their immediate feedback, use a Forum.
Inform your customers of the scheduled date and time of the move. Request that they not make any modifications to their sites till the transfer is complete. If they are using your nameservers, tell them they will not have to make any other changes. If they are using their own or 3rd party nameservers, they will have to make sure they change the IP addresses manually. They will also have to change their TTL values if they want to keep DNS propagation delays to a minimum. You will have to check your new server and plan which IPs you will be assigning to which accounts.
Points to remember:
- Send out at least 1 notification email 48hrs before you plan to start the move. Further updates can be via the “News” section on your site, or the Forum.
- Inform customers that are using custom nameservers that they will have to change their IP addresses and TTL values manually.
- Give them frequent updates.
Next week I’ll be talking about the steps to take just before, during and after the move. Till then you can check back for more interesting posts from my fellow bloggers 🙂
About the Author:
Hamish works as a Senior Software Engineer in Bobcares. He joined Bobcares in July 2004, and is an expert in Control panels and Operating systems used in the Web Hosting industry. He is highly passionate about Linux and is a great evangelist of open-source. When he is not on his xbox, he is an avid movie lover and critic.