Re: deprecating /usr as a standalone filesystem?
Roger Leigh <email@example.com> writes:
> On Tue, May 05, 2009 at 06:49:47PM +0200, Josselin Mouette wrote:
>> Le mardi 05 mai 2009 Ã 17:24 +0100, Roger Leigh a Ã©crit :
>> > That might have been a "traditional" reason for a shared /usr.
>> > However, the package manager can't cope with this setup since
>> > you have some components of a package installed locally and
>> > some remotely for all systems using the "shared" part. It's
>> > an impossible situation to actually cater for in real life.
>> > Has anyone ever actually *done* this?
>> Of course, you just need to think the image you actually update as a
>> master image, after which it is replicated by any means necessary (be it
>> systemimager or NFS).
> Sure, but you effectively only have "one" master image. You don't
> have multiple users of /usr with differing /etc or /var. They are
> all kept in sync. This kind of makes /usr redundant since it is
> "sharable" but only among identical systems or else you will run
> into problems.
The important part would be that a small / is replicated across all
hosts. Possibly automatically on boot whenever it changed. The large
/usr on the other hand is exported via NFS. This keeps the amount of
data being replicated small.
>> As for NFS, Iâ??d use root NFS instead of complicating my life with two
>> different methods for / and /usr, but I guess some are doing it this
> On the compute cluster I helped set up for biological modelling, we
> opted to use Debian Live images on the cluster. It IIRC NFS mounts
> a read-only cramfs filesystem and uses aufs on top of that. There's
> just the one big filesystem (plus some site-specific mounts for
> shared data and a big scratch area all the nodes can access). We
> certainly saw no point in making just /usr mountable since you need
> a matching rootfs to accompany it.
I have a setup with unionfs-fuse for xen/kvm instances here. I have
one master tree that every instance mounts read-only and unionfs-fuse
overlays a read-write branch from server:/srv/rw/<ip>/.
But just like you I don't need a seperate /usr for that.