Größe: 6298
Kommentar: Verlinkt
|
Größe: 6306
Kommentar:
|
Gelöschter Text ist auf diese Art markiert. | Hinzugefügter Text ist auf diese Art markiert. |
Zeile 45: | Zeile 45: |
* {{{ make-fai-bootfloppy "FAI_FLAGS=sshd,createvt FAI_ACTION="install" }}} * {{{ make-fai-bootfloppy -d f "ip=10.0.2.111:10.0.2.5:10.0.2.1:255.255.254.0:demohost:eth0:off FAI_FLAGS=verbose,createvt" FAI_ACTION="install" }}} |
* {{{ make-fai-bootfloppy FAI_FLAGS="sshd,createvt" FAI_ACTION="install" }}} * {{{ make-fai-bootfloppy -d f "ip=10.0.2.111:10.0.2.5:10.0.2.1:255.255.254.0:demohost:eth0:off" FAI_FLAGS="verbose,createvt" FAI_ACTION="install" }}} |
FAI ( Fully Automatic Installation )
Im Moment unterstützt FAI ["Debian"] I386/IA64/SPARC/PowerPC und Solaris Systeme.
FAI ist eine Sammlung von ["Shell"]-, ["Perl"]-, und ["cfengine"]-Scripten. Die zusammen mit den ["Debian"] tools ["apt"]-get und debootstrap, es ermöglichen eine komplette Installation und Konfiguration eines ["Debian"]-Systems vorzunehmen. Völlig unbeaufsichtigt kann ein System oder eine ganze ["/Infrastruktur"] installiert werden.
Aber es gilt wie im Manual auch schön beschrieben wird:
Plane Deine Installation (["/Infrastruktur"]) richtig und mit FAI kannst Du diesen Plan einfach installieren. Und genau dieser Plan ist nicht einfach zu erstellen. Viele Entscheidungen müssen getroffen werden.
- ["NIS"], ["LDAP"] oder Passwd?
- Wie soll das Netzwerk strukturiert sein?
- ["DHCP"] oder Feste IPs
- Wo sollen die Daten der User hin?
- Was wird wie gebackuped?
- Was wird an Sicherheit wo gebraucht? Was kann man an Unsicherheit wo verantworten?
- ....
Allerdings müssen diese Entscheidungen auch in anderen Netzen gefällt werden. Doch oft sind die einfach gewachsen. Mit FAI könnte man so ein Netz neu gestalten.
Homepage: http://www.informatik.Uni-Koeln.DE/fai/
Infos:
Lizenz: ["GPL"]
Tipps & Tricks
["Perl"], ["cfengine"] oder ["Bash"] was ist am besten für welche Aufgabe verwendbar?
["cfengine"] wenn das Paket ein gute Konfigurationsdateien mitbringt und nur kleine Änderungen benötigt werden.
Mini-Howto
Hilfsprogramme
make-fai-bootfloppy
Erstellt eine Floppy zum booten wenn man nicht über Netzwerk (["PXE"]) booten kann/will.
Beispiele:
make-fai-bootfloppy FAI_FLAGS="sshd,createvt" FAI_ACTION="install"
make-fai-bootfloppy -d f "ip=10.0.2.111:10.0.2.5:10.0.2.1:255.255.254.0:demohost:eth0:off" FAI_FLAGS="verbose,createvt" FAI_ACTION="install"
(Das ip= kommt mir etwas komisch vor, scheint irgendwie ein Fehler in make-fai-bootfloppy zu sein?)
make-fai-bootfloppy -s demohost -d f FAI_FLAGS=verbose,createvt" FAI_ACTION="install"
Alle Informationen
man make-fai-bootfloppy gibt weitere Tips
Als schön empfinde ich das es unabhängig vom ["DHCP"] Server und damit der MAC Adresse der Netzwerkkarte ist.
Klassen
siehe auch bei installiertem fai: zcat /usr/doc/fai/classes_description.txt.gz
/BasisClassen (DefaultKlassen)
Erklärung der Kürzel in den Tabellen für die Klassen: ------------------------- C = /fai/class/ V = used for *.var in /fai/class D = /fai/disk_config/ P = /fai/package_config/ S = /fai/scripts/ F = /fai/files/ (used by fcopy) A = auto class (defined by a script) H = /fai/hooks
Actions
sysinfo : Hardware Information ausgeben und auf den Log Server schreiben.
install : Installieren des Targets.
Eigene Aktionen sind möglich und können durch Haken (./hooks) bearbeitet werden.
Flags
verbose : Mehr Meldungen / debugging
sshd : ["ssh"] daemon starten. Damit kann man sich während der Installation mit ["ssh"] einloggen.
syslogd :
createvt : Zusätzliche Terminals auf F2,F3 öffnen während der Installation
reboot : Neu booten nach der Installation.
debug :
FAI Parameter
Sind Variablen die gesetzt werden können. Defaultwerte werden meist aus den Werten in /etc/fai/fai.conf gesetzt.
Einige müssen rechtzeitig, also schon beim booten, richtig gesetzt sein. Jedoch kann man sie an vielen Stellen setzen. Das ist meistens von der Anwendung abhängig also Geschmackssache.
- Auf der Boot-Diskette. setzen z.B. mit make-fai-bootfloppy
Im /boot/fai/pxelinux.cfg/<file> setzen z.B. mit fai-chboot
- Einige im ["DHCP"] oder bootp Server.
- Einge in der Datei LAST.var im Verzeichnis fai/class
- ....?
Hier einige Variablen:
- FAI=/fai
- FAI_LOCATION=/usr/local/share/fai
- NFSROOT=/usr/lib/fai/nfsroot
- FAI_ACTION="install"
- FAI_FLAGS="verbose,createvt"
FAI Kernels
Es gibt verschiedene ["Kernel"] unter FAI
- Natürlich den Kernel mit dem der Install Server läuft.
Der Kernel der für die Installation auf dem Zielsystem benutzt wird. (in fai.conf --> nfsroot)
Der Kernel der später auf dem Zielsystem läuft. z.B. DEFAULT.var
# packages in /fai/files/packages/ that are installed to the new system # used in scripts/DEFAULT/S01. This directory should be a simple repository. # you can also include your specific kernel-image package kernelversion=2.4.20 # for the packages kernel-doc and kernel-source addpackages="kernel-image-2.4.20-2-386"
ToDo: Erklären wie die Kernel von fai ausgewählt werden. Erklären wie sie erzeugt werden und wie man am besten startet.
Probleme finden
setze in:
/usr/lib/fai/nfsroot/etc/init.d/rcS set -xv # for full debugging
oder in Unterprogrammen z.B.:
/usr/lib/fai/nfsroot/usr/lib/fai/fai-savelog #! /bin/bash -x
setze: FAI_FLAGS=verbose,createvt zum Beispiel in der ["PXE"] oder dhcp config Datei.
Hacks
- FAI ist sehr flexibel man kann mehrere Konfiguration benutzen.
- FAI kann mit mehreren install roots arbeiten. In diesen kann man mit chroot alles anpassen.
- Falls man ["PXE"] oder Diskette als Boot benutzt kann man viele Parameter für jeden Client einzeln übergeben
- Einfacher hook für XTerminals mit automatischer Hardware Erkennung (aus ["Knoppix"] übernommen).
- Monitor und Bildschirm Hardware Erkennung für FAI (aus ["Knoppix"] übernommen).
- ["ssh"] statt rsh benutzen.
Wenn jemand Interesse an den Hacks hat, kann er mich gerne kontaktieren. Voraussetzung ist das er sich schon mit FAI auskennt. Schön wäre es wenn er sich schon ein wenig am Projekt FAI beteidigt hätte. -- AndreasSchockenhoff DateTime(2003-11-22T10:44:43Z)
Themen rund um FAI
http://www.debian.org/doc/manuals/repository-howto/repository-howto.html
["dpkg/LokaleDebDateien"]
---