Chapter 3. 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 Red Hat Enterprise Linux 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 as discussed in Section 3.1 Start the tftp Server.

  6. Configure the DHCP server as discussed in Section 3.2 Configuring the DHCP Server.

  7. Finish creating the diskless environment as discussed in Section 3.4 Finish Configuring the Diskless Environment.

  8. Configure the diskless clients as discussed in Section 3.5 Adding Hosts.

  9. Configure each diskless client to boot via PXE and boot them.

3.1. Start the tftp Server

On the DHCP server, verify that the tftp-server package is installed with the command rpm -q tftp-server. If it is not installed, install it via Red Hat Network or the Red Hat Enterprise Linux CD-ROMs. For more information on installing RPM packages, refer to Part III Package Management.

tftp is an xinetd-based service; start it with the following commands:

/sbin/chkconfig --level 345 xinetd on
/sbin/chkconfig --level 345 tftp on

These commands configure the tftp and xinetd services to immediately turn on and also configure them to start at boot time in runlevels 3, 4, and 5.