Ubuntu upgrade strategy

Hi,

I'm preparing to upgrade from Ubuntu 10.04 LTS to 12.04 LTS as it gets out of beta and am pretty nervous about breaking things.

One solution I have read about is cloning the linode and testing the upgrade there before either swapping IPs or just performing the same steps on the original linode if all goes well.

What is the downtime associated with this process?

  • Is there downtime while cloning?

  • How do I change IP-specific stuff (/etc/network/interfaces resolv.conf etc) in order to avoid IP conflicts for static IPs I have set up?

Another possibility which comes to mind is making a backup snapshot, trying the upgrade on the live system and reverting to the backup in case things get screwed up too severely. Would this work?

If both options work, which one actually costs less? Is it too much of a hassle or frowned upon to set up and cancel backup for just the upgrade?

12 Replies

First of all, it's best to wait a few weeks after 12.04 LTS comes out, so that any serious issues will be discovered and fixed by other people.

Both methods sound reasonable. You'll have to shut your Linode down in order to obtain a consistent clone, so there will be a few minutes of downtime. But you'll also experience a few minutes of downtime if you take the backup + live upgrade route, because it's not a good idea to do a major upgrade while your website is actively modifying stuff on your server. At least you'll want to turn off your web server before upgrading.

As for the IP-specific stuff, you'll have to modify them manually after cloning, and again after swapping IPs. If you can't access the clone because of improper network configuration, use Lish. An alternative to swapping IPs is to give your DNS records a very low TTL and pointing those records at the new IP address(es). Do this if you don't want to mess with network configuration twice.

A third option is to purchase a new Linode and set things up from scratch using a clean OS image, moving the website data and configurations afterwards. If you run into any weird issues while upgrading, consider this.

I don't think there's any stigma against using services for a short period of time, as long as you don't do this too often. Only paying for what you need is what the "cloud" is all about, eh?

> A third option is to purchase a new Linode and set things up from scratch using a clean OS image, moving the website data and configurations afterwards.
And just in case you hadn't already realised, costs are prorata. I had pretty much the same dilemma recently and opted for the new Linode route, which cost only the effective daily rate for the number of days left of the month, and when I cancelled my old Linode almost at the end of the month, I received an unexpected rebate.

I found a couple of weeks was enough to test the new system. And swapping IP addresses back and forth for testing is really easy - just issue the command in your dashboard and reboot both systems. It all worked out much easier than I had feared (I was still running Ubuntu 6.06 until last week).

I am contemplating the same ideas. I will probably first get good database dumps, and then make a fallback linode backup snapshot.

Then I'll just do an in-place upgrade since that generally works extremely well with Ubuntu and Debian.

I only use half the space on my server for my main image. So I keep a 'backup' image of my Linode kicking around. I think I'll make a copy of the main image and then try to upgrade the server that way. See how it works out. Cheaper if you can spare the disk space and can afford the little extra downtime.

@burningbunny:

Hi,

I'm preparing to upgrade from Ubuntu 10.04 LTS to 12.04 LTS as it gets out of beta and am pretty nervous about breaking things.

One solution I have read about is cloning the linode and testing the upgrade there before either swapping IPs or just performing the same steps on the original linode if all goes well.

What is the downtime associated with this process?

  • Is there downtime while cloning?

  • How do I change IP-specific stuff (/etc/network/interfaces resolv.conf etc) in order to avoid IP conflicts for static IPs I have set up?

Another possibility which comes to mind is making a backup snapshot, trying the upgrade on the live system and reverting to the backup in case things get screwed up too severely. Would this work?

If both options work, which one actually costs less? Is it too much of a hassle or frowned upon to set up and cancel backup for just the upgrade?

There is the potential for breakage but I have successfully transitioned a number of VPSes and Cloud Instances running 10.04 and newer versions to 12.04.

We really worked hard to provide a quality release and it shows in 12.04 LTS.

Here is the official instructions for making the transition:

https://wiki.ubuntu.com/PrecisePangolin … 4_to_12.04">https://wiki.ubuntu.com/PrecisePangolin/ReleaseNotes/UbuntuServer#From10.04to_12.04

If you have any questions do not hesitate to drop into #ubuntu-server on Freenode.

Thanks for all your answers! I'll be waiting a bit for the last quirks to even out in 12.04 and then try the cloning route. On the long run, I'm then planning to rebuild a new linode (hooray for good documentation), since nightly emergency debugging sessions have probably led to quite a lot of unneeded packages.

Have a nice day,

bb

Canonical themselves recommend that you wait for 12.04.1 (due out in July) before doing the 10.04 -> 12.04 jig.

I'm curious as to the actual advantages of 12.04 over 10.04?

Everything is roughly two years newer, and it will be supported (on servers) until 2017 instead of 2015.

Thanks :)

But I should rephrase, what specifically in the new version is better that helps in your day to day usage?

Asking because I run LTS 10.04, and wondering what the advantages would be, considering I don't need to do so for another two years.

From a L[AE]MP stack point of view you get mysql 5.5 and php-fpm.

@marcosscriven:

Thanks :)

But I should rephrase, what specifically in the new version is better that helps in your day to day usage?

Well, as people do different things with their servers, there's lots of reasons why upgrading would be useful. There's a whole list of new features right here:

https://wiki.ubuntu.com/PrecisePangolin … untuServer">https://wiki.ubuntu.com/PrecisePangolin/ReleaseNotes/UbuntuServer

A lot of which seem to focus on better virtualization and cloud instance support. "Better stability" sums it up for me.

> Asking because I run LTS 10.04, and wondering what the advantages would be, considering I don't need to do so for another two years.

Again, we don't know what you do with your server, so it would be hard for any of us to say specifically why you should upgrade. In fact, you may be running a piece of software that hasn't been updated and may not work well on the current packaged versions of software in 12.04 LTS, which would be a legit reason not to upgrade (though, a serious cause for concern if there are unpatched security issues with what you're running).

Personally, I beta test the new stuff on a local system, and move to the new version when it's ready for production because I prefer to keep up to date with the release cycle. I like the software updates and support, and I think that in my case, it's best to stay on top of the curve, rather than let things be until the "we won't support this version anymore" notices are sent out. For one, it helps me identify and solve any problems while I still have plenty of time to do it, rather than having to figure out why something isn't working at the last minute.

Reply

Please enter an answer
Tips:

You can mention users to notify them: @username

You can use Markdown to format your question. For more examples see the Markdown Cheatsheet.

> I’m a blockquote.

I’m a blockquote.

[I'm a link] (https://www.google.com)

I'm a link

**I am bold** I am bold

*I am italicized* I am italicized

Community Code of Conduct