Unterschiede zwischen den Revisionen 10 und 27 (über 17 Versionen hinweg)
Revision 10 vom 2010-03-25 16:39:25
Größe: 1870
Autor: dsl61-75
Kommentar: 1 Fehler gefunden
Revision 27 vom 2010-03-29 21:30:45
Größe: 6292
Autor: dsl-217-166-16
Kommentar:
Gelöschter Text ist auf diese Art markiert. Hinzugefügter Text ist auf diese Art markiert.
Zeile 1: Zeile 1:
Alles in Virtualbox

[[TableOfContents()]]
Zeile 3: Zeile 7:
Alles in Virtualbox

=== Installation eines normalen Debian -> Fai-Server ===

== 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.
Zeile 7: Zeile 12:
 * 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
Zeile 13: Zeile 24:
FAI_CONFIG_SRC=nfs://fai-master$FAI_CONFIGDIR FAI_CONFIG_SRC=nfs://faiserver/$FAI_CONFIGDIR
Zeile 17: Zeile 28:
NFSROOT_ETC_HOSTS="192.168.1.250 fai-master"

FAI_DEBOOTSTRAP="lenny http://192.168.200.54/debian/"
}}}
/!\ verflixter Fehler: mirror war defekt, Pakete wurden nur teilweise geladen. ;-)

   * hosts
{{{
192.168.200.33 fai-master-org
192.168.1.100 fai-client.gramlich.localnet fai-client demohost
192.168.1.250 fai-master.gramlich.localnet fai-master
}}}


 * fai-setup nur teilweise, endet mit

{{{
ERROR: 32512 32512
ERROR: chroot /srv/fai/nfsroot/live/filesystem.dir apt-get clean return code 127
ERROR: 32512 32512
ERROR: chroot /srv/fai/nfsroot/live/filesystem.dir aptitude -R -y -o
Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold"
install nfs-common fai-nfsroot module-init-tools dhcp3-client ssh rdate
lshw portmap bootpc rsync lftp less dump reiserfsprogs e2fsprogs
usbutils hwinfo psmisc pciutils hdparm smartmontools parted mdadm lvm2
dnsutils ntpdate dosfstools cvs jove xfsprogs xfsdump procinfo dialog
discover mdetect console-tools console-common expect iproute udev
subversion cfengine2 libapt-pkg-perl grub lilo read-edid linux-image-486
aufs-modules-2.6-486 return code 127
ERROR: 32512 32512
ERROR: chroot /srv/fai/nfsroot/live/filesystem.dir apt-get clean return code 127
ERROR: 32512 32512
ERROR: chroot /srv/fai/nfsroot/live/filesystem.dir apt-get clean return code 127
}}}


=== Installation eines Fai-Clients via PXE ===

 * test with internal network (./)
   * needs /etc/default/dhcpd.conf "eth1"
 * success client gets ip
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:

http://www.skolelinux.de/images/fai1.jpg


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!

http://www.skolelinux.de/images/fai-success.jpg

== Ä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:

{{{
#! /bin/bash
# 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.

Alles in Virtualbox

TableOfContents()

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:

http://www.skolelinux.de/images/fai1.jpg

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!

http://www.skolelinux.de/images/fai-success.jpg

Ä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.

KurtGramlich/FAI (zuletzt geändert am 2013-11-03 12:10:59 durch localhost)

Alle Inhalte in diesem Wiki stehen unter der Creative Commons SA 4.0 DE Lizenz