[BlueOnyx:07717] Re: BlueOnyx 5107R Beta available

Michael Stauber mstauber at blueonyx.it
Tue Jul 19 10:24:21 -05 2011


Hi Chuck,

Many thanks for your input. 

> So I'm wondering if LVM is really needed, and worth the additional
> complexity of accessing that data "off-box"??

You see, in all the time that I've been working with LVM'ed systems, I think I 
only was forced to manually mount LVM formatted drives half a dozen times. 
Even if I had to rip a drive out of a dead box, I'd put it as only drive in 
another box where all usually present drives were disconnected. And if that 
then didn't boot (which it usually did), then I could at least let the CD 
mount the drives automatically in rescue mode.  And like said: There were 
maybe 5-6 cases in the last ten years where that didn't work for me and I had 
to perform the LVM mount manually. So for data rescue I think LVM doesn't make 
that much of a difference.

> What would you say to someone who wants to avoid
> LVM using the tarball installation?  

Let me put it this way: The CD is and always will be the preferred method of 
installation. The TAR-ball is just the unwanted step-child that's there for 
the oddball installs where the CD isn't an option.

With the 5107R tarball we even went a step further and streamlined the install 
a bit further, as you can now use "yum groupinstall BlueOnyx", which will 
bring in everything you need. And of course the TAR-ball works with the 
partitioning scheme that's already present, provided you have at least a 
separate /home partition, which is a "must have".
 
> And how do you think it would effect
> the BX installation/operation by not using LVM??
> And finally - do you think we'll ever get the option to opt out of LVM in
> the ISO installation?

The 5106R CD already had three options for partitioning:

"Standard": This kicks in if you hit return and would format with LVM.

"Small": This kicks in if you typed "linux small" or "small" and would set up 
the disks with a partitioning scheme suitable for HDs smaller 20GB.

"Self": This kicks in if you typed "linux self" or "self" at the boot prompt 
of the CD. It fired up disk druid and allowed you to choose your own 
partitioning scheme.

However: The 5107R CD uses a much newer version of the Anaconda installer. 

Unfortunately Anaconda is always "work in progress" and they always change 
some things around. Stuff that used to work flawlessly and without hitch 
before, suddenly behaves entirely different, or doesn't work anymore. 

Our kickstart scripts aren't that complicated, but still: I noticed four 
fundamental problems where Anaconda had changed behaviour on us and what we 
had working fine before suddenly no longer worked, or behaved differently.

The most problems were revolving around the detection of connected HDs and 
partitioning them. I could overcome these. What I yet couldn't fix was the old 
"Self" partitioning option.

In the past when you didn't tell Anaconda how to partition the disks, it would 
simply fire up Disk Druid and would let you do it yourself. These days it 
simply complains that it doesn't know where to install to. Which is a real 
bummer. I have some hopes of being able to provide a self partitioning option 
in the future again, but right now I've given the work on that a low priority.

As for not using LVM at all:

The typical BX CD install creates these partitions:

/boot 	(500MB)
/		(6144MB)
/var		(4096MB)
/tmp	(2048MB)
Swap	(4096MB)
/home	(rest of available space)

That's six partitions.

A separate /boot is a must have for a couple of reasons, some of which deal 
with RAID, some of which deal with potential disk sizes and drawbacks of the 
boot-loader. 

We also need a separate /home so that we can enable disk quota there. Swap 
naturally needs it's own partition as well. And we need place for "/", which 
adds another partition. That's four already.

Must /var and /tmp have their own partitions? The benefit of giving /tmp its 
own partition is that we can mount it "noexec,nosuid", which prevents some 
malice. And having the logfiles and mailqueue in a separate /var partition 
helps to some degree (but not entirely) to prevent that the system partition 
fills up to a point where damage to critical files prevents booting.

There can be only four primary partitions, so if we want to use six 
partitions, some of them must reside either in an LVM, or in an extended 
partition. As /boot cannot be in an extended partition and Swap shouldn't be 
in an extended partition, this limits our options a bit about what can be 
extended and what not.

The typical kickstart examples that you see floating around either use four 
partitions at the most (without LVM), or use LVM and have more partitions.

LVM seems to be the preferred method. Why is that the case? On one hand it 
allows more flexibility, as you can "grow" or "shrink" LVM partitions at 
leizure. AND you can span LVMs over multiple drives, which is great if you 
want to set up a RAID0+1 for example.

Using LVM also allows us to get around the limit of having only a maximum of 
four primary partitions, as using an extended partition adds a single point of 
failure where we risk that damage to the extended partition wrecks every 
"sub"-partition that's within.

Anaconda can be used to create an extended partitions and to create partitions 
within that. The drawback there isn't that obvious, but it's present:

To do so, one would let the kickstart script create the usual primary 
partions:

/boot
/
Swap

The we create an "extended partion" using the remaining available diskspace. 
BUT: Anaconda then doesn't know how big the remaining space is, as we're 
forced to use the "--size=1 --grow" switch to create that partition.

In the next step we then *try* to create /home, /var and /tmp in the extended 
partition. For /var we set our usual 4096MB of size, for /tmp the usual 2048MB 
and for /home we then try to use the remaining space.

However: It could already be that we run out of space, because we have no way 
of checking how big the extended partition was to begin with. And we don't 
know offhand how big our /home will get in the end. Depending on the disk size 
at the beginning, it may be too small to allow the install to complete. So 
from that point in the install onwards we'd simply work on assumptions and 
would fly blind.

To counter that we'd have to code the size checks outside of Anaconda, which 
complicates things quite a bit.

So after this detour into the innards of Anaconda and Kickstart scripting it 
may be necessary to summarize things a bit:

Would it be nice to have a self partitioning option again?

Absolutely. If possible, it will be added again.

Will we include an optional  "no LVM" kickstart?

Maybe.

All in all I don't see LVM as problematic. To the contrary: It offers more 
benefits than drawbacks. We can bypass the four primary partition limit, we 
can shrink and grow partitions w/o reformatting, it allows us to use RAID0+1 
and makes kickstart scripting a hell of a lot easier.

Like said: I'm not against *not* using LVM. But I don't really see any 
benefits in dropping LVM. 

Here is my offer, though: Someone send me a working kickstart script that 
works with the CD and installs w/o LVM and I'll include it as boot option in 
the CDs.

-- 
With best regards

Michael Stauber



More information about the Blueonyx mailing list