SlideShare ist ein Scribd-Unternehmen logo
1 von 51
Downloaden Sie, um offline zu lesen
FAI – Ein Projekt wird 10
Jahre alt
Open Source Data Center Conference 2010
Thomas Lange, Universit¨at zu K¨oln
lange@informatik.uni-koeln.de
p.1/51
Agenda
Wie alles begann
Wie funktioniert FAI?
Nachteile der Automatisierung
10 Jahre FAI
Erfahrungen mit FAI
p.2/51
finger
whoami
Diplominformatiker, Uni Bonn
Systemadministrator an der Uni Köln seit über 18 Jahren
SunOS 4.1.1 auf SPARC, Solaris Jumpstart
Debian Entwickler seit 2000
Vorträge und Tutorials auf zahlreichen Konferenzen:
Linux Kongress, Linuxtag, DebConf, SANE, LCA,
FOSDEM, SUCON, CeBit, FFG
p.3/51
Wie alles began
Wir schreiben das Jahr 1999...
Das Jahrhundert in dem man noch per CD installierte
16 Rechner, je zwei Pentium II 400Mhz, 256 MB, 4GB
256 MB RAM, nicht L2 Cache
4GB Festplatte, nicht RAM
Aufgabe: Baue ein Beowulf Cluster und administriere es
Ich bin faul!
Sehr faul!!!
Es gibt keine fertige Lösung :-(
Also programmieren wir etwas Eigenes
p.4/51
Man nehme
Zwei Studenten als Hilfe
Debian Linux
Standardtechnik: PXE, TFTP, NFS
Shell und Perl
Ein paar Ideen von Solaris Jumpstart
p.5/51
Kochrezept
Einige Monate bei mittlerer Flamme,... = Entwicklungszeit
Achte auf Flexibilität
Garniere mit Klassenkonzept nach Ideen von Casper Dik
Erste Präsentation: Linux Kongress September 1999, Augsburg
Hands-on Tutorial
p.6/51
Augsburg
p.7/51
Augsburg
p.8/51
Augsburg
p.9/51
Kinderjahre
21. Dezember 1999: Version 1.0
Tarball
Debian 2.1 (slink)
Kernel 2.0.36
1700 Zeilen Shell und Perl
Davon 900 Zeilen Partionierungstool
Technical Report als Handbuch
Aber es gab einige mutige Benutzer!
p.10/51
TODO
TODO list for FAI, december 20, 1999
1. Most people wish that we would support other Linux distributions
(redhat, Suse)
2. Booting a kernel with pcmcia support for automatic installation of
notebooks and laptops
3. Cleanup the code of some perl scripts
4. install/class/S*.{pl,sh} scripts should check and resolve
dependencies
5. Make some change in rcS to run with Debian 2.2 and futher releases
6. class/S*.source: define variabel tftplink which is the name of the
link created in /tftplink. At present it’s always clusterimage
p.11/51
Motivation
180 dual AMD MP2200, Max Planck Institute for Gravitational Physics
p.12/51
Wert eines Computers
Was ist der Wert ihrer Computer?
Was beinhalten ihre Rechner?
Kundendaten
Services
Applikationen
Eigenes Know-How
Was passiert, wenn ihre Rechner einen Tag lang nicht laufen?
Eine gute Computerinfrastruktur ist so wichtig wie ...?
Wie sichern Sie diese Werte?
Ist damit wirklich alles gesichert?
p.13/51
Der Crashtest
Wählen Sie zufällig einen Rechner (ohne
Backup vorher)
Werfen sie den Rechner aus dem 10.Stock
(oder dd if=/dev/zero of=/dev/hda)
Stellen Sie alle Arbeit des Sysadmin innerhalb von 10 Minuten
wieder her
Schaffen Sie das? Und ihr Praktikant?
p.14/51
Manuelle Installation
Dauert viele Stunden
Viele Fragen
Wiederholende Arbeit ist stupide => Fehler
Dokumentation fehlt, Reproduzierbarkeit?
Jede Installation ist ungewollt einzigartig
Eine Installation per Hand skaliert nicht !
p.15/51
Warum voll automatisch?
”No simple sysadmin task is fun more than twice”
Ist schnell
Disaster recovery
Garantiert identische Installationen
Automatische Dokumentation
Spart sehr viel Arbeit (= Zeit = Geld). ROI
Macht mehr Spaß
p.16/51
Was ist FAI ?
FAI macht alles, was ihr Systemadministrator zu tun hat, bevor der
Benutzer das erste Mal auf einem neuen Rechner arbeiten kann
Deployment- und Config Management von OS und
Anwendungsprogramme
Skriptgesteuerte vollautomatische Installation
Kein Master Image
Modular durch Klassensystem
Erweiterbar und flexibel durch hooks
Es kann die Installation nicht planen :-(, aber
Plane deine Installation und FAI installiert deinen Plan! :-)
p.17/51
Wie funktioniert FAI ?
local
hard disk
provided via HTTP, FTP or NFS
./class
./disk_config
./package_config
./scripts
./files
Debian mirror
mounted by install kernel
NFS, CVS, svn or HTTP
install clientinstall server
./hooks
/target/
/target/var
.../fai/config/
/var
/bin
/usr
/
/target/usr
nfsroot
config space
Die Konfiguration liegt auf dem Install server
Die Installation läuft auf dem Klienten
p.18/51
Was braucht FAI?
Installserver mit DHCP, NFS und TFTP
Client bootet via PXE, CD-ROM, USB Stick
Optional: Lokaler Spiegel von Debian (NFS, FTP oder HTTP)
Plattenplatz auf dem Server:
FAI Paket <1 MB Skripte, Konfigurationdateien
nfsroot 380 MB erzeugt mit make-fai-nfsroot
Debian Spiegel <22 GB Debian 5.0 (lenny, nur i386)
Alle Install Clients nutzen die gleichen Verzeichnisse
Konstanter Plattenplatz
p.19/51
Ablauf einer Installation I
Plane deine Installation!
Booten via PXE und Kernel mit initrd via TFTP holen
Rechner startet als Diskless Client
Hardwareerkennung und Kernel Module laden
p.20/51
Ablauf einer Installation II
Klassen und Variablen definieren
Festplatten partitionieren
Dateisysteme erzeugen und mounten
Software Pakete installieren
Betriebssystem und Anwendungen konfigurieren
Protokolldateien lokal und auf Install Server speichern
Neu installiertes System booten
p.21/51
Das Klassenkonzept
Ein Rechner gehört zu mehreren Klassen
Priorität von niedrig nach hoch
Beispiel: DEFAULT FAIBASE GRUB GNOME demohost LAST
Alle Teile der Installation nutzen das Klassenkonzept
Konfiguratitonsdateien werden anhand der Klassennamen
ausgewählt
Erfahrener Admin kreiert die Klassen
Junior Admin ordnet die Klassen den Rechnern zu
PC installiert sich selber
p.22/51
Verzeichnisse im Config Space
|-- class
| |-- 10-base-classes
| |-- 20-hwdetect.source
| |-- 50-host-classes
| |-- FAIBASE.var
| ‘-- GERMAN.var
|-- disk_config/
| |-- FAIBASE
| |-- SMALL_IDE
| ‘-- foobar04
|-- debconf
| ‘-- FAIBASE
|-- package_config/
| |-- FAIBASE
| |-- DEBIAN_DEVEL
| |-- GERMAN
| |-- GNOME
| ‘-- server07
p.23/51
Klassen definieren
Beispiel: .../class/10-base-classes:
#! /bin/sh
uname -s | tr ’[:lower:]’ ’[:upper:]’ # LINUX
dpkg --print-architecture | tr a-z A-Z # I386
case $HOSTNAME in
demohost)
echo "FAIBASE DHCPC DEMO" ;;
gnomehost)
echo "FAIBASE DHCPC DEMO XFREE GNOME";;
esac
case $IPADDR in
134.95.9.*) echo "CS_KOELN NET_9" ;;
esac
ifclass I386 && echo "GRUB"
lspci | grep -q MATROX || echo "MATROX"
p.24/51
Variabeln
Beispiel: .../class/FAIBASE.var:
FAI_ALLOW_UNSIGNED=1
CONSOLEFONT=
KEYMAP=KEYMAP=de-latin1-nodeadkeys
UTC=yes
TIMEZONE=Europe/Berlin
ROOTPW=’$1$kBnWcO.E$djxB128U7dMkrltJHPf6d1’
LOGUSER=fai
USE_SETUP_STORAGE=1
flag_initial=1 # used by setup-storage
Eigene Variablen möglich
Die Konfigurationsskripte in .../scripts/* nutzten diese
Variabeln
p.25/51
Neue Plattenpartitionierung
Beispiel: .../disk_config/FAIBASE:
disk_config disk1 preserve:9 bootable:1
primary / 300-900 ext3 rw,errors=remount-ro
logical swap 1G swap rw
logical /usr 2G-4G ext3 noatime,rw
logical /var 1G-2G ext3 rw createopts="-L var -m 5"
logical /tmp 500-1G ext3 rw tuneopts="-c 0 -i 0"
logical /home 5G- ext3 defaults,noatime
Filesysteme: ext2, ext3, ext4, vfat, xfs, ReiserFS, NTFS
p.26/51
RAID, LVM
disk_config disk1
primary /boot 20-100 ext3 rw
primary swap 1024 swap sw
primary / 2000-4000 ext3 rw,acl,user_xattr
logical - 0- - -
logical - 0- - -
logical - 0- - -
logical - 0- - -
disk_config raid
raid1 - disk1.5,disk1.7 - -
raid1 - disk1.6,disk1.8 - -
disk_config lvm
vg volg1 md0,md1
volg1-usr /usr 2048 ext3 rw createopts="-O dir_index,resize_inode"
volg1-var /var 600 ext3 rw createopts="-O dir_index,resize_inode"
volg1-hl /home/local 4096 ext3 rw,acl,user_xattr,noexec,nosuid,nodev
volg1-es /export/sites 2048 ext3 rw createopts="-O none"
volg1-v /vservers 2048 ext3 rw createopts="-O ˆdir_index,ˆresize_inode"
p.27/51
Softwareinstallation
Beispiel: .../package_config/BEOWULF:
# packages for Beowulf clients
PACKAGES install BEOWULF_MASTER
gmetad apache
PACKAGES aptitude
fping jmon ganglia-monitor
rsh-client rsh-server rstat-client rstatd rusers rusersd
dsh update-cluster-hosts update-cluster etherwake
lam-runtime lam4 lam4-dev libpvm3 pvm-dev mpich
scalapack-mpich-dev
Aktionen aptitude, apt-get, smart, rpm, urpmi,
y2pmsh, yast, yum
Abhängigkeiten innerhalb der Pakete werden aufgelöst
p.28/51
Verschnaufpause
290 workstations in 19 Klassenräumen an 6 Orten mit dualboot,
124 Debian Server (incl. Xen),... University of West Bohemia
p.29/51
Verzeichnisse im Config Space
|-- scripts/
| |-- BOOT
| |-- FAIBASE/
| | |-- 10-misc Bourne shell script
| | |-- 30-interface Bourne shell script
| | ‘-- 40-misc /usr/bin/cfengine script
| |-- DEMO/
| | |-- 10-misc Bourne shell script
| | ‘-- 30-demo /usr/bin/cfengine script
| ‘-- demohost
‘- files/
‘-- etc/
‘-- X11/
‘-- xorg.xonf/ fcopy /etc/X11/xorg.conf
|-- FAIBASE
|-- MATROX
‘-- demohost
p.30/51
Konfigurationsskripte
# create NIS/NONIS config
fcopy -M /etc/nsswitch.conf /etc/host.conf
fcopy -i /etc/ypserv.securenets # only for yp server
ifclass NONIS && rm -f $target/etc/defaultdomain
if ifclass NIS; then
echo $YPDOMAIN > $target/etc/defaultdomain
rm -f $target/etc/yp.conf
for s in $YPSRVR; do
ainsl -av $target/etc/yp.conf "ypserver $s"
# don’t do this! # echo "ypserver $s" >> $target/etc/yp.conf
done
fi
ainsl -v $target/etc/fstab "$bserver:/usr/local /usr/local nfs ro 0 0"
ifclass USR_LOCAL_COPY && {
mount -o ro $bserver:/usr/local /usr/local
cp -a /usr/local $target/usr
}
fcopy -M /etc/X11/xorg.conf p.31/51
Cfengine
files:
any::
${target}/dev include=fd* mode=666 action=fixall r=1
editfiles:
any::
{ ${target}/etc/fstab
AppendIfNoSuchLine "none /proc/bus/usb usbdevfs defaults"
AppendIfNoSuchLine "/dev/fd0 /floppy auto users,noauto 0 0"
}
{ ${target}/etc/inittab
ReplaceAll "/sbin/getty" With "/sbin/getty -f /etc/issue.linuxlogo"
}
TERMINAL_CLIENT::
{ ${target}/etc/inetd.conf
HashCommentLinesContaining "in.rlogin"
}
p.32/51
Installationszeiten
Host RAM in MB Software in MB Time
Pentium 4 2.6 GHz 512 190 2 min
Pentium 4 2.6 GHz 512 750 7 min
Pentium 4 2.6 GHz 512 2600 15 min
Intel Core2 Duo 2048 3000 14 min
Pentium 4 2.80 GHz 1024 948 5 min
Athlon XP1600+ 896 1000 6 min
AMD-K7, 500MHz 320 780 12 min
PentiumPro 200MHz 128 800 28 min
Knoten Sekunden
1 337
5 340
10 345
20 379
12% mehr Zeit bei 20 Rechnern.
p.33/51
Noch ein Beispiel
Top500: 58th in 6/2008, 1340 nodes, 5376 cores, Xeon 2.4 GHz
Max Planck Institute for Gravitational Physics
p.34/51
FAI Benutzer
City of Munich, >3000, (14.000 hosts planed)
BUF, digital visual effects company, 1000 hosts
Opera Software, 300 hosts
Spotify, 300 physical, 150 virtual hosts
Albert Einstein Institute, Germany, 800+ hosts
ComBOTS, 700 Blades, 650 Server (16GB RAM, 8TB disk)
Spotify, 300 physical and 150 virtual hosts
Netways, 160 hosts
Host Europe, 250 hosts
HPC2N, 2 clusters listed in top500.org, 192 dual Opteron, 120 dual Athlon
Electricité de France (EDF), France, 200 hosts
MIT Computer science research lab, 200 hosts
Stanford University, 450 hosts
University of New Orleans, 72 node Beowulf cluster
Brown University, Dep. of Computer Science, 300+ hosts
University of West Bohemia, Czech Republic, 180+
Netcologne, MPI Meteorologie, DESY, Genua, taz, thomas-krenn.com, mc-wetter.de
p.35/51
Nachteile der Automatisierung
Kann oder soll alles automatisiert werden?
Fehler werden auch verteilt
Weniger aber höher qualifiziertes Personal notwendig
Man muss erstmal Zeit und Arbeit investieren
Bereitschaft für Veränderungen?
Sysadmin wird zum sauberem Arbeiten gezwungen
Manuelle Änderungen an einzelnen Rechner sind verboten!
p.36/51
Entwicklung
2000: eigene Mailingliste, erstes Debian Paket
Fork: NAIS
2001: grub support, fcopy, hooks, softupdate, Fragebogen
2003: fai-chboot
2004: DHCP nun default, statt BOOTP
2005: Wiki, IRC, fai-cd
2005: fai-server, fai-client, fai-doc, fai-nfsroot
2006: chroot Umgebung aufsetzen (nutzt GRML seit 2008), ainsl
2007: Kernel mit initramfs, faimond-gui, booten von USB-Stick
2008: setup-storage, Namen in Changelog
2009: fai-guide in asciidoc, Tests, setup-storage Verbesserungen
2010: Beschleunigung durch Ramdisk
p.37/51
Die Webseite (ALT)
p.38/51
Die Webseite (NEU)
p.39/51
Logo
:-(
p.40/51
faimond-gui
p.41/51
GOsa
p.42/51
GOsa
p.43/51
Entwicklertreffen
p.44/51
Entwicklertreffen
Fast jedes Jahr
Juli 2010 im Linuxhotel
Sehr fruchtbar
Besser als IRC, Mail
GPL Diskussion
p.45/51
Dokumentation, Werbung
40 Seiten Handbuch
Über 50 Vorträge, Paper, Artikel
Mehrere Projekte zum Fachinformatiker, Diplomarbeit
Übersetzungen (leider nicht mehr aktuell)
Flyer, Poster
Fast alles auf der Webseite
Messepräsenz
Artikel in aktueller UpTimes
p.46/51
Gut gemacht
Früh Vorträge gehalten
Flexibel gehalten und KISS (ASCII Dateien)
Klassensystem
Partitionierungstool
Support für viele Distributionen
FAI Fragebogen
p.47/51
Wunschliste
Logo
Mehr Helfer
Wiki
Ubuntu FAI Developers in Launchpad
Kontinuität (Entwickler, Wiki, Distro Support)
p.48/51
Zukunft
Fortschrittsbalken auf dem Client
Automatische Tests
Feste Releasezyklen?
Zielgruppe erweitern?
Konfigurationsmanagement Tool?
System Management? RH Network Satellite? Cobbler?
Logo
p.49/51
Fazit
Gute Software entwickeln macht Spaß
Technik ist nicht alles
Planen und Kontinuität mit Freiwilligen ist schwer
Feedback von Firmen sehr mühsam
User Feedback ist wie Applaus
p.50/51
Ende
Plane deine Installation
und FAI installiert
deinen Plan!
p.51/51

Weitere ähnliche Inhalte

Was ist angesagt?

Virtualisierung 2008/2009 - eine Standorbestimmung
Virtualisierung 2008/2009 - eine StandorbestimmungVirtualisierung 2008/2009 - eine Standorbestimmung
Virtualisierung 2008/2009 - eine StandorbestimmungHenning Sprang
 
Systemmanagement mit Puppet und Foreman
Systemmanagement mit Puppet und ForemanSystemmanagement mit Puppet und Foreman
Systemmanagement mit Puppet und ForemanB1 Systems GmbH
 
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...NETWAYS
 
Sicheres Anwendungs-Monitoring mit SNMP - Kurzversion
Sicheres Anwendungs-Monitoring mit SNMP - KurzversionSicheres Anwendungs-Monitoring mit SNMP - Kurzversion
Sicheres Anwendungs-Monitoring mit SNMP - KurzversionGerrit Beine
 
Sicheres Anwendungs-Monitoring mit SNMP
Sicheres Anwendungs-Monitoring mit SNMPSicheres Anwendungs-Monitoring mit SNMP
Sicheres Anwendungs-Monitoring mit SNMPGerrit Beine
 
Nagios Conference 2007 | Aufbau eines hochverfügbaren Nagios Clusters by Mart...
Nagios Conference 2007 | Aufbau eines hochverfügbaren Nagios Clusters by Mart...Nagios Conference 2007 | Aufbau eines hochverfügbaren Nagios Clusters by Mart...
Nagios Conference 2007 | Aufbau eines hochverfügbaren Nagios Clusters by Mart...NETWAYS
 
Nagios Conference 2007 | Pluginprogrammierung in Perl by Wolfgang Barth
Nagios Conference 2007 |  Pluginprogrammierung in Perl by Wolfgang BarthNagios Conference 2007 |  Pluginprogrammierung in Perl by Wolfgang Barth
Nagios Conference 2007 | Pluginprogrammierung in Perl by Wolfgang BarthNETWAYS
 
Automatisierte Linux installation 0603_version2012_inoxt_rz
Automatisierte Linux installation 0603_version2012_inoxt_rzAutomatisierte Linux installation 0603_version2012_inoxt_rz
Automatisierte Linux installation 0603_version2012_inoxt_rzinoX-tech GmbH
 
SLAC 2008 Mit SUSE Linux glücklich werden
SLAC 2008 Mit SUSE Linux glücklich werdenSLAC 2008 Mit SUSE Linux glücklich werden
SLAC 2008 Mit SUSE Linux glücklich werdenSchlomo Schapiro
 
Docker Entwicklungsumgebung für TYPO3 mit xdebug
Docker Entwicklungsumgebung für TYPO3 mit xdebugDocker Entwicklungsumgebung für TYPO3 mit xdebug
Docker Entwicklungsumgebung für TYPO3 mit xdebugAlexander Bohndorf
 
Vagrant, Puppet, Docker für Entwickler und Architekten
Vagrant, Puppet, Docker für Entwickler und ArchitektenVagrant, Puppet, Docker für Entwickler und Architekten
Vagrant, Puppet, Docker für Entwickler und ArchitektenOPITZ CONSULTING Deutschland
 
Docker - Automatisches Deployment für Linux-Instanzen
Docker - Automatisches Deployment für Linux-Instanzen Docker - Automatisches Deployment für Linux-Instanzen
Docker - Automatisches Deployment für Linux-Instanzen B1 Systems GmbH
 
Einfuehrung in die Erstellung von Software-Paketen mit dem RPM Package Manager
Einfuehrung in die Erstellung von Software-Paketen mit dem RPM Package ManagerEinfuehrung in die Erstellung von Software-Paketen mit dem RPM Package Manager
Einfuehrung in die Erstellung von Software-Paketen mit dem RPM Package ManagerLenz Grimmer
 
Introduction to the command line
Introduction to the command lineIntroduction to the command line
Introduction to the command linesteffenbauer
 
Grundlagen der Kommandozeile unter Unix/Linux (Folien)
Grundlagen der Kommandozeile unter Unix/Linux (Folien)Grundlagen der Kommandozeile unter Unix/Linux (Folien)
Grundlagen der Kommandozeile unter Unix/Linux (Folien)Kerstin Puschke
 
Ltsp5 In Einer Stunde Zum Terminalserver
Ltsp5   In Einer Stunde Zum TerminalserverLtsp5   In Einer Stunde Zum Terminalserver
Ltsp5 In Einer Stunde Zum TerminalserverDuns Scotus
 
Upgrading Puppet CommitterConf Essen 2014
Upgrading Puppet CommitterConf Essen 2014Upgrading Puppet CommitterConf Essen 2014
Upgrading Puppet CommitterConf Essen 2014Martin Alfke
 

Was ist angesagt? (20)

Virtualisierung 2008/2009 - eine Standorbestimmung
Virtualisierung 2008/2009 - eine StandorbestimmungVirtualisierung 2008/2009 - eine Standorbestimmung
Virtualisierung 2008/2009 - eine Standorbestimmung
 
Systemmanagement mit Puppet und Foreman
Systemmanagement mit Puppet und ForemanSystemmanagement mit Puppet und Foreman
Systemmanagement mit Puppet und Foreman
 
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...
 
Sicheres Anwendungs-Monitoring mit SNMP - Kurzversion
Sicheres Anwendungs-Monitoring mit SNMP - KurzversionSicheres Anwendungs-Monitoring mit SNMP - Kurzversion
Sicheres Anwendungs-Monitoring mit SNMP - Kurzversion
 
Sicheres Anwendungs-Monitoring mit SNMP
Sicheres Anwendungs-Monitoring mit SNMPSicheres Anwendungs-Monitoring mit SNMP
Sicheres Anwendungs-Monitoring mit SNMP
 
Synology Workshop07 06
Synology Workshop07 06Synology Workshop07 06
Synology Workshop07 06
 
Nagios Conference 2007 | Aufbau eines hochverfügbaren Nagios Clusters by Mart...
Nagios Conference 2007 | Aufbau eines hochverfügbaren Nagios Clusters by Mart...Nagios Conference 2007 | Aufbau eines hochverfügbaren Nagios Clusters by Mart...
Nagios Conference 2007 | Aufbau eines hochverfügbaren Nagios Clusters by Mart...
 
Offline Arbeiten
Offline ArbeitenOffline Arbeiten
Offline Arbeiten
 
Nagios Conference 2007 | Pluginprogrammierung in Perl by Wolfgang Barth
Nagios Conference 2007 |  Pluginprogrammierung in Perl by Wolfgang BarthNagios Conference 2007 |  Pluginprogrammierung in Perl by Wolfgang Barth
Nagios Conference 2007 | Pluginprogrammierung in Perl by Wolfgang Barth
 
Einführung in Docker
Einführung in DockerEinführung in Docker
Einführung in Docker
 
Automatisierte Linux installation 0603_version2012_inoxt_rz
Automatisierte Linux installation 0603_version2012_inoxt_rzAutomatisierte Linux installation 0603_version2012_inoxt_rz
Automatisierte Linux installation 0603_version2012_inoxt_rz
 
SLAC 2008 Mit SUSE Linux glücklich werden
SLAC 2008 Mit SUSE Linux glücklich werdenSLAC 2008 Mit SUSE Linux glücklich werden
SLAC 2008 Mit SUSE Linux glücklich werden
 
Docker Entwicklungsumgebung für TYPO3 mit xdebug
Docker Entwicklungsumgebung für TYPO3 mit xdebugDocker Entwicklungsumgebung für TYPO3 mit xdebug
Docker Entwicklungsumgebung für TYPO3 mit xdebug
 
Vagrant, Puppet, Docker für Entwickler und Architekten
Vagrant, Puppet, Docker für Entwickler und ArchitektenVagrant, Puppet, Docker für Entwickler und Architekten
Vagrant, Puppet, Docker für Entwickler und Architekten
 
Docker - Automatisches Deployment für Linux-Instanzen
Docker - Automatisches Deployment für Linux-Instanzen Docker - Automatisches Deployment für Linux-Instanzen
Docker - Automatisches Deployment für Linux-Instanzen
 
Einfuehrung in die Erstellung von Software-Paketen mit dem RPM Package Manager
Einfuehrung in die Erstellung von Software-Paketen mit dem RPM Package ManagerEinfuehrung in die Erstellung von Software-Paketen mit dem RPM Package Manager
Einfuehrung in die Erstellung von Software-Paketen mit dem RPM Package Manager
 
Introduction to the command line
Introduction to the command lineIntroduction to the command line
Introduction to the command line
 
Grundlagen der Kommandozeile unter Unix/Linux (Folien)
Grundlagen der Kommandozeile unter Unix/Linux (Folien)Grundlagen der Kommandozeile unter Unix/Linux (Folien)
Grundlagen der Kommandozeile unter Unix/Linux (Folien)
 
Ltsp5 In Einer Stunde Zum Terminalserver
Ltsp5   In Einer Stunde Zum TerminalserverLtsp5   In Einer Stunde Zum Terminalserver
Ltsp5 In Einer Stunde Zum Terminalserver
 
Upgrading Puppet CommitterConf Essen 2014
Upgrading Puppet CommitterConf Essen 2014Upgrading Puppet CommitterConf Essen 2014
Upgrading Puppet CommitterConf Essen 2014
 

Ähnlich wie OSDC 2010 | FAI - ein Projekt wird 10 Jahre alt by Thomas Lange

SLAC 2008 RPMs selber bauen
SLAC 2008 RPMs selber bauenSLAC 2008 RPMs selber bauen
SLAC 2008 RPMs selber bauenSchlomo Schapiro
 
Ubuntu-/Debian-Packaging
Ubuntu-/Debian-PackagingUbuntu-/Debian-Packaging
Ubuntu-/Debian-PackagingB1 Systems GmbH
 
OSMC 2010 | Verwendung von Puppet in verteilten Monitoring Umgebungen by Birg...
OSMC 2010 | Verwendung von Puppet in verteilten Monitoring Umgebungen by Birg...OSMC 2010 | Verwendung von Puppet in verteilten Monitoring Umgebungen by Birg...
OSMC 2010 | Verwendung von Puppet in verteilten Monitoring Umgebungen by Birg...NETWAYS
 
Azure Notebooks
Azure NotebooksAzure Notebooks
Azure NotebooksTEitelberg
 
Einführung in Puppet und Vagrant
Einführung in Puppet und VagrantEinführung in Puppet und Vagrant
Einführung in Puppet und Vagrants0enke
 
Ausrollen von Multi-Tier-Applikationen mit Docker
Ausrollen von Multi-Tier-Applikationen mit DockerAusrollen von Multi-Tier-Applikationen mit Docker
Ausrollen von Multi-Tier-Applikationen mit DockerB1 Systems GmbH
 
Vagrant - Einführung & Verwendung
Vagrant - Einführung & VerwendungVagrant - Einführung & Verwendung
Vagrant - Einführung & VerwendungTilo Baller
 
Automation with Ansible
Automation with AnsibleAutomation with Ansible
Automation with AnsibleSusannSgorzaly
 
Dnug35 ak-dev.071111-beyond
Dnug35 ak-dev.071111-beyondDnug35 ak-dev.071111-beyond
Dnug35 ak-dev.071111-beyondUlrich Krause
 
2011 12 05 KLUG Karl Franzens Universität Graz Linux User Group
2011 12 05 KLUG Karl Franzens Universität Graz Linux User Group2011 12 05 KLUG Karl Franzens Universität Graz Linux User Group
2011 12 05 KLUG Karl Franzens Universität Graz Linux User GroupMatthias Praunegger
 
Infrastructure as Code - BaselOne 17
Infrastructure as Code - BaselOne 17Infrastructure as Code - BaselOne 17
Infrastructure as Code - BaselOne 17remigius-stalder
 
Opensource Tools für das Data Center Management
Opensource Tools für das Data Center ManagementOpensource Tools für das Data Center Management
Opensource Tools für das Data Center Managementinovex GmbH
 
Systemmanagement mit Puppet und Foreman
Systemmanagement mit Puppet und ForemanSystemmanagement mit Puppet und Foreman
Systemmanagement mit Puppet und ForemanB1 Systems GmbH
 
Docker und Virtualisierung - Container Use Cases für eine isolierte, performa...
Docker und Virtualisierung - Container Use Cases für eine isolierte, performa...Docker und Virtualisierung - Container Use Cases für eine isolierte, performa...
Docker und Virtualisierung - Container Use Cases für eine isolierte, performa...B1 Systems GmbH
 
SNMP Applied - Sicheres Anwendungs-Monitoring mit SNMP (Kurzversion)
SNMP Applied - Sicheres Anwendungs-Monitoring mit SNMP (Kurzversion)SNMP Applied - Sicheres Anwendungs-Monitoring mit SNMP (Kurzversion)
SNMP Applied - Sicheres Anwendungs-Monitoring mit SNMP (Kurzversion)adesso AG
 
OSMC 2016 - Hello Redfish, Goodbye IPMI - The future of Hardware Monitoring
OSMC 2016 - Hello Redfish, Goodbye IPMI - The future of Hardware MonitoringOSMC 2016 - Hello Redfish, Goodbye IPMI - The future of Hardware Monitoring
OSMC 2016 - Hello Redfish, Goodbye IPMI - The future of Hardware MonitoringNETWAYS
 
OSMC 2016 | Hello Redfish, goodbye IPMI - Die Zukunft des Hardware-Monitorings
OSMC 2016 | Hello Redfish, goodbye IPMI - Die Zukunft des Hardware-MonitoringsOSMC 2016 | Hello Redfish, goodbye IPMI - Die Zukunft des Hardware-Monitorings
OSMC 2016 | Hello Redfish, goodbye IPMI - Die Zukunft des Hardware-MonitoringsNETWAYS
 
AdminCamp 2011 Performance
AdminCamp 2011 PerformanceAdminCamp 2011 Performance
AdminCamp 2011 PerformanceUlrich Krause
 
Deployment von Entwicklungsumgebungen eines TYPO3-Intranets mit Vagrant
Deployment von Entwicklungsumgebungen eines TYPO3-Intranets mit VagrantDeployment von Entwicklungsumgebungen eines TYPO3-Intranets mit Vagrant
Deployment von Entwicklungsumgebungen eines TYPO3-Intranets mit VagrantChristoph Möller
 

Ähnlich wie OSDC 2010 | FAI - ein Projekt wird 10 Jahre alt by Thomas Lange (20)

SLAC 2008 RPMs selber bauen
SLAC 2008 RPMs selber bauenSLAC 2008 RPMs selber bauen
SLAC 2008 RPMs selber bauen
 
Ubuntu-/Debian-Packaging
Ubuntu-/Debian-PackagingUbuntu-/Debian-Packaging
Ubuntu-/Debian-Packaging
 
OSMC 2010 | Verwendung von Puppet in verteilten Monitoring Umgebungen by Birg...
OSMC 2010 | Verwendung von Puppet in verteilten Monitoring Umgebungen by Birg...OSMC 2010 | Verwendung von Puppet in verteilten Monitoring Umgebungen by Birg...
OSMC 2010 | Verwendung von Puppet in verteilten Monitoring Umgebungen by Birg...
 
Azure Notebooks
Azure NotebooksAzure Notebooks
Azure Notebooks
 
Einführung in Puppet und Vagrant
Einführung in Puppet und VagrantEinführung in Puppet und Vagrant
Einführung in Puppet und Vagrant
 
Ausrollen von Multi-Tier-Applikationen mit Docker
Ausrollen von Multi-Tier-Applikationen mit DockerAusrollen von Multi-Tier-Applikationen mit Docker
Ausrollen von Multi-Tier-Applikationen mit Docker
 
Vagrant - Einführung & Verwendung
Vagrant - Einführung & VerwendungVagrant - Einführung & Verwendung
Vagrant - Einführung & Verwendung
 
Automation with Ansible
Automation with AnsibleAutomation with Ansible
Automation with Ansible
 
Dnug35 ak-dev.071111-beyond
Dnug35 ak-dev.071111-beyondDnug35 ak-dev.071111-beyond
Dnug35 ak-dev.071111-beyond
 
2011 12 05 KLUG Karl Franzens Universität Graz Linux User Group
2011 12 05 KLUG Karl Franzens Universität Graz Linux User Group2011 12 05 KLUG Karl Franzens Universität Graz Linux User Group
2011 12 05 KLUG Karl Franzens Universität Graz Linux User Group
 
Infrastructure as Code - BaselOne 17
Infrastructure as Code - BaselOne 17Infrastructure as Code - BaselOne 17
Infrastructure as Code - BaselOne 17
 
Opensource Tools für das Data Center Management
Opensource Tools für das Data Center ManagementOpensource Tools für das Data Center Management
Opensource Tools für das Data Center Management
 
PHP-Applikationen mit PEAR
PHP-Applikationen mit PEARPHP-Applikationen mit PEAR
PHP-Applikationen mit PEAR
 
Systemmanagement mit Puppet und Foreman
Systemmanagement mit Puppet und ForemanSystemmanagement mit Puppet und Foreman
Systemmanagement mit Puppet und Foreman
 
Docker und Virtualisierung - Container Use Cases für eine isolierte, performa...
Docker und Virtualisierung - Container Use Cases für eine isolierte, performa...Docker und Virtualisierung - Container Use Cases für eine isolierte, performa...
Docker und Virtualisierung - Container Use Cases für eine isolierte, performa...
 
SNMP Applied - Sicheres Anwendungs-Monitoring mit SNMP (Kurzversion)
SNMP Applied - Sicheres Anwendungs-Monitoring mit SNMP (Kurzversion)SNMP Applied - Sicheres Anwendungs-Monitoring mit SNMP (Kurzversion)
SNMP Applied - Sicheres Anwendungs-Monitoring mit SNMP (Kurzversion)
 
OSMC 2016 - Hello Redfish, Goodbye IPMI - The future of Hardware Monitoring
OSMC 2016 - Hello Redfish, Goodbye IPMI - The future of Hardware MonitoringOSMC 2016 - Hello Redfish, Goodbye IPMI - The future of Hardware Monitoring
OSMC 2016 - Hello Redfish, Goodbye IPMI - The future of Hardware Monitoring
 
OSMC 2016 | Hello Redfish, goodbye IPMI - Die Zukunft des Hardware-Monitorings
OSMC 2016 | Hello Redfish, goodbye IPMI - Die Zukunft des Hardware-MonitoringsOSMC 2016 | Hello Redfish, goodbye IPMI - Die Zukunft des Hardware-Monitorings
OSMC 2016 | Hello Redfish, goodbye IPMI - Die Zukunft des Hardware-Monitorings
 
AdminCamp 2011 Performance
AdminCamp 2011 PerformanceAdminCamp 2011 Performance
AdminCamp 2011 Performance
 
Deployment von Entwicklungsumgebungen eines TYPO3-Intranets mit Vagrant
Deployment von Entwicklungsumgebungen eines TYPO3-Intranets mit VagrantDeployment von Entwicklungsumgebungen eines TYPO3-Intranets mit Vagrant
Deployment von Entwicklungsumgebungen eines TYPO3-Intranets mit Vagrant
 

OSDC 2010 | FAI - ein Projekt wird 10 Jahre alt by Thomas Lange

  • 1. FAI – Ein Projekt wird 10 Jahre alt Open Source Data Center Conference 2010 Thomas Lange, Universit¨at zu K¨oln lange@informatik.uni-koeln.de p.1/51
  • 2. Agenda Wie alles begann Wie funktioniert FAI? Nachteile der Automatisierung 10 Jahre FAI Erfahrungen mit FAI p.2/51
  • 3. finger whoami Diplominformatiker, Uni Bonn Systemadministrator an der Uni Köln seit über 18 Jahren SunOS 4.1.1 auf SPARC, Solaris Jumpstart Debian Entwickler seit 2000 Vorträge und Tutorials auf zahlreichen Konferenzen: Linux Kongress, Linuxtag, DebConf, SANE, LCA, FOSDEM, SUCON, CeBit, FFG p.3/51
  • 4. Wie alles began Wir schreiben das Jahr 1999... Das Jahrhundert in dem man noch per CD installierte 16 Rechner, je zwei Pentium II 400Mhz, 256 MB, 4GB 256 MB RAM, nicht L2 Cache 4GB Festplatte, nicht RAM Aufgabe: Baue ein Beowulf Cluster und administriere es Ich bin faul! Sehr faul!!! Es gibt keine fertige Lösung :-( Also programmieren wir etwas Eigenes p.4/51
  • 5. Man nehme Zwei Studenten als Hilfe Debian Linux Standardtechnik: PXE, TFTP, NFS Shell und Perl Ein paar Ideen von Solaris Jumpstart p.5/51
  • 6. Kochrezept Einige Monate bei mittlerer Flamme,... = Entwicklungszeit Achte auf Flexibilität Garniere mit Klassenkonzept nach Ideen von Casper Dik Erste Präsentation: Linux Kongress September 1999, Augsburg Hands-on Tutorial p.6/51
  • 10. Kinderjahre 21. Dezember 1999: Version 1.0 Tarball Debian 2.1 (slink) Kernel 2.0.36 1700 Zeilen Shell und Perl Davon 900 Zeilen Partionierungstool Technical Report als Handbuch Aber es gab einige mutige Benutzer! p.10/51
  • 11. TODO TODO list for FAI, december 20, 1999 1. Most people wish that we would support other Linux distributions (redhat, Suse) 2. Booting a kernel with pcmcia support for automatic installation of notebooks and laptops 3. Cleanup the code of some perl scripts 4. install/class/S*.{pl,sh} scripts should check and resolve dependencies 5. Make some change in rcS to run with Debian 2.2 and futher releases 6. class/S*.source: define variabel tftplink which is the name of the link created in /tftplink. At present it’s always clusterimage p.11/51
  • 12. Motivation 180 dual AMD MP2200, Max Planck Institute for Gravitational Physics p.12/51
  • 13. Wert eines Computers Was ist der Wert ihrer Computer? Was beinhalten ihre Rechner? Kundendaten Services Applikationen Eigenes Know-How Was passiert, wenn ihre Rechner einen Tag lang nicht laufen? Eine gute Computerinfrastruktur ist so wichtig wie ...? Wie sichern Sie diese Werte? Ist damit wirklich alles gesichert? p.13/51
  • 14. Der Crashtest Wählen Sie zufällig einen Rechner (ohne Backup vorher) Werfen sie den Rechner aus dem 10.Stock (oder dd if=/dev/zero of=/dev/hda) Stellen Sie alle Arbeit des Sysadmin innerhalb von 10 Minuten wieder her Schaffen Sie das? Und ihr Praktikant? p.14/51
  • 15. Manuelle Installation Dauert viele Stunden Viele Fragen Wiederholende Arbeit ist stupide => Fehler Dokumentation fehlt, Reproduzierbarkeit? Jede Installation ist ungewollt einzigartig Eine Installation per Hand skaliert nicht ! p.15/51
  • 16. Warum voll automatisch? ”No simple sysadmin task is fun more than twice” Ist schnell Disaster recovery Garantiert identische Installationen Automatische Dokumentation Spart sehr viel Arbeit (= Zeit = Geld). ROI Macht mehr Spaß p.16/51
  • 17. Was ist FAI ? FAI macht alles, was ihr Systemadministrator zu tun hat, bevor der Benutzer das erste Mal auf einem neuen Rechner arbeiten kann Deployment- und Config Management von OS und Anwendungsprogramme Skriptgesteuerte vollautomatische Installation Kein Master Image Modular durch Klassensystem Erweiterbar und flexibel durch hooks Es kann die Installation nicht planen :-(, aber Plane deine Installation und FAI installiert deinen Plan! :-) p.17/51
  • 18. Wie funktioniert FAI ? local hard disk provided via HTTP, FTP or NFS ./class ./disk_config ./package_config ./scripts ./files Debian mirror mounted by install kernel NFS, CVS, svn or HTTP install clientinstall server ./hooks /target/ /target/var .../fai/config/ /var /bin /usr / /target/usr nfsroot config space Die Konfiguration liegt auf dem Install server Die Installation läuft auf dem Klienten p.18/51
  • 19. Was braucht FAI? Installserver mit DHCP, NFS und TFTP Client bootet via PXE, CD-ROM, USB Stick Optional: Lokaler Spiegel von Debian (NFS, FTP oder HTTP) Plattenplatz auf dem Server: FAI Paket <1 MB Skripte, Konfigurationdateien nfsroot 380 MB erzeugt mit make-fai-nfsroot Debian Spiegel <22 GB Debian 5.0 (lenny, nur i386) Alle Install Clients nutzen die gleichen Verzeichnisse Konstanter Plattenplatz p.19/51
  • 20. Ablauf einer Installation I Plane deine Installation! Booten via PXE und Kernel mit initrd via TFTP holen Rechner startet als Diskless Client Hardwareerkennung und Kernel Module laden p.20/51
  • 21. Ablauf einer Installation II Klassen und Variablen definieren Festplatten partitionieren Dateisysteme erzeugen und mounten Software Pakete installieren Betriebssystem und Anwendungen konfigurieren Protokolldateien lokal und auf Install Server speichern Neu installiertes System booten p.21/51
  • 22. Das Klassenkonzept Ein Rechner gehört zu mehreren Klassen Priorität von niedrig nach hoch Beispiel: DEFAULT FAIBASE GRUB GNOME demohost LAST Alle Teile der Installation nutzen das Klassenkonzept Konfiguratitonsdateien werden anhand der Klassennamen ausgewählt Erfahrener Admin kreiert die Klassen Junior Admin ordnet die Klassen den Rechnern zu PC installiert sich selber p.22/51
  • 23. Verzeichnisse im Config Space |-- class | |-- 10-base-classes | |-- 20-hwdetect.source | |-- 50-host-classes | |-- FAIBASE.var | ‘-- GERMAN.var |-- disk_config/ | |-- FAIBASE | |-- SMALL_IDE | ‘-- foobar04 |-- debconf | ‘-- FAIBASE |-- package_config/ | |-- FAIBASE | |-- DEBIAN_DEVEL | |-- GERMAN | |-- GNOME | ‘-- server07 p.23/51
  • 24. Klassen definieren Beispiel: .../class/10-base-classes: #! /bin/sh uname -s | tr ’[:lower:]’ ’[:upper:]’ # LINUX dpkg --print-architecture | tr a-z A-Z # I386 case $HOSTNAME in demohost) echo "FAIBASE DHCPC DEMO" ;; gnomehost) echo "FAIBASE DHCPC DEMO XFREE GNOME";; esac case $IPADDR in 134.95.9.*) echo "CS_KOELN NET_9" ;; esac ifclass I386 && echo "GRUB" lspci | grep -q MATROX || echo "MATROX" p.24/51
  • 26. Neue Plattenpartitionierung Beispiel: .../disk_config/FAIBASE: disk_config disk1 preserve:9 bootable:1 primary / 300-900 ext3 rw,errors=remount-ro logical swap 1G swap rw logical /usr 2G-4G ext3 noatime,rw logical /var 1G-2G ext3 rw createopts="-L var -m 5" logical /tmp 500-1G ext3 rw tuneopts="-c 0 -i 0" logical /home 5G- ext3 defaults,noatime Filesysteme: ext2, ext3, ext4, vfat, xfs, ReiserFS, NTFS p.26/51
  • 27. RAID, LVM disk_config disk1 primary /boot 20-100 ext3 rw primary swap 1024 swap sw primary / 2000-4000 ext3 rw,acl,user_xattr logical - 0- - - logical - 0- - - logical - 0- - - logical - 0- - - disk_config raid raid1 - disk1.5,disk1.7 - - raid1 - disk1.6,disk1.8 - - disk_config lvm vg volg1 md0,md1 volg1-usr /usr 2048 ext3 rw createopts="-O dir_index,resize_inode" volg1-var /var 600 ext3 rw createopts="-O dir_index,resize_inode" volg1-hl /home/local 4096 ext3 rw,acl,user_xattr,noexec,nosuid,nodev volg1-es /export/sites 2048 ext3 rw createopts="-O none" volg1-v /vservers 2048 ext3 rw createopts="-O ˆdir_index,ˆresize_inode" p.27/51
  • 28. Softwareinstallation Beispiel: .../package_config/BEOWULF: # packages for Beowulf clients PACKAGES install BEOWULF_MASTER gmetad apache PACKAGES aptitude fping jmon ganglia-monitor rsh-client rsh-server rstat-client rstatd rusers rusersd dsh update-cluster-hosts update-cluster etherwake lam-runtime lam4 lam4-dev libpvm3 pvm-dev mpich scalapack-mpich-dev Aktionen aptitude, apt-get, smart, rpm, urpmi, y2pmsh, yast, yum Abhängigkeiten innerhalb der Pakete werden aufgelöst p.28/51
  • 29. Verschnaufpause 290 workstations in 19 Klassenräumen an 6 Orten mit dualboot, 124 Debian Server (incl. Xen),... University of West Bohemia p.29/51
  • 30. Verzeichnisse im Config Space |-- scripts/ | |-- BOOT | |-- FAIBASE/ | | |-- 10-misc Bourne shell script | | |-- 30-interface Bourne shell script | | ‘-- 40-misc /usr/bin/cfengine script | |-- DEMO/ | | |-- 10-misc Bourne shell script | | ‘-- 30-demo /usr/bin/cfengine script | ‘-- demohost ‘- files/ ‘-- etc/ ‘-- X11/ ‘-- xorg.xonf/ fcopy /etc/X11/xorg.conf |-- FAIBASE |-- MATROX ‘-- demohost p.30/51
  • 31. Konfigurationsskripte # create NIS/NONIS config fcopy -M /etc/nsswitch.conf /etc/host.conf fcopy -i /etc/ypserv.securenets # only for yp server ifclass NONIS && rm -f $target/etc/defaultdomain if ifclass NIS; then echo $YPDOMAIN > $target/etc/defaultdomain rm -f $target/etc/yp.conf for s in $YPSRVR; do ainsl -av $target/etc/yp.conf "ypserver $s" # don’t do this! # echo "ypserver $s" >> $target/etc/yp.conf done fi ainsl -v $target/etc/fstab "$bserver:/usr/local /usr/local nfs ro 0 0" ifclass USR_LOCAL_COPY && { mount -o ro $bserver:/usr/local /usr/local cp -a /usr/local $target/usr } fcopy -M /etc/X11/xorg.conf p.31/51
  • 32. Cfengine files: any:: ${target}/dev include=fd* mode=666 action=fixall r=1 editfiles: any:: { ${target}/etc/fstab AppendIfNoSuchLine "none /proc/bus/usb usbdevfs defaults" AppendIfNoSuchLine "/dev/fd0 /floppy auto users,noauto 0 0" } { ${target}/etc/inittab ReplaceAll "/sbin/getty" With "/sbin/getty -f /etc/issue.linuxlogo" } TERMINAL_CLIENT:: { ${target}/etc/inetd.conf HashCommentLinesContaining "in.rlogin" } p.32/51
  • 33. Installationszeiten Host RAM in MB Software in MB Time Pentium 4 2.6 GHz 512 190 2 min Pentium 4 2.6 GHz 512 750 7 min Pentium 4 2.6 GHz 512 2600 15 min Intel Core2 Duo 2048 3000 14 min Pentium 4 2.80 GHz 1024 948 5 min Athlon XP1600+ 896 1000 6 min AMD-K7, 500MHz 320 780 12 min PentiumPro 200MHz 128 800 28 min Knoten Sekunden 1 337 5 340 10 345 20 379 12% mehr Zeit bei 20 Rechnern. p.33/51
  • 34. Noch ein Beispiel Top500: 58th in 6/2008, 1340 nodes, 5376 cores, Xeon 2.4 GHz Max Planck Institute for Gravitational Physics p.34/51
  • 35. FAI Benutzer City of Munich, >3000, (14.000 hosts planed) BUF, digital visual effects company, 1000 hosts Opera Software, 300 hosts Spotify, 300 physical, 150 virtual hosts Albert Einstein Institute, Germany, 800+ hosts ComBOTS, 700 Blades, 650 Server (16GB RAM, 8TB disk) Spotify, 300 physical and 150 virtual hosts Netways, 160 hosts Host Europe, 250 hosts HPC2N, 2 clusters listed in top500.org, 192 dual Opteron, 120 dual Athlon Electricité de France (EDF), France, 200 hosts MIT Computer science research lab, 200 hosts Stanford University, 450 hosts University of New Orleans, 72 node Beowulf cluster Brown University, Dep. of Computer Science, 300+ hosts University of West Bohemia, Czech Republic, 180+ Netcologne, MPI Meteorologie, DESY, Genua, taz, thomas-krenn.com, mc-wetter.de p.35/51
  • 36. Nachteile der Automatisierung Kann oder soll alles automatisiert werden? Fehler werden auch verteilt Weniger aber höher qualifiziertes Personal notwendig Man muss erstmal Zeit und Arbeit investieren Bereitschaft für Veränderungen? Sysadmin wird zum sauberem Arbeiten gezwungen Manuelle Änderungen an einzelnen Rechner sind verboten! p.36/51
  • 37. Entwicklung 2000: eigene Mailingliste, erstes Debian Paket Fork: NAIS 2001: grub support, fcopy, hooks, softupdate, Fragebogen 2003: fai-chboot 2004: DHCP nun default, statt BOOTP 2005: Wiki, IRC, fai-cd 2005: fai-server, fai-client, fai-doc, fai-nfsroot 2006: chroot Umgebung aufsetzen (nutzt GRML seit 2008), ainsl 2007: Kernel mit initramfs, faimond-gui, booten von USB-Stick 2008: setup-storage, Namen in Changelog 2009: fai-guide in asciidoc, Tests, setup-storage Verbesserungen 2010: Beschleunigung durch Ramdisk p.37/51
  • 45. Entwicklertreffen Fast jedes Jahr Juli 2010 im Linuxhotel Sehr fruchtbar Besser als IRC, Mail GPL Diskussion p.45/51
  • 46. Dokumentation, Werbung 40 Seiten Handbuch Über 50 Vorträge, Paper, Artikel Mehrere Projekte zum Fachinformatiker, Diplomarbeit Übersetzungen (leider nicht mehr aktuell) Flyer, Poster Fast alles auf der Webseite Messepräsenz Artikel in aktueller UpTimes p.46/51
  • 47. Gut gemacht Früh Vorträge gehalten Flexibel gehalten und KISS (ASCII Dateien) Klassensystem Partitionierungstool Support für viele Distributionen FAI Fragebogen p.47/51
  • 48. Wunschliste Logo Mehr Helfer Wiki Ubuntu FAI Developers in Launchpad Kontinuität (Entwickler, Wiki, Distro Support) p.48/51
  • 49. Zukunft Fortschrittsbalken auf dem Client Automatische Tests Feste Releasezyklen? Zielgruppe erweitern? Konfigurationsmanagement Tool? System Management? RH Network Satellite? Cobbler? Logo p.49/51
  • 50. Fazit Gute Software entwickeln macht Spaß Technik ist nicht alles Planen und Kontinuität mit Freiwilligen ist schwer Feedback von Firmen sehr mühsam User Feedback ist wie Applaus p.50/51
  • 51. Ende Plane deine Installation und FAI installiert deinen Plan! p.51/51