If you noticed the error message on my blog during the past few hours, you may be wondering what that's all about. Well, I'm moving my web hosting company, akmai.net to it's own dedicated server. I have been coding a support site for Aerva and they agreed to host it with my hosting company. We worked out a deal so that I can purchase a dedicated server and Aerva would pick up the tab on the extra expense. In return, I provide Aerva's support site with all the bandwidth and space they need. My web hosting business went from making a profit to just breaking even, but now that I have a dedicated server, I can offer more hosting packages at better prices and hopefully pick up a few more clients. Here's the specs on the new server for anyone who's interested:
Pentium 4 3.0Ghz DUAL CORE
Two 120 GB SATA hard drives (one for backup)
1600 GB of monthly bandwidth
Oh, back to why my blog has been out of service. I figured since I was only moving from one account type (VPS1) to another (dedicated server) within the same web host (LiquidWeb) that I wouldn't need to change any DNS or nameserver addresses. Well, come to find out, I needed to update the IP addresses for my two nameservers, ns1.akmai.net and ns2.akmai.net. So I put in a request with my registrar to have the IPs updated, and a few hours later received a reply informing me the update had been submitted. Due to the nature of the Domain Name System (DNS), updates across the entire Internet run rather slow... sometimes a few days slow. You would think with all the incredibly fast Internet connections available around the world that DNS updates would be nearly instantaneous!
Now I wouldn't really mind the DNS updates running slow if it didn't cause major problems with web hosts. I host over 20 domains, and all of those domains are set to use my two nameservers (ns1 and ns2.akmai.net). When I change my nameserver IP addresses to point to a new server, I have no way of knowing when all of the computers around the world are going to get the new information, and therefore point to the new server. So, on Sunday, the tech at LiquidWeb copied over all the accounts from my old VPS1 server to the new dedicated server. That's great, but for now anyone uploading new files to their domain, or making changes to their databases (as is the case for a forum, or blog) will be making those changes on the old server. Suddenly, a few days later, their computer will recognize the new nameserver IP address and start pointing their domain to the new server... which contains all the data as of Sunday! That means everything that changed between Sunday and whenever the nameserver change comes into effect, is lost! They won't see any emails, blog posts, forum posts, or files that were changed since Sunday. That is unacceptable! To make things worse, if they make a change to their domain after their domain is pointing to the new server, but before I copy over their account again to restore the missing data, then there wont be any easy way to restore the missing data from the days in between. There isn't any easy way to simply "merge" the missing data with the current data; I need to actually replace the data.
Lucky for me, most of my clients are people with personal domains, not business crucial, high-traffic domains (although I do have several important business domains, so it's still an issue).
So what do I think should be done about this? Well, something on the web host level could be done. The web host could set their internal DNS to point the new IP addresses to the old server. Then after a few days, when we're sure the DNS has propagated through the system and everyone's computers have the newly updated nameserver info, we pick a good time, late at night for example, to lock all the domains from having any changes made to them. Then we copy over all accounts, databases, and data over to the new server, have the web host switch their DNS to point those new nameserver addresses to the new server, and unlock all the domains. Instantly, everyone will be accessing the domains on the new server. Problem solved.
I don't pretend to be an expert on DNS, or the Internet for that matter, but if anyone sees a problem with this solution I'd be interested to hear your argument. In fact, now that I look back, I realize this really isn't a problem with the Domain Name System, but rather with the procedures of web hosts. Don't get me wrong, LiquidWeb is an awesome web hosting company and their technical support staff is very helpful and knowledgeable. But of all the web host's I've been with, this problem with DNS has never been addressed by any of them. It's always "Wait 48 hours for the changes to take effect. Until then, all you can do is wait.". Even if this solution cannot be easily applied in the case of moving a domain from one web host to another, it should be easily addressed when moving a domain from one server to another inside the same web host.