We need to Upgrade, but maintain 0 downtime. Is that possible?

November 10, 2014 1.4k views


We have a quick question. From the directions that we are reading it says:
1) Shutdown the existing Droplet
2) Take a Snapshot of the Droplet
3) Use that Snapshot to Create another Droplet (This is the one with 32 MB RAM)
4) Point to the new droplet in GoDaddy.

If we Shutdown our existing Droplet, we are down. Is there a way to just:

A) Setup site on new Droplet
B) Export Database on Droplet 1
C) Import Database on Droplet 2
D) Move DNS over to new Droplet 2 IP
E) Shutdown Droplet 1
F) Grab a glass of Malbec or Pinot Noir and Wait for DNS to Propagate.

Any ideas?


  • Maybe you could set database up on droplet2 as a slave to droplet1's database and then run the site as read only for a while but in general, probably not.

  • As far as I have seen, if you follow the snapshot way, there you dont have to update any DNS records.. Only down time would be the time it takes for snapshot and redeploy..

    You can have the same IP in this process..

    1. Power off
    2. Take snapshot.
    3. Destroy Droplet
    4. Redeploy the bigger droplet with snapshot in same location.

    In this process, I have seen 100% of the time, I have received the same IP.. (if done back to back off source..)

    You can do it, when your website pressure would be low and by sending an early notification to users about the expected down time !!

2 Answers

Yes, exactly as you describe. Except I'd use a scotch myself.

So we can just setup a new Droplet, Export the Database an import into the new Droplet? How do we grab the files using Wget or Curl? Just like normal...

  • You would use something like rsync to transfer your files.

  • Thats what I thought. So we don't need to shutdown the first Droplet and take a snapshot? Just setup the second server as new and build it out.

  • @CoveTech Yes, you can just build out an new server and rsync the database dump and files over to the new one. Though depending on the type of site you are running, you might want to consider putting the first one into read-only "maintenance mode" if possible. That way your database won't skew in the time it takes to transfer everything.

Have another answer? Share your knowledge.