Automatische Installationen und System Update mit FAI

  • Published on
    18-Jul-2015

  • View
    581

  • Download
    1

Embed Size (px)

Transcript

<ul><li><p>ber System-Installationenber FAI</p><p>FunktionenDetails der Nutzung</p><p>Ausblick</p><p>Automatische Installationen und System Updatesmit FAI</p><p>bersicht, Funktionalitt, Mglichkeiten</p><p>Henning Sprang</p><p>Freier EDV Berater, Autor und Trainer</p><p>Newthinking Store Berlin 2009-02-03</p><p>Henning Sprang Automatische Installationen und System Updates mit FAI</p></li><li><p>ber System-Installationenber FAI</p><p>FunktionenDetails der Nutzung</p><p>Ausblick</p><p>Der Redner - Henning Sprang</p><p>FAI Team-MitgliedIT Berater, Autor, TrainerInteressen: System-Management, Virtualisierung, Java, QAFreie Software Enthusiast seit dem ersten Kontakt ca. 1996</p><p>Henning Sprang Automatische Installationen und System Updates mit FAI</p></li><li><p>ber System-Installationenber FAI</p><p>FunktionenDetails der Nutzung</p><p>Ausblick</p><p>Fragen?</p><p>Einfach fragen!</p><p>Henning Sprang Automatische Installationen und System Updates mit FAI</p></li><li><p>ber System-Installationenber FAI</p><p>FunktionenDetails der Nutzung</p><p>Ausblick</p><p>Vorschau</p><p>1 ber System-Installationen</p><p>2 ber FAI</p><p>3 Funktionen</p><p>4 Details der Nutzung</p><p>5 Ausblick</p><p>Henning Sprang Automatische Installationen und System Updates mit FAI</p></li><li><p>ber System-Installationenber FAI</p><p>FunktionenDetails der Nutzung</p><p>Ausblick</p><p>Disk ImagesInstallation mit Shell SkriptenNutzung verfgbarer Auto-Installer</p><p>Einige Fragen. . .</p><p>Was tun Sie. . .Wenn Ihr wichtigster Server gerade abgebrannt ist?Wenn ein Entwickler ein neues Test-System bentigt?</p><p>Mit GENAU der gleichen Konfiguration wie dasProduktiv-System!</p><p>Wenn Sie ein neues Notebook gekauft haben?Wenn Sie die Konfiguration eines Application Server Clustersndern mssen?</p><p>Henning Sprang Automatische Installationen und System Updates mit FAI</p></li><li><p>ber System-Installationenber FAI</p><p>FunktionenDetails der Nutzung</p><p>Ausblick</p><p>Disk ImagesInstallation mit Shell SkriptenNutzung verfgbarer Auto-Installer</p><p>System Installationen - Anforderungen</p><p>Systeme nach einem Desaster wiederherstellenSysteme exakt reproduzieren und multiplizierenMehrere Systeme gleichzeitig und schnell installierenNach der Installation mssen nderungen verwaltet werden!</p><p>Henning Sprang Automatische Installationen und System Updates mit FAI</p></li><li><p>ber System-Installationenber FAI</p><p>FunktionenDetails der Nutzung</p><p>Ausblick</p><p>Disk ImagesInstallation mit Shell SkriptenNutzung verfgbarer Auto-Installer</p><p>Installation - Wie geht man vor?</p><p>Manuelle Installation hat Nachteile:Nicht gut reproduzierbar - Menschen machen fElerIneffizient - mehrere Systeme installieren dauert. . .</p><p>Lsung: AutomatisierungNebeneffekt: Die Konfiguration ist dokumentiert</p><p>Henning Sprang Automatische Installationen und System Updates mit FAI</p></li><li><p>ber System-Installationenber FAI</p><p>FunktionenDetails der Nutzung</p><p>Ausblick</p><p>Disk ImagesInstallation mit Shell SkriptenNutzung verfgbarer Auto-Installer</p><p>Disk Images</p><p>.img?Vorlagen erzeugen von funktionierenden InstallationenBei Bedarf mit dd aufspielen und anpassenVorteile:</p><p>Niedrige LernschwelleSchnell und einfach implementiert cp/rsync/tar/dd</p><p>Nachteile:Unflexibel bei der kleinsten nderung neues Image machenImmer noch Handarbeit ntig beim Duplizieren vonKonfigurationenSpeicherkosten linear zur Anzahl der unterschiedlichenKonfigurationen</p><p>Henning Sprang Automatische Installationen und System Updates mit FAI</p></li><li><p>ber System-Installationenber FAI</p><p>FunktionenDetails der Nutzung</p><p>Ausblick</p><p>Disk ImagesInstallation mit Shell SkriptenNutzung verfgbarer Auto-Installer</p><p>Installation mit Shell Skripten</p><p>#!/bin/bashManuelle Arbeit wird durch Shell Skripte ersetztVorteile:</p><p>Wesentlich geringerer Speicherbedarf als ImagesSehr flexibel (alles, was man skripten kann)Mageschneidert</p><p>Nachteile:Pltzlich hat man ein neues SW-Entwicklungsprojekt am BeinMan muss alle Probleme selbst lsen</p><p>Henning Sprang Automatische Installationen und System Updates mit FAI</p></li><li><p>ber System-Installationenber FAI</p><p>FunktionenDetails der Nutzung</p><p>Ausblick</p><p>Disk ImagesInstallation mit Shell SkriptenNutzung verfgbarer Auto-Installer</p><p>Nutzung verfgbarer Auto-Installer</p><p>Lsungen sind verfgbar. . .</p><p>Die wichtigsten Projekte und Ziel-Distributionen:Anaconda und Kickstart: Fedora-basierteAutoyast: SuSE-basierteNlite/Unattend: Windows in unterschiedlichen VariantenFAI: Debian-basierte, Fedora-basierte, SuSE-basierte,Windows und Solaris teilweiseAndere: Solaris Jumpstart, RedHat Cobbler/Koan</p><p>Henning Sprang Automatische Installationen und System Updates mit FAI</p></li><li><p>ber System-Installationenber FAI</p><p>FunktionenDetails der Nutzung</p><p>Ausblick</p><p>Warum FAIGeschichteWer nutzt FAI wofr?</p><p>Warum FAI?</p><p>Flexibel und leicht zu erweiternEinfache, mchtige Architektur alles ist ein ShellskriptSupport durch erfahrene Installateure (frei+kommerz.)Diverse Client- und Server- DistributionenMehrere Installations-Arten plus UpdatesKann fr echte Hardware und Virtualisierung genutzt werden</p><p>Henning Sprang Automatische Installationen und System Updates mit FAI</p></li><li><p>ber System-Installationenber FAI</p><p>FunktionenDetails der Nutzung</p><p>Ausblick</p><p>Warum FAIGeschichteWer nutzt FAI wofr?</p><p>Geschichte</p><p>Start 1999 von Thomas Lange an der Universitt zu KoelnGrundlegende Idee: Strukturierte und geplante InstallationPlane Deine Installation und FAI installiert Deinen PlanTeil der Debian DistributionHeute ca. 10 Entwickler eine kleine aber feine CommunitySeit 2005 Softupdates System-Management!</p><p>Henning Sprang Automatische Installationen und System Updates mit FAI</p></li><li><p>ber System-Installationenber FAI</p><p>FunktionenDetails der Nutzung</p><p>Ausblick</p><p>Warum FAIGeschichteWer nutzt FAI wofr?</p><p>Wer nutzt FAI wofr?</p><p>EDF nutzt FAI (mit GOSA) fr einige Forschungs-ClusterLiMux in Mnchen: installiert/aktualisiert Clients und ServerMehrere top 500 High Performance ClusterKleine Heim-Netzwerke ab 2 SystemeGRML live CD wird mit FAI gebaut</p><p>Henning Sprang Automatische Installationen und System Updates mit FAI</p></li><li><p>ber System-Installationenber FAI</p><p>FunktionenDetails der Nutzung</p><p>Ausblick</p><p>bersichtInstallations-TypenDer Installation- und Update-Prozess</p><p>bersicht I</p><p>FAI KlassenEine Klasse definiert Systemeigenschaften und AktionenKlassen-Zuweisung per Script (+ Textdatei, DB, . . . )Ein System kann zu beliebig kombinierten Klassen gehren</p><p>Henning Sprang Automatische Installationen und System Updates mit FAI</p></li><li><p>ber System-Installationenber FAI</p><p>FunktionenDetails der Nutzung</p><p>Ausblick</p><p>bersichtInstallations-TypenDer Installation- und Update-Prozess</p><p>bersicht II</p><p>Server-Distribution:Debian-basierte (Depends: Perl, NFS, TFTP, debootstrap)</p><p>Ziel-Distributionen:Debian, Redhat, Ubuntu, Suse, Mandriva, Solaris</p><p>mehrere InstallationsartenIntegrierte Versionierung mit Subversion, CVS, gitSoftupdate fr Aktualisierungen</p><p>Henning Sprang Automatische Installationen und System Updates mit FAI</p></li><li><p>ber System-Installationenber FAI</p><p>FunktionenDetails der Nutzung</p><p>Ausblick</p><p>bersichtInstallations-TypenDer Installation- und Update-Prozess</p><p>Installations-Typen</p><p>Netzinstallation mit zentralem Installations-ServerClient/Server Architektur</p><p>Installation in ein Verzeichnis (chroots, Vserver,. . . )CD/USB fr Umgebungen ohne NetzwerkMit grml-live: Live-CDs erstellen!</p><p>Henning Sprang Automatische Installationen und System Updates mit FAI</p></li><li><p>ber System-Installationenber FAI</p><p>FunktionenDetails der Nutzung</p><p>Ausblick</p><p>bersichtInstallations-TypenDer Installation- und Update-Prozess</p><p>Die wichtigsten tasks/Schritte der Installation:defclass: Klassenzuweisung fr das Zielsystempartition: Partitionierungextrbase: Minimales Basis-Image auspackendebconf: Debconf preseedings anwendeninstsoft: Installation der Software-Paketeconfigure: Konfigurations-Skripte ausfhrensavelog: Logfiles sichern</p><p>Henning Sprang Automatische Installationen und System Updates mit FAI</p></li><li><p>ber System-Installationenber FAI</p><p>FunktionenDetails der Nutzung</p><p>Ausblick</p><p>VorberlegungenFAI Setup und KonfigurationInfrastruktur-Dienste aufsetzenSystem-Konfigurationen anlegenInstallation durchfhrenInstallation (neu)starten</p><p>Vorberlegungen Installation</p><p>Entscheidung fr den richtigen Installations-Typen(Netz/CD/dirinstall)Plane Deine Installation</p><p>Nutzungs-ScenariosNetzwerk und BetriebsumgebungSoftware-PaketeZustzliche Dateien und Anpassungen</p><p>Mirrors der APT-Repositories</p><p>Henning Sprang Automatische Installationen und System Updates mit FAI</p></li><li><p>ber System-Installationenber FAI</p><p>FunktionenDetails der Nutzung</p><p>Ausblick</p><p>VorberlegungenFAI Setup und KonfigurationInfrastruktur-Dienste aufsetzenSystem-Konfigurationen anlegenInstallation durchfhrenInstallation (neu)starten</p><p>Vorberlegungen - Updates</p><p>Wie und wann sollen Patches erfolgen?Testing welchen Effekt wird ein Patch haben?Mirrors auch fr Security Updates von Paketen?Automatisch(zeitbasiert, beim Starten) or manuell gestartet?</p><p>Henning Sprang Automatische Installationen und System Updates mit FAI</p></li><li><p>ber System-Installationenber FAI</p><p>FunktionenDetails der Nutzung</p><p>Ausblick</p><p>VorberlegungenFAI Setup und KonfigurationInfrastruktur-Dienste aufsetzenSystem-Konfigurationen anlegenInstallation durchfhrenInstallation (neu)starten</p><p>FAI Setup und Konfiguration I</p><p>Installation auf Debian/Ubuntu:apt-get install fai-quickstart</p><p>Anpassen der Konfiguration in /etc/fai:fai.conf: LOGUSER=fai, LOGPROTO=ssh for Logging via sshapt/sources.list: Lokalen Mirror nutzen wenn verfgbar</p><p>Henning Sprang Automatische Installationen und System Updates mit FAI</p></li><li><p>ber System-Installationenber FAI</p><p>FunktionenDetails der Nutzung</p><p>Ausblick</p><p>VorberlegungenFAI Setup und KonfigurationInfrastruktur-Dienste aufsetzenSystem-Konfigurationen anlegenInstallation durchfhrenInstallation (neu)starten</p><p>FAI Setup und Konfiguration II</p><p>FAI Server ist eingerichtet NFSRoot anlegen:fai-setup / make-fai-nfsroot</p><p>Fr PXE-Boot: fai-chboot fr Boot-KonfigurationOhne PXE / bei CD-Installation: fai-cd</p><p>Henning Sprang Automatische Installationen und System Updates mit FAI</p></li><li><p>ber System-Installationenber FAI</p><p>FunktionenDetails der Nutzung</p><p>Ausblick</p><p>VorberlegungenFAI Setup und KonfigurationInfrastruktur-Dienste aufsetzenSystem-Konfigurationen anlegenInstallation durchfhrenInstallation (neu)starten</p><p>Infrastruktur-Dienste aufsetzen</p><p>Fr Netzinstallationen:DNS Eintrge fr Server und ClientsDHCP Konfiguration - Host/IP/MAC wie blichFAI-spezifisch:authoritative; # IP_PNP_DHCPoption root-path "/usr/lib/fai/nfsroot ..."server-name "faiserver"; # boot-servernext-server 172.20.2.64; # tftp server: kernelfilename "pxelinux.0";</p><p>Henning Sprang Automatische Installationen und System Updates mit FAI</p></li><li><p>ber System-Installationenber FAI</p><p>FunktionenDetails der Nutzung</p><p>Ausblick</p><p>VorberlegungenFAI Setup und KonfigurationInfrastruktur-Dienste aufsetzenSystem-Konfigurationen anlegenInstallation durchfhrenInstallation (neu)starten</p><p>System-Konfigurationen anlegen</p><p>Konfigurationen sind im FAI Configspace abgelegtEinfache Textdateien und SkripteBildet Anforderungen aus dem Installations-Plan abBeispiele in /usr/share/doc/fai/examples/simpleDefault Speicherort: /srv/fai/config</p><p>Henning Sprang Automatische Installationen und System Updates mit FAI</p></li><li><p>ber System-Installationenber FAI</p><p>FunktionenDetails der Nutzung</p><p>Ausblick</p><p>VorberlegungenFAI Setup und KonfigurationInfrastruktur-Dienste aufsetzenSystem-Konfigurationen anlegenInstallation durchfhrenInstallation (neu)starten</p><p>Der FAI Configspace</p><p>Inhalte des Configspace:classdisk_configbasefilesdebconfpackage_configscriptsfileshooks</p><p>Henning Sprang Automatische Installationen und System Updates mit FAI</p></li><li><p>ber System-Installationenber FAI</p><p>FunktionenDetails der Nutzung</p><p>Ausblick</p><p>VorberlegungenFAI Setup und KonfigurationInfrastruktur-Dienste aufsetzenSystem-Konfigurationen anlegenInstallation durchfhrenInstallation (neu)starten</p><p>Configspace anpassen - class</p><p>class enthlt Klassenzuweisungen und Variablen-Definitionen.Am einfachsten: Klassen anhand Hostnamen zuweisenBeispiel-Klassen: FAISERVER, GNOME, DEMO, XORGJedes beliebige Skript kann genutzt werden auch DBZ.B.: Prfen auf bestimmte Hardware, MAC, IP, . . .</p><p>Henning Sprang Automatische Installationen und System Updates mit FAI</p></li><li><p>ber System-Installationenber FAI</p><p>FunktionenDetails der Nutzung</p><p>Ausblick</p><p>VorberlegungenFAI Setup und KonfigurationInfrastruktur-Dienste aufsetzenSystem-Konfigurationen anlegenInstallation durchfhrenInstallation (neu)starten</p><p>Configspace anpassen basefiles</p><p>Minimale Basis-Images fr nicht-Debian-DistributionenBei extrbase wird geprft, ob hier ein passendes Image liegtZuordnung nach KlassenMan knnte auch nur dieses Image nutzen. . .</p><p>Henning Sprang Automatische Installationen und System Updates mit FAI</p></li><li><p>ber System-Installationenber FAI</p><p>FunktionenDetails der Nutzung</p><p>Ausblick</p><p>VorberlegungenFAI Setup und KonfigurationInfrastruktur-Dienste aufsetzenSystem-Konfigurationen anlegenInstallation durchfhrenInstallation (neu)starten</p><p>Configspace anpassen disk_config</p><p>Festplatten-Konfiguration und Mountpoints definieren wie bentigt# </p><p>disk_config disk1 preserve_reinstall:5,8,9</p><p>primary / 250 ext3 rw,errors=remount-rological swap 500-1500 ext3 rwlogical /var 500-1000 ext3 rw createopts="-m15" tuneopts="-c0 -i0"logical /tmp 500-1000 ext3 rw createopts="-m1" tuneopts="-c0 -i0"logical /usr 500-3G ext3 rw tuneopts="-c0 -i0"logical /home 100- ext3 rw,nosuid createops="-m1"logical /scra 1G-50% ext3 rw,nosuid createopts="-m0" tuneopts="-c0 -i0"</p><p>Henning Sprang Automatische Installationen und System Updates mit FAI</p></li><li><p>ber System-Installationenber FAI</p><p>FunktionenDetails der Nutzung</p><p>Ausblick</p><p>VorberlegungenFAI Setup und KonfigurationInfrastruktur-Dienste aufsetzenSystem-Konfigurationen anlegenInstallation durchfhrenInstallation (neu)starten</p><p>Configspace anpassen - debconf</p><p>Voreinstellungen fr Paket-Installations-SkripteNur fr dpkg-DistributionenFunktioniert wie beim Debian Installer</p><p>Henning Sprang Automatische Installationen und System Updates mit FAI</p></li><li><p>ber System-Installationenber FAI</p><p>FunktionenDetails der Nutzung</p><p>Ausblick</p><p>VorberlegungenFAI Setup und KonfigurationInfrastruktur-Dienste aufsetzenSystem-Konfigurationen anlegenInstallation durchfhrenInstallation (neu)starten</p><p>Configspace anpassen - package_config</p><p>Inhalte: Dateien, benannt nach KlassenZweck: zu installierende Pakete definierenUntersttzt mehrere Installationsarten:</p><p>install (apt-get)aptitudetaskinst (Debian tasks=Paketgruppen)urpmi (mandriva)yumi (Fedora)y2i (SuSE y2pmsh)yast (SuSE yast -i)</p><p>Henning Sprang Automatische Installationen und System Updates mit FAI</p></li><li><p>ber System-Installationenber FAI</p><p>FunktionenDetails der Nutzung</p><p>Ausblick</p><p>VorberlegungenFAI Setup und KonfigurationInfrastruktur-Dienste aufsetzenSystem-Konfigurationen anlegenInstallation durchfhrenInstallation (neu)starten</p><p>Configspace anpassen - package_config II</p><p>Example package_config/DEMO aus den Simple Examples:PACKAGES aptitudefortune-mod fortunesrstat-client #rstatdrusers rusersd</p><p># only when also class XORG is definedPACKAGES aptitude XORGbb frozen-bubble xpenguins</p><p>Henning Sprang Automatische Installationen und System Updates mit FAI</p></li><li><p>ber System-Installationenber FAI</p><p>FunktionenDetails der Nutzung</p><p>Ausblick</p><p>VorberlegungenFAI Setup und KonfigurationInfrastruktur-Dienste aufsetzenSystem-Konfigurationen anlegenInstallation durchfhrenInstallation (neu)starten</p><p>Configspace anpassen - scripts</p><p>scripts enthlt Skripte die nach der Paketinstallation laufenDefault: Shell- Perl- und Cfengine-SkripteAndere Interpreter in NFSRoot installieren ist einfach!Namens-Schema:/-Die Zahl definiert die Ausfhrungs-ReihenfolgeSCRIPTNAME beliebig - nur fr die Lesbarkeit</p><p>Henning Sprang Automatische Ins...</p></li></ul>