0

I have a site running on a cloud server with Ubuntu 13.04. I want to upgrade to 14.04 as seamlessly as possible. I found this answer but I wanted to flesh it out so I can be more confident.

My plan was to

  1. Create an image of the current production server, then create a new cloud server from this image.
  2. On the clone, run sudo sed -i 's/raring/trusty/g' /etc/apt/sources.list then sudo apt-get update && sudo apt-get dist-upgrade then sudo apt-get install --reinstall ubuntu-desktop.
  3. Answer install questions (choose/skip default Chef? postfix?), debug errors and test the site with a different domain and database to the live site.
  4. In the Cloud DNS, change mysite.com's A record IP address to the IP address of the new cloud server.

Will this work, or is it way too simplistic, or just wrong? Is this better than just backing up the live server, and trying to do-release-upgrade it, restoring if required? I'm planning to do this during a very quiet time so a little downtime isn't that bad.

Any help would be greatly appreciated.

MW Millar
  • 105
  • 5

1 Answers1

1

You don't mention who your cloud provider is, but the simplest thing to do would be to take an image of it while it's shutdown (or online if your provider supports file system quiesced snapshots), clone a new one and run a release upgrade, switching the DNS over if everything looks ok.

You leave your old machine perfectly intact for rollback, and the only downtime is the reboot for safely snapshotting it.

xddsg
  • 3,392
  • 2
  • 28
  • 33
  • I can create an image while it's online. But I need to view the site on a different domain to test it out, correct? On the clone server I'd need to temporarily change the site name, db it uses and apache settings, or not, to avoid duplication? – MW Millar May 07 '15 at 17:40
  • Set a local hosts entry with it's IP pointing to the website it think's it's hosting and it will respond as normal. – xddsg May 07 '15 at 19:21
  • I wouldn't change any of that. Add an entry to your /etc/hosts file to override DNS and hit the same URL. Tail the logs on both servers to make sure you are hitting the correct one. – Ken S. May 07 '15 at 19:22