Alles in Virtualbox
Inhaltsverzeichnis
Aufbau einer Testumgebung mit FAI
1 Installation eines minimalen Debian in einer Virtualbox
- 2 Netzwerkkarten, davon eine als internes Netzwerk von Virtualbox, darüber wird später via PXE gebootet.
- Die erste Netzwerkkarte als bridge und somit Verbindung zum Internet, lokalen Mirror etc.
Debian Installation (minimal)
Zusätzlich installiert vim, screen, less, mc, tcpdump, locate, rsync, openssh-server
2 Installation und Konfiguration eines fai-master FAI-Servers
Nach Anleitung Quickstart - For the impatient user
http://www.informatik.uni-koeln.de/fai/fai-guide/ar01s02.html
aptitude install fai-quickstart
- Konfiguration von
- fai.conf
LOGUSER=fai FAI_CONFIG_SRC=nfs://faiserver/$FAI_CONFIGDIR
- make-fai-nfsroot.conf
NFSROOT_ETC_HOSTS="192.168.1.250 faiserver" FAI_DEBOOTSTRAP="lenny http://ftp2.de.debian.org/debian/"
fai-setup
- inetd gestoppt
- tfptd in inetd.conf auskommentiert
- in /etc/default/tftpd-hpa
#Defaults for tftpd-hpa geändert: #RUN_DAEMON="no" RUN_DAEMON="yes" #OPTIONS="-l -s /var/lib/tftpboot" OPTIONS="-l -s /srv/tftp/fai"
Eintragen:
- dhcpd.conf
faiserver:/etc/dhcp3# cat dhcpd.conf # dhcpd.conf for fai # replace faiserver with the name of your install server #deny unknown-clients; option dhcp-max-message-size 2048; use-host-decl-names on; #always-reply-rfc1048 on; default-lease-time 600; max-lease-time 7200; subnet 192.168.1.0 netmask 255.255.255.0 { option routers 192.168.1.250; option domain-name "gramlich.localnet"; option domain-name-servers 212.100.40.1; option time-servers faiserver; option ntp-servers faiserver; server-name faiserver; next-server faiserver; filename "pxelinux.0"; }
- demohost mit ip in der /etc/hosts
192.168.1.51 demohost.gramlich.localnet demohost 192.168.1.52 demohost2.gramlich.localnet demohost2 192.168.1.250 faiserver.gramlich.localnet faiserver
- tftpd-hpa als daemon gestartet
- damit der demohost herausfindet, richten wir auf dem faiserver ein routing ein.
# iptables -t nat -A POSTROUTING -s 192.168.1.0/255.255.255.0 -o eth0 -j MASQUERADE
# echo 1 > /proc/sys/net/ipv4/ip_forward
für die Logfiles auf dem faiserver einen user fai angelegt
3 Installation eines Fai-Clients via PXE
- Virtualbox demohost anlegen
- Netzwerkkarte intranet
- MAC Adresse im faiserver in der dhcpd.conf eintragen.
host demohost { hardware ethernet 08:00:27:3e:09:4e; fixed-address demohost; }
und demohost ist schon mit ip in der /etc/hosts
demohost bootet via PXE
bekommt IP 192.168.1.51
tftp findet pxelinux.0
bootet Kernel
mountet Verzeihnisse faiserver
- Kontrolle im Verzeichnis /etc/exports
- falls etwas geändert wird, nfs-server neu starten:
# /etc/init.d/nfs-kernel-server reload
- installiert sich, leider nicht den grub
Fehlermeldung am Ende:
Nach manuellem Installieren von grub:
- Feststellen der Festplattenparameter mit fdisk -l /dev/hda
255 heads, 63 sectors/track, 2088 cylinders
- Nach dem folgenden Hinweis:
# HINT: if grub-install fails you need to install grub with grub-shell # # use: # fdisk -l <device> # # to read disc geomentry # # - cylinder C # - heads H # - sectors S # # now start grub, example: # # grub --device-map=/dev/null # grub> device (hd0,0) /dev/sdb1 # grub> device (hd0) /dev/sdb # grub> geometry (hd0) <C> <H> <S> # grub> root (hd0,0) # grub> setup (hd0) # grub> quit
Danach den demohost herunterfahren und in der Virtualbox das Booten umstellen, so dass jetzt von Festplatte gebootet werden kann. Ergebnis: Ein erster Erfolg!
Ändern der Musterinstallation
Da der demohost beim Rebooten innerhalb seines nfsmount Bereiches auf dem faiserver seine eigene Konfiguration disabled, damit er beim Rebooten nicht mehr mit einer Neuinstallation startet, muss vor dem nächsten Test die Konfiguration wieder nutzbar gemacht werden. Das gilt auch, wenn man an der Konfiguration etwas geändert hat.
# fai-chboot -IFv demohost
mit
# fai-chboot -l
kann man sich anzeigen lassen, welche nfsroot Umgebungen zur Zeit aktiv geschaltet sind.
Zusätzliche Klasse anlegen
Im Verzeichnis faiserver:/srv/fai/config/package_config
legen wir eine Datei KURT an mit dem Inhalt.
# KURT packages PACKAGES aptitude vim screen locate less
Damit diese Datei mit ihren Anweisungen auch abgearbeitet wird, tragen wir sie im Verzeichnis /srv/fai/config auf dem faiserver im Verzeichnis class in der Datei 50-host-classes ein:
# assign classes hosts # use a list of classes for our demo machine case $HOSTNAME in faiserver) echo "FAIBASE DEMO FAISERVER" ;; demohost) echo "FAIBASE DHCPC DEMO '''KURT''' GERMAN" ;; gnomehost) echo "FAIBASE DHCPC DEMO XORG GNOME";; atom*) echo "FAIBASE DHCPC DEMO" ;; *) echo "FAIBASE DHCPC" ;; esac (ifclass I386 || ifclass AMD64) && echo GRUB exit
Neue Konfiguration aktivieren
Jetzt aktivieren wir die neuen Einstellungen mit:
# fai-chboot -IFv demohost
Beim nächsten Booten des demohost sehen wir, wie die neuen Pakete von KURT installiert werden.
Hi,
was denkst Du von:
fai-chboot -IF -k "hostname=gnomehost" default
und diese Zeile mit range in der dhcpd.conf. subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.50 192.168.1.250; option routers 192.168.1.250;
Und dem file:
/srv/fai/config/hooks/chboot.DEFAULT # !/bin/sh -x SCRIPTNAME=`basename $0` skiptask=`echo $SCRIPTNAME | sed "s/\..*$//"` skiptask $skiptask
und ruf mal auf Deinen neuen client:
fai softupdate
auf.