[CentOS] Question about storage for virtualisation

Mon Jul 2 15:00:39 UTC 2012
Stephen Harris <lists at spuddy.org>

On Mon, Jul 02, 2012 at 03:04:50PM +0100, Giles Coochey wrote:

> As Rob at landley.net mentioned on the busybox list a couple of years ago:

> bureaucrats who never question _why_ they're doing things.  It stopped 
> making
> any sense before Linux was ever invented, for multiple reasons:
> 1) Early system bringup is the provice of initrd and initramfs, which deals
> with the "this file is needed before that file" issues.  We've already 
> _got_ a
> temporary system that boots the main system.

Which, of course, is a fallacy.  Back when we did FSSTND the concept of
initrd/initramfs wasn't used.  It still wasn't too unusual to use rdev to
set the root disk in the kernel image rather than pass it as a parameter
via LILO.  (I'm not sure when initrd became usable; it might have been
around 2000.  According to http://www.linuxsymposium.org/2000/booting.php
ramdisks only appeared in the kernel in 1996 and pivot_root in 2000.
Thus initrd didn't exist when FSSTND was written... in 1993/1994.
Hardly "before Linux was ever invented".)

> 2) shared libraries (introduced by the Berkeley guys) prevent you from
> independently upgrading the /lib and /usr/bin parts.  They two partitions 
> have

Irrelevant to the discussion.  "Independence" of / and /usr was never
an argument in the Linux space.

> 3) Cheap retail hard drives passed the 100 megabyte mark around 1990, and
> partition resizing software showed up somewhere around there (partition 
> magic
> 3.0 shipped in 1997).

Hmm, we did FSSTND in 1993/1994 timeframe.  At this time, considering
that for many people this was a 2nd OS dual-booted with DOS/Windows
3, we dealt with smaller partitions spread potentially on the end of
multiple disks that DOS couldn't use (8Mb at the end of a 40Mb disk
'cos of the 32Mb limit of the time.  Woohoo, I had two of these disks!).

> Root was for the OS stuff you got from upstream and /usr was for your site-
> local files.  Then / was for the stuff you got from AT&T and /usr was for 
> the

That was never in FSSTND, and it wasn't in the SVR4 definition documents
(which I used a fair bit to help steer the FSSTND discussion).

Basically, Rob is incorrect as to the Linux rationale.  We kept the /
and /usr split to be _consistent_ with existing practice and to allow
small and hobbyist systems to be usable.

_TODAY_ (where I have an MMC card in my wallet that's almost 1000 times
bigger than that old hard disk!) the rationale for a / and /usr split is a
lot less.  We _do_ commonly use ramdisk based boot systems, we _do_ have
disk space to spare.  If we were to redo FSSTND (er, FHS as it became)
today then it's likely that decisions like the / /usr split would have
been decided differently.

I'm not convinced a /XX -> /usr/XX symlink solution buys us very
much (for cross-platform compatibility people will still have
/usr/local/bin:/usr/bin:/bin as PATHs) but I'm also not convinced
it'll cause any real problems.

If you want a historical look as to some of the reasons why we did
what we did,