[CentOS] LVM hatred, was Re: /boot on a separate partition?

Tue Jun 23 17:54:48 UTC 2015
Marko Vojinovic <vvmarko at gmail.com>

On Tue, 23 Jun 2015 11:15:30 -0500
Jason Warr <jason at warr.net> wrote:
> 
> I'm curious what has made some people hate LVM so much.  I have been 
> using it for years on thousands of production systems with no issues 
> that could not be easily explained as myself or someone else doing 
> something stupid.  And even those issues were pretty few and far
> between.
> 
> /opens can of worms

Well, I can only tell you my own story, I wouldn't know about other
people. Basically, it boils down to the following:

(1) I have no valid usecase for it. I don't remember when was the last
time I needed to resize partitions (probably back when I was trying to
install Windows 95). Disk space is very cheap, and if I really need to
have *that* much data on a single partition, another drive and a few
intelligently placed symlinks are usually enough. Cases where a symlink
cannot do the job are indicative of a bad data structure design, and
LVM is often not a solution, but a patch over a deeper problem
elsewhere. Though I do admit there are some valid usecases for LVM.

(2) It is fragile. If you have data on top of LVM spread over an array
of disks, and one disk dies, the data on the whole array goes away. I
don't know why such a design of LVM was preferred over something more
robust (I guess there are reasons), but it doesn't feel right. A bunch
of flawless drives containing corrupt data is Just Wrong(tm). I know,
one should always have backups, but still...

(3) It's being pushed as default on everyday ordinary users, who have
absolutely no need for it. I would understand it as an opt-in feature
that some people might need in datacenters, drive farms, clouds, etc.,
but an ordinary user installing a single OS on their everyday laptop
just doesn't need it. Jumping through hoops during installation to
opt-in LVM by a small number of experts outweighs similar jumping to
opt-out of it by a large number of noobs.

Also, related to (3), there was that famous Fedora upgrade fiasco a few
Fedora releases back. It went like this:

* A default installation included LVM for all partitions, except
  for /boot, since grub couldn't read inside LVM.
* Six months later, the upgrade process to the next release of Fedora
  happened to require a lot of space in /boot, more than the default
  settings.
* The /boot partition, being the only one outside LVM, was the only one
  that couldn't be resized on-the-fly.
* People who opted-out of LVM usually didn't have a reason to create a
  separate /boot partition, but bundled it under /, circumventing the
  size issue in advance without even knowing it.

So the story ended up with lots of people in upgrading griefs purely
because they couldn't resize the separate /boot partition, and it was
separate because LVM was present, and LVM was present with the goal of
making partition resizing easy! A textbook example of a catch-22,
unbelievable!!

Of course, I know what you'll say --- it wasn't just LVM, but an
unfortunate combination of LVM, limitations of grub, bad defaults and a
lousy upgrade mechanism. And yes, you'd be right, I agree. But the
bottomline was that people with LVM couldn't upgrade (without bending
backwards), while people without LVM didn't even notice that there is a
problem. And since hatred is an irrational thing, you need not look any
further than that. ;-)

Best, :-)
Marko