diskless alphalinux nodes
Gregory R. Warnes
warnes at biostat.washington.edu
Tue Jun 6 12:40:18 PDT 2000
On Tue, 6 Jun 2000, Robert G. Brown wrote:
RGB>> On Tue, 6 Jun 2000, Mathew Lee wrote:
RGB>>
RGB>> > ....additionally I searched the archives for diskless and found a reference from
RGB>> > Oct. 1998, where you talk about a diskless booting sequence
[snip]
RGB>>
RGB>> I largely abandoned this particular approach because new kernels came
RGB>> out that supported much better methods. The most intriguing is Greg
RGB>> Warnes NFS hack that permits the normal installation of just one server
RGB>> to support N nodes without creating any host-specific export directories
RGB>> at all -- I think he posted it last week.
The NFS mod that Robert mentions is called ClusterNFS and has a home
page at http://ClusterNFS.sourceforge.net
RGB>> Greg's NFS hack allows a single fs to be exported but gives writability
RGB>> and remapped identity to files via an IP-based tag, so e.g.
RGB>> /etc/ld.so.cache as mounted on host xxxxxxxx is really exported as
RGB>> /etc/ld.so.cache_xxxxxxxx on the server. IIRC, that is (he may correct
RGB>> me). I'd expect that his changes are moderately portable since they are
RGB>> likely well above the machine hardware layer of the kernel.
Actually, ClusterNFS runs entirely in userspace, so that *no* kernel
modifications are required on either the server or the client. Since
ClusterNFS is a simple extension to the standard Universal-NFS server,
which is reported to work on a wide variety of OS's and CPU's, I expect it
will compile and work out-of-the-box with Alpha-Linux. (Of course, I
haven't actually tried anything but Intel Linux. Let me know if something
doesn't work.)
RGB>> However, once you've figured out how to build a NFS lilo boot floppy
RGB>> (which isn't that difficult from the current howtos and e.g. mkinitrd)
RGB>> it is also pretty simple to go diskless by just giving each node e.g.
RGB>> /exports/[b1,b2,b3...] exported to each host as its root and then
RGB>> cloning everything BUT /usr into it (that is, make /usr a separate
RGB>> filesystem on the server, usually, and export it RO to all the hosts).
RGB>> This wastes a bit of space but space is cheap. You'll still need to
RGB>> periodically rsync the node roots with a carefully determined exclusion
RGB>> list, as otherwise e.g. RPM installs on the server won't properly
RGB>> propagate to the nodes.
I created ClusterNFS explicitly to get away from the need to keep separate
directories for each client (either on NFS or on the client itself).
Keeping {track of, propagating} changes to all of the appropriate
directories gets hairy fast. Even if you use rsync, it is quite difficult
to figure out everything that should be {in,ex}cluded. I used to do this
on our cluster, and every couple of months I'd discover that something
else needed to be excluded that wasn't. In addition, particularly painful
things happen when rsync tries to update the libraries it is using on the
clients....
-Greg
More information about the Beowulf
mailing list