[CentOS] Anything Like Solaris' Live Upgrade?

Wed Jan 30 00:36:14 UTC 2013
Warren Young <warren at etr-usa.com>

On 1/29/2013 12:03, Tim Evans wrote:
> I suppose it's not possible in
> this forum to ask such a question and not get into religion. Kinda like
> the U.S. Congress.

Um.  Yes.  <shakes head to clear the loony>

I know you think you're asking for an additional freedom that you feel 
CentOS doesn't provide, but what you're really looking for is a reason 
to go back and shackle yourself to a proprietary technology.

Wise man say: "Free your mind...and your ass will follow."  Wise man was 
on acid when he said that[1] but the point...the POINT I say...is that 
you're being trapped by a material desire which if satisfied costs more 
than it's worth when you add in *all* the costs.  Kinda like a jelly 
doughnut.  A really big, expensive jelly doughnut.

In addition to the problems with proprietary technology, there's at 
least one more problem with Solaris' boot environment snapshots: they 
take space, and space costs money.  Oh, you say, it "only" costs a few 
tens of gigabytes for each system version upgrade.  What's the problem 
in today's terabyte world?

Here's the problem: You want to set up a Solaris VM for development and 
testing, and read that Solaris needs just 7 GB or so to install[2] 
everything, so you generously give it 20 GB on your laptop.[3]  Life is 
fine: you install some additional software, you do your dev work, you 
iterate.  Then six months later an OS upgrade comes out, you attempt to 
install it, it runs you out of disk space creating the snapshot, and 
then fails to boot.  (Yes, actual genuine war story.  Made in USA.)

But wait, weren't snapshots supposed to save me from unbootable systems? 
  Sure, as long as you have prodigious free disk space.  I don't know 
about you, but several gigs of free disk on a VM still feels like a lot 
to me.

You get bit other ways by this feature, too.  It requires ZFS, which by 
most accounts requires 64-bit CPUs and a gig of RAM per terabyte of disk 
just to manage it.  This means that if I give up on my reasonable wish 
for a 20 GB VM and give it a dedicated HDD or three to play with, now I 
have to go and set aside beaucoup RAM for it, too.  Or maybe a whole system.

I'm not saying that all of this is out of reach.  Yes, I get the fact 
that I'm bitching about under $1000 of hardware.  My point is that 
features have a cost, and different OSes "charge" you different amounts 
through their designer's choices about which features to include and 
which to skip for now.

In the end, we are in fact talking rationality here, not religion.  How 
much do you want to pay for those features?  TANSTAAFL.

> FWIW, Solaris' problems are not technical.  Rather, they're Oracle's
> licensing and support policies that have essentially fired all its small
> system customers.

That pool is deeper than you realize.

Maybe above you were rolling your eyes at my wish for a usable 20 GB 
OpenSolaris VM.

Consider this: I have five or six flavors of Linux on that laptop, plus 
all the BSDs, Windows 8, and the native OS X.  When it comes time for me 
to test a new version of my software, guess which OS it isn't going to 
get tested on, purely because I can't afford to dedicate a whole system 
to it?  Or if I *am* fortunate enough to be able to afford a dedicated 
OpenSolaris box, it's a good chance it isn't where I am now, so it might 
as well not exist.

Do you expect developers like me to multiply the cost by 2, 3, 4x just 
so we can have a dedicated test box at every development location?  Or 
maybe punch holes in firewalls so we can remotely use a remote box on 
the back-end somewhere; that isn't "free" either, once you tally the 
security risks it buys.

Here's why you care about my development problems: if my software 
doesn't work on your platform, what does it cost you to do the fixes to 
it to make it work, or seek out an alternative that does work?

How many more are there like me who also might like to test on Solaris 
occasionally if it were easy, but don't because it isn't?  How many 
packages are there with Solaris portability problems as a result?  I'd 
guess there are hundreds of such packages that you personally would like 
to use, but either can't, or could if you wanted to put in the time to 
port them yourself.

All this because Solaris chased the high end at the expense of the 
smaller systems.

What's happening today to Solaris is simply what happened to all the 
lesser proprietary Unixes before it.  The market's been dissolving from 
the bottom, and now the mountaintop is dissolving, too.

It's the old UnixWare vs Linux arguments, recapitulated.  You remember 
how that story ended, don't you?

Yes, I know you're switching to Linux now.  What I'm trying to get 
across is that you should take Linux on its own terms, not try to force 
it into the Solaris mold.  It is the way it is for a pile of good, 
rational reasons.

[1] http://goo.gl/uSIUN
[2] http://goo.gl/RnXpW
[3] Generous = 10-50% of the free space on a typical laptop SSD.