[Beowulf] /usr/local over NFS is okay, Joe
ajt at rri.sari.ac.uk
Fri Jul 4 04:44:41 PDT 2008
Joe Landman wrote:
> Yeah, it is ambiguous to a degree, but I figure that something named
> /local is actually going to be physically local. It helps tremendously
> when a user calls up with a problem, say that they can't see a file they
> placed in /local/... on all nodes. Usually they get quiet for a moment
> after saying that aloud, and then say "oh, never mind". :)
Looks like some SunOS/Solaris veterans (like me) showing their colours here!
Sun, as in the network is the computer, developed quite a lot of very
good strategies for sharing files via NFS on diskless/dataless clients
and this has been inherited in different ways by Linux distributions.
In particular, Sun went out of their way to move a lot of things from
/bin into /usr/bin precisely so it could be shared by NFS. I also agree
with the widely used convention that '/usr/local' means local to the
site, not the particular machine. It seems intuitively obvious to me
that /local (i.e. in the root filesystem) is intended to be both local
to a specific machine, and local to the site, whereas /usr/local is
local to the site and may be shared via NFS but is not required to be.
I have a bit of a problem with /opt, which is where 'optional' software
is supposed to be installed. In the same way, that it is intuitively
obvious to me that /opt is where optional software is installed on a
specific machine, and /usr/opt may be shared via NFS but is not required
to be shared. However, I have rather contradicted myself and done this
on all our servers:
/usr/local -> /opt/local
I did this so I could use the /opt as a mount point in an NFS
automounter map: It's not possible to automount /usr/local on /usr
because, if you do, you hide the rest of /usr unless you use e.g.
"unionfs" and that's a bit too much like hard work for me!
Another reason I did this is to keep /usr/local out of the 'system'
hierarchy, which makes upgrades easier because you don't need to worry
about overwriting /usr/local during an upgrade installation.
One thing that I value from my BSD/SunOS/Solaris days is /export, which
is where ALL shared (exported) filesystems should be placed on NFS
servers. I'm a real supporter of Debian/Ubuntu, but it drives me bonkers
that Debian policy is to put home directories in /home. I put them in:
And use /home as a mount point in an automounter map. This way machines
can, in the well known BSD/Sun inspired way, share home directories:
/home/hostname/username -> hostname:/export/home/username
On a stand-alone host, I make a symbolic link:
/home -> /export/home
If, in future, this host needs to share home directories and mount other
host's home directories, I then remove the symbolic link, install the
automounter and use /home as the NFS mount point in the automounter map.
Naturally, I don't always practice what I preach and recently I've been
trying to work out to use the automounter the 'Debian' way ;-)
So far I've not come up with anything that beats using /export/home!
Dr. A.J.Travis, | mailto:ajt at rri.sari.ac.uk
Rowett Research Institute, | http://www.rri.sari.ac.uk/~ajt
Greenburn Road, Bucksburn, | phone:+44 (0)1224 712751
Aberdeen AB21 9SB, Scotland, UK. | fax:+44 (0)1224 716687
More information about the Beowulf