StatelessLinux/ServerConfiguration

= Stateless Linux - Stateless Linux Server Configuration =

See  Stateless Linux HOWTO

The stateless server provides a number of services for stateless clients, including NFS, DHCP, Puppet, etc. This document will guide you through the most basic setup of a stateless server. This guide assumes you are building the server from scratch and that all the services will live on this new server.

Installing Fedora Core onto the Stateless Server
You will want to perform a generic installation of Fedora Core 7 or Fedora 7 onto your server, with one significant exception. Specifically, you will need to create three additional filesystems. The first should be mounted on  and should be at least 8G per unique diskless OS you want to support. The second should be mounted on, 1G should be sufficient for   and the last should be mounted on   and should be at least 8G per unique OS you want to support.

There is no need to customize the installation beyond items such as the network configuration, timezone and keyboard layout. Later steps will install any additional packages needed by the stateless server.

Installing Additional Packages and Initial Configuration of the Stateless Server
The stateless server needs some additional packages to provide services to stateless clients. The easiest way to get the full set of packages necessary to run a stateless server is to install the Stateless Server RPM will also perform initial configuration of the server. To install the Stateless file on the stateless server, then run   to import the   file. After importing your host file, manually add an entry named "puppet" with the IP address of your stateless server. Save the configuration and quit .

Edit  and change the default kernel to the   kernel. Finally, reboot your server.

Details of additional packages installed
1.  is used for provisioning new stateless clients and for booting diskless clients.

1.  is used to instantiate root filesystems for NFS clients

1.  is used to provide OS metadata to clients when instantiating an OS image to a local disk

1.  is used to provide MAC <-> IP translations and netboot information to stateless clients.

1.  is used to manage the small amount of persistent state/configuration files on stateless clients. For additional information on puppet see: http://reductivelabs.com/projects/puppet.

1.  is necessary for graphical instantiation of NFS root filesystems. It is not necessary for text mode install.

1.  is used to manage distributions, profiles and bindings of systems (clients) to profiles. It also manages DHCP and tftpboot configurations for clients. For further information on cobbler see: http://cobbler.et.redhat.com.

1.  must be updated due to a dependency glitch in current versions of.

1.  is used to create a local yum repository with site specific packages such as the puppet master's certificate.

1.  and   are used to provide DNS services for your stateless network.

1.  is used to build the RPM containing the Puppet Master's certificate.

1.  is needed to tftpboot stateless clients

1.  is used to instantiate virtual machines

Details of Configuration Steps Performed by the StatelessServer RPM
1. Cobbler is configured to use the IP address of the stateless server for all services. 1. Cobbler is configured to manage the stateless server's DHCP configuration file 1. tftp service is enabled on the stateless server. 1. NFS service is enabled 1. HTTP service is enabled 1. Ports are opened in the firewall for DHCP, TFTP, Portmap, NFS, lockd, mountd, SSH, HTTP, DNS and puppet 1. Initial puppet configuration and manifests are installed 1. Repository containing the puppet master's certificate is created