Wir möchten beispielhaft mit einer Red Hat 6.2 Distribution eine Remote
System-Installation durchführen. Dabei stehen uns zwei Rechner zur
Verfügung, die als BOOTP/DHCP/TFTP/NFS Server fungieren sollen. Alle
Klienten sollen über diese zwei Server die zu installierende
Distribution beziehen.
Die Idee zur dynamischen Lastenverteilung ist leicht erklärt.
BOOTP/DHCP Anfragen werden per Broadcast vom Klienten aus vollzogen.
Es können mehrere Server im Subnetz den BOOTP/DHCP Service anbieten.
Der Server, der als erster dem Klienten antwortet, ist auch für alles
weitere verantwortlich, also auch für das Exportieren des
Installationsimages. Wie leicht zu merken ist, wird das auf dem
Server einiges an Last erzeugen. Und irgendwann wird der andere Server
den nächsten Klienten einfach schneller Antworten.
Doch soviel zur Theorie. Wie sieht die Realisierung aus?
Technische Realisierung
An dieser Stelle soll nicht erklärt werden, wie ein BOOTP/DHCP/TFTP/NFS
Server aufzusetzen ist und wie die Klienten auch ohne BOOT-ROM zur
BOOTP-Anfrage zur Bootzeit zu bewegen sind, siehe jedoch dazu
BOOTP/DHCP und kickstart. Hier sollen nur
die zu beachtenden Unterschiede aufgezeigt werden.
Arbeitsschritte:
Auf jeden Server wird ein Image der Red Hat 6.2 Distribution aufgespielt.
Jeder Server erhält die gleiche Kopie des
/etc/dhcpd.conf Files, jedoch sind dort
keine Einträge der Art:
next-server <boot image server address>
vorzunehmen, denn dann ist der spätere Boot Image Server einfach der BOOTP
Server.
Nehmen wir an, der eine Server besitzt die IP-Adresse
192.168.250.253und der andere die 192.168.250.254.
Jeder Boot Image Server bekommt ein für ihn angepasstes tagged Network
Boot Image linux.nbi. Dieses wird dann mittels des Kommandos
mknbi-linux aus dem in der Red Hat 6.2 Distribution
enthaltenen Linux Kernel und der Initial-RAM-Disk folgendermassen erstellt:
Danach wird es in das TFTP daemon Root Verzeichnis auf den jeweiligen Server
kopiert.
cp linux-6.2.nbi.<boot image server address> /tftpboot/linux.nbi
Auf dem jeweiligen Server sind jetzt noch die im Verzeichnis:
$KSINSTROOT/ks-roots/
befindlichen Kickstart Scripte anzupassen, siehe Beispiel Script
configs/192.168.250.3-kickstart,
welches sich auf dem BOOTP/DHCP/TFTP/NFS Server mit der IP Adresse
192.168.250.254 befindet.
Dazu sollte die Zeile, im Beispiel Script ist das: