Chapter 4. Diskless Environments

Some networks require multiple systems with the same configuration. They also require that these systems be easy to reboot, upgrade, and manage. One solution is to use a diskless environment in which most of the operating system, which can be read-only, is shared from a central server between the clients. The individual clients have their own directories on the central server for the rest of the operating system, which must be read/write. Each time the client boots, it mounts most of the OS from the NFS server as read-only and another directory as read-write. Each client has its own read-write directory so that one client can not affect the others.
The following steps are necessary to configure Red Hat Enterprise Linux to run on a diskless client:
  1. Install Red Hat Enterprise Linux on a system so that the files can be copied to the NFS server. (Refer to the Installation Guide for details.) Any software to be used on the clients must be installed on this system and the busybox-anaconda package must be installed.
  2. Create a directory on the NFS server to contain the diskless environment such as /diskless/i386/RHEL4-AS/. For example:
     mkdir -p /diskless/i386/RHEL4-AS/ 
    This directory is referred to as the diskless directory.
  3. Create a subdirectory of this directory named root/:
     mkdir -p /diskless/i386/RHEL4-AS/root/ 
  4. Copy Red Hat Enterprise Linux from the client system to the server using rsync. For example:
     rsync -a -e ssh installed-system.example.com:/ /diskless/i386/RHEL4-AS/root/ 
    The length of this operation depends on the network connection speed as well as the size of the file system on the installed system. Depending on these factors, this operation may take a while.
  5. Start the tftp server
  6. Configure the DHCP server
  7. Finish creating the diskless environment as discussed in Section 4.2, “Finish Configuring the Diskless Environment”.
  8. Configure the diskless clients as discussed in Section 4.3, “Adding Hosts”.
  9. Configure each diskless client to boot via PXE and boot them.

4.1. Configuring the NFS Server

The shared read-only part of the operating system is shared via NFS.
Configure NFS to export the root/ and snapshot/ directories by adding them to /etc/exports. For example:
/diskless/i386/RHEL4-AS/root/     *(ro,sync,no_root_squash)
/diskless/i386/RHEL4-AS/snapshot/ *(rw,sync,no_root_squash)
Replace * with one of the hostname formats discussed in Section 21.3.2, “Hostname Formats”. Make the hostname declaration as specific as possible, so unwanted systems can not access the NFS mount.
If the NFS service is not running, start it:
 service nfs start 
If the NFS service is already running, reload the configuration file:
 service nfs reload