Ubuntu upgrade strategy
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
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).
Then I'll just do an in-place upgrade since that generally works extremely well with Ubuntu and Debian.
@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:
If you have any questions do not hesitate to drop into #ubuntu-server on Freenode.
Have a nice day,
bb
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.
@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:
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.