Diskless Linux für 100 Clients kastriertes Linux à la X-Terminal / Thin-Client bei dem fast alles...

Click here to load reader

  • date post

    09-Apr-2019
  • Category

    Documents

  • view

    220
  • download

    0

Embed Size (px)

Transcript of Diskless Linux für 100 Clients kastriertes Linux à la X-Terminal / Thin-Client bei dem fast alles...

KIT Universitt des Landes Baden-Wrttemberg undnationales Forschungszentrum in der Helmholtz-Gemeinschaft

ATIS - Abteilung Technische Infrastruktur, Fakultt fr Informatik

www.kit.edu

Diskless Linux fr 100 ClientsPlattenloser Betrieb eines universitren PC-Pools

ATIS - Abteilung Technische Infrastruktur,Fakultt fr Informatik

2 6.6.2013 Olaf Hopp Diskless Linux

Gliederung

Vorstellung

Problemstellung / Motivation

Voraussetzungen / GrundlagenPXE-BootUnionFS bzw. auFS

Die Umsetzung im DetailIndividualisierung mit Konfigurationsgruppen

Zusammenfassung

ATIS - Abteilung Technische Infrastruktur,Fakultt fr Informatik

3 6.6.2013 Olaf Hopp Diskless Linux

Vorstellung

KIT Karlsruher Institut fr TechnologieFusion der Universitt Karlsruhe und dem Forschungszentrum Karlsruhe

ATIS Abteilung technische Infrastrukturzentraler IT-Dienstleister der Fakultt fr Informatik

Studentenpool mit ber 100 Arbeitspltzen, ber 2.500 AccountsDual-Boot unter Windows und Linux (Fedora)Windows Installation konventionell via WDS auf lokale HDDLinux komplett via NFS ohne lokale HDD

Vortragender: Leiter des Bereich IT-Dienste und stellv. AbteilungsleiterVerantwortlich u.a. fr den Linux-Betrieb im Pool

ATIS - Abteilung Technische Infrastruktur,Fakultt fr Informatik

4 6.6.2013 Olaf Hopp Diskless Linux

Motivation

Verschiedene Deployment-Strategien wurden im Laufe der Zeit getestet:

Imaging la ClonezillaAutomatisierte Installation via Anaconda/Kickstart...

NachteileLangsam, fehleranfllig, erfordert Wartungsfenster mit DowntimeAufsicht beim Deployment, Fehler durch defekte Hardware, NacharbeitenWindows Deployment fummelt am MBR und der Partitionstabelle herumNachinstallationen / Patches via cron-Krcken

Nicht immer alle PCs laufen unter Linux

Installationen sind zu 99,9... % identischHardwarekonfiguration wird unter Linux grtenteil beim Booten dynamisch angepasst

ATIS - Abteilung Technische Infrastruktur,Fakultt fr Informatik

5 6.6.2013 Olaf Hopp Diskless Linux

Zielvorstellungen

Booten der Rechner bers NetzBetriebssystem via NFS vom ServerEinfache Wartung

Alleinige Pflege eines Klientensystems in einer chroot-Umgebung auf dem Server (ein Golden Image)

Vorhandene lokale Festplatte soll nicht angefasst werdenWindows kann sich darauf austoben

Kein kastriertes Linux la X-Terminal / Thin-Client bei dem fast alles im RAM und auf der CPU des Servers luft

lokaler RAM und CPU der PCs sollen genutzt werden

Die Rechner sollen diskless und stateless sein soll den originren Zustand wieder herstellen

Heimatverzeichnisse (/home) und proprietre, nicht-distributions-SW (/opt) kommen wie gewohnt via NFS

ATIS - Abteilung Technische Infrastruktur,Fakultt fr Informatik

6 6.6.2013 Olaf Hopp Diskless Linux

PXE-Boot:oder wie man sich am RJ45-Kabel aus dem Sumpf zieht

ATIS - Abteilung Technische Infrastruktur,Fakultt fr Informatik

7 6.6.2013 Olaf Hopp Diskless Linux

PXE-Boot: Zutaten

PXE: Pre-boot Execution EnvironmentDe-facto Standard von Intel um ber das Netz/Netzwerkkarte einen Betriebssystemkernel zu booten

ClientPXE-fhige NetzkarteIm PC-BIOS muss der Netzwerkboot an erster Stelle stehen

ServerDHCP-Servertftp-ServerNFS-ServerDNS-Server

ATIS - Abteilung Technische Infrastruktur,Fakultt fr Informatik

8 6.6.2013 Olaf Hopp Diskless Linux

PXE-Boot: Ablauf

PC bootet

Netzkarte sendet DHCP-Request

DHCP-Server antwortet mit IP-Parametern und der next-server-IP

Client ldt vom next-server das Bootmen per tftp

User whlt WindowsBoot von der lokalen Festplatte

User whlt LinuxClient ldt per tftp den Kernel und die initrd und bootetBeim booten wird / via NFS gemountet

ATIS - Abteilung Technische Infrastruktur,Fakultt fr Informatik

9 6.6.2013 Olaf Hopp Diskless Linux

PXE-Boot: tftp Dialog

Log-Auszug des tftp-ServersRRQfrom141.3.8.242filenamepxelinux/pxelinux.0zuerst immer pxelinux.0RRQfrom141.3.8.242filenamepxelinux/pxelinux.cfg/2fb5a2083f9bdc11409cb5a30e436129UUID des PCsRRQfrom141.3.8.242filenamepxelinux/pxelinux.cfg/01001b3892fceeMAC-Adresse der NetzkarteRRQfrom141.3.8.242filenamepxelinux/pxelinux.cfg/8D0308F2IP in HEX (141.3.8.242)RRQfrom141.3.8.242filenamepxelinux/pxelinux.cfg/8D0308FRRQfrom141.3.8.242filenamepxelinux/pxelinux.cfg/8D0308RRQfrom141.3.8.242filenamepxelinux/pxelinux.cfg/8D030RRQfrom141.3.8.242filenamepxelinux/pxelinux.cfg/8D03IP von hinten verkrztRRQfrom141.3.8.242filenamepxelinux/pxelinux.cfg/8D0RRQfrom141.3.8.242filenamepxelinux/pxelinux.cfg/8DRRQfrom141.3.8.242filenamepxelinux/pxelinux.cfg/8RRQfrom141.3.8.242filenamepxelinux/pxelinux.cfg/defaultImmer noch nichts gefunden? defaultRRQfrom141.3.8.242filenamepxelinux/pxelinux.msc/german.kbdRRQfrom141.3.8.242filenamepxelinux/vesamenu.c32RRQfrom141.3.8.242filenamepxelinux/pxelinux.cfg/defaultbuntes MenRRQfrom141.3.8.242filenamepxelinux/pxelinux.cfg/config/menugraphics.confRRQfrom141.3.8.242filenamepxelinux/pxelinux.msc/bootsplash.jpgUser whlt Linux im MenRRQfrom141.3.8.242filenamepxelinux/KERNEL/vmlinuzf18KernelRRQfrom141.3.8.242filenamepxelinux/INITRD/initrdf18.imginitrd

ber die MAC / UUID / IP lsst sich steuern, welcher PC welches Men bekommtDamit kann man mit cron und Symlinks das OS individuell voreinstellen

}}

ATIS - Abteilung Technische Infrastruktur,Fakultt fr Informatik

10 6.6.2013 Olaf Hopp Diskless Linux

PXE Bootmen

pxelinux.cfg/default:menuincludepxelinux.cfg/config/menugraphics.conf

kbdmappxelinux.msc/german.kbd

defaultvesamenu.c32#thisisaredirectiontothegraphicmenu

prompt0#disablescommandprompt

allowoptions0#disallowsanychangeofbootparameters

noescape1#disablesthe"holddowntheShiftkey

timeout100#in1/10thofseconds

labelF18

menulabelFedora18

kernelKERNEL/vmlinuzf18

appendinitrd=INITRD/initrdf18.imgroot=NFSserver:/diskless/F18/root/

labelwindows

menulabelWindows7localboot0

ATIS - Abteilung Technische Infrastruktur,Fakultt fr Informatik

11 6.6.2013 Olaf Hopp Diskless Linux

PXE Bootmen

ATIS - Abteilung Technische Infrastruktur,Fakultt fr Informatik

12 6.6.2013 Olaf Hopp Diskless Linux

PXE Boot

Timer luft ab oder Benutzer selektiert Linux

Kernel und initrd werden via tftp geladen

RRQfrom141.3.8.242filenamepxelinux/KERNEL/vmlinuzf18RRQfrom141.3.8.242filenamepxelinux/INITRD/initrdf18.img

Via Kernelparameter wird dem Kernel das root-FS mitgegeben

appendinitrd=INITRD/initrdf18.imgroot=NFSserver:/diskless/F18/root/

Auf dem NFS-Server liegt unterhalb von /diskless/F18/root das Golden Image

Done !

ATIS - Abteilung Technische Infrastruktur,Fakultt fr Informatik

13 6.6.2013 Olaf Hopp Diskless Linux

One Size Fits All !

ATIS - Abteilung Technische Infrastruktur,Fakultt fr Informatik

14 6.6.2013 Olaf Hopp Diskless Linux

Oder doch lieber individuell angepasste Arbeitspltze ?

ATIS - Abteilung Technische Infrastruktur,Fakultt fr Informatik

15 6.6.2013 Olaf Hopp Diskless Linux

Schwierigkeiten / Probleme (I)

Schreibzugriffe Ein Image via read/write-NFS fr alle Clients ?

/var und sogar auch /etc (DHCP-Config !) werden beschriebenManchmal auch andere Stellen

Je Client ein Image ?Skaliert nicht bei 100 Clients

ATIS - Abteilung Technische Infrastruktur,Fakultt fr Informatik

16 6.6.2013 Olaf Hopp Diskless Linux

Schwierigkeiten / Probleme (II)

Unterschiedliche Hardware-Konfigurationen4 verschiedene Generationen von F&L-PCsUnterschiedliche Grafik-Karten (Intel, ATI und Nvidia)Exoten-Lsungen

3 MonitoreWacom-TabletsUS-Tastatur

Unterschiedliche Software-KonfigurationenNetze mit unterschiedlichen Authentifizierungen

Unterschiedliche LDAP-Server / -ZweigeNIS

Rechner / Poolbereiche mit proprietrer SoftwareBibliotheksrechner im Kiosk-Mode

ATIS - Abteilung Technische Infrastruktur,Fakultt fr Informatik

17 6.6.2013 Olaf Hopp Diskless Linux

Einschub: unionFS / auFS

unionFS bzw. auFS sind Copy-On-Write-Filesystemtreiber, die sich zwischen Kernel und dem eigentlichen Filesystem (hier NFS) schiebenSchreibzugriffe werden abgefangen und in eine RamDisk umgeleitet Lesezugriffe schauen zuerst in der RamDisk nach und danach auf dem NFS-ServerDamit ist die ReadOnly-NFS-Freigabe aus Sicht des Clienten beschreibbar vergisst alles wieder

Findet auch Verwendung in den diversen Linux-Live-CDsunionFS

Alt und buggy, luft im Userspace via fuse

auFS (another union File System)Neuimplementierung im Kernelspacez.B. Knoppix ab 5.1 (2007)

ATIS - Abteilung Technische Infrastruktur,Fakultt fr Informatik

18 6.6.2013 Olaf Hopp Diskless Linux

auFS

Kernel

NFS-ServertmpFS

tmpFS?

Write

Read

auFS

Applikation

COW

ATIS - Abteilung Technische Infrastruktur,Fakultt fr Informatik

19 6.6.2013 Olaf Hopp Diskless Linux

Lsung mit auFS

Mounten von /var via aufssyslogd kann nach /var/log schreiben:Logs landen im RAM

sind beim Reboot wegzustzliches Logging zu einem Remote-syslog-Server

Hngt man statt /var gleich / ber auFS einkann man sogar lokal Pakete fr Tests nachinstallieren

...bis zum Reboot

und man hat die DHCP-Schreibzugriffe auf /etc auch abgefangen

ATIS - Abteilung Technische Infrastruktur,Fakultt fr Informatik

20 6.6.2013 Olaf Hopp Diskless Linux

Wie unterscheidet man Rechnerhardware / Netzumgebung / SW-Konfiguration ?

Unterhalb von /etc liegt sowohl die Hardware- als auch die Netz- bzw. Software-Konfiguration

Es muss also /etc pro Rechner unterschieden werdenAber nicht N fast gleiche /etc's fr N RechnerDie Unterschiede sind marginal

Idee:Nehme ein normales default /etcErzeuge extra NFS-Verzeichnisse mit den DeltasKopiere diese Deltas beim booten ber das Default-/etc drberkopieren heisst in diesem Fall mounten per auFS

Jedes extra NFS-Verzeichnis definiert eine sog. Konfigurationsgruppe

ATIS - Abteilung Technische Infrastruktur,Fakultt fr Informatik

21 6.6.2013 Olaf Hopp Diskless Linux

Konfigurationsgruppen

Applikation

Golden Image (NFS)

Gruppe 1 (auFS)Gruppe 2 (auFS)

Gruppe 3 (auFS)

resolv ldap xorg cups

xorg cups

ldap

cups rc.local

ATIS - Abteilung Technische Infrastruktur,Fakultt fr Informatik

22 6.6.2013 Olaf Hopp Diskless Linux

Konfigurationsgruppen

NFS-Freigabe auf dem Server/diskless/F18/root/etc .../usr dies ist das Golden Image .../var ...

Daneben liegen die Konfigurationsgruppen mit den Deltas zum Golden Image Aufbau einer Konfigurationsgruppe conf_pool

/diskless/F18/conf/conf_pool/etc .../usr

ist ein winziger Teilbereich des Filesystems mit den Deltas zum Golden Image

Diese Gruppen werden mit auFS ber das Golden Image gemountet

}

ATIS - Abteilung Technische Infrastruktur,Fakultt fr Informatik

23 6.6.2013 Olaf Hopp Diskless Linux

Konfigurationsgruppen: Beispiel Pool-PC

Beispiel einer Gruppe conf_pool:# find /diskless/F18/conf/conf_pool -maxdepth 2 -mindepth 2 -type d/diskless/F18/conf/conf_pool/etc/snmp/diskless/F18/conf/conf_pool/etc/security/diskless/F18/conf/conf_pool/etc/openldap/diskless/F18/conf/conf_pool/etc/sysconfig/diskless/F18/conf/conf_pool/etc/cups/diskless/F18/conf/conf_pool/etc/X11/diskless/F18/conf/conf_pool/etc/pam.d/diskless/F18/conf/conf_pool/etc/cron.daily/diskless/F18/conf/conf_pool/etc/exim/diskless/F18/conf/conf_pool/etc/sssd/diskless/F18/conf/conf_pool/etc/ssh/diskless/F18/conf/conf_pool/usr/local

# du -sh /diskless/F18/conf/conf_pool1.8M /diskless/F18/conf/conf_pool

# find /diskless/F18/conf_pool -type f | wc -l84

ATIS - Abteilung Technische Infrastruktur,Fakultt fr Informatik

24 6.6.2013 Olaf Hopp Diskless Linux

Konfigurationsgruppen:Beispiel Mitarbeiter-PC

Neben der Konfiguration fr die Abteilung (conf_atis) hier noch individuelle Zusatz-Gruppe fr den Mitarbeiter-Arbeitsplatz-PC

Beispiel einer Gruppe conf_hopp:# find /diskless/F18/conf/conf_hopp/ -type f/diskless/F18/conf/conf_hopp/etc/ssh/sshd_config/diskless/F18/conf/conf_hopp/etc/locale.conf/diskless/F18/conf/conf_hopp/etc/sysconfig/i18n/diskless/F18/conf/conf_hopp/etc/sysconfig/keyboard/diskless/F18/conf/conf_hopp/etc/sudoers/diskless/F18/conf/conf_hopp/etc/rc.d/rc.local/diskless/F18/conf/conf_hopp/etc/X11/xorg.conf

ATIS - Abteilung Technische Infrastruktur,Fakultt fr Informatik

25 6.6.2013 Olaf Hopp Diskless Linux

Wie bekommt der Client seine Konfigurationsgruppe(n) ?

Der DHCP-Server kann dem Client sog. Option-Strings bergebenDiese benennen die jew. Konfigurationsgruppen des Clients

Die Strings werden von der initrd abgefragt und dann die entsprechenden Gruppen ber den lokalen (NFS-) Dateibaum per auFS gemountet.

Landen somit (wg. auFS) im RAM des Clientsnderungen an den Gruppen zur Laufzeit werden i.d.R sofort aktiv

Damit kann man auch Konfigurationen stapelnd.h. mehrere Konfigurationsgruppen pro Client sind mglichJede Konfigurationsgruppe enthlt nur die jeweils notwendige RolleGleiche Dateien in einer spteren Gruppen berschreiben ihre Pendants in einer vorherigen Gruppe

ATIS - Abteilung Technische Infrastruktur,Fakultt fr Informatik

26 6.6.2013 Olaf Hopp Diskless Linux

DNS / DHCP Verwaltungstool der Informatik

Erstellt DNS- und DHCP-KonfigurationsdateienEbenso die DHCP-Optionstrings

ATIS - Abteilung Technische Infrastruktur,Fakultt fr Informatik

27 6.6.2013 Olaf Hopp Diskless Linux

DNS-Tool und Konfigurationsgruppen

dhcpd.conf:host i09diskless-demo { hardware ethernet 00:50:56:a2:20:12; fixed-address i09diskless-demo.atis.uni-karlsruhe.de; option host-name "i08diskless-demo"; option dhcp-client-identifier "i09diskles-demo"; option netbios-node-type 8; next-server 141.3.8.9; filename "pxelinux/pxelinux.0"; option root-path "conf_pool, conf_wacom, conf_kiosk"; }

ATIS - Abteilung Technische Infrastruktur,Fakultt fr Informatik

28 6.6.2013 Olaf Hopp Diskless Linux

Client-Boot

ATIS - Abteilung Technische Infrastruktur,Fakultt fr Informatik

29 6.6.2013 Olaf Hopp Diskless Linux

Der Server im Backend ?

?

ATIS - Abteilung Technische Infrastruktur,Fakultt fr Informatik

30 6.6.2013 Olaf Hopp Diskless Linux

Der Server im Backend !

NFS-Server: Standard 2 CPUs, 4 Kerne, 8 GB RAMBedient Fedora-Diskless-Clients und die User-Homes per NFS / CIFSNFS Parameter hochschraubenNur Last, wenn viele Clients gleichzeitig booten (iowait)Daten liegen im (iSCSI-) SAN

Clients cachen die NFS-Daten recht intensiv, ebenso der NFS-Server

ATIS - Abteilung Technische Infrastruktur,Fakultt fr Informatik

31 6.6.2013 Olaf Hopp Diskless Linux

Alles ganz einfach, oder ?

Im Prinzip schon, aber:Bestehendes System ist in einem langjhrigem evolutionren Prozess entstanden

Viel Hirnschmalz steckt in der initrd und den Konfigurationsgruppen

Muss bei neuen Major-Releases reviewed werdenDracut mit den Hooks ist ein Segen !

auFS bei Fedora leider nicht OnBoard -> manuelles Kernelbacken

Die Wechsel des System-Starts bei Fedora von SysV-init ber upstart zu systemd erforderte berarbeitung der Start-Scripte

Auch hier muss eingegriffen werdenBsp.: ifdown vom NetworkManager

Ebenso beim Shutdown

ATIS - Abteilung Technische Infrastruktur,Fakultt fr Informatik

32 6.6.2013 Olaf Hopp Diskless Linux

Wirklich plattenlos ?

Nicht ganzWindows braucht sie sowiesoWenn vorhanden, verwendet Linux sie als Swap und temp. Scratch-BereichEs geht aber auch ganz ohne !

ATIS - Abteilung Technische Infrastruktur,Fakultt fr Informatik

33 6.6.2013 Olaf Hopp Diskless Linux

Zusammenfassung (I)

ber 100 PCs im ATIS-Pool, plus diverse sonstige PCs~50% booten Linux per Default

Clients: mind. 2 GB, besser 4 GB RAM

Erster Login nach dem Reboot in eine schwergewichtige 3D-Desktop-Umgebung wie Gnome3 ist etwas zh

Wenn der Cache gut gefllt ist, wuppt es

Clients berleben den Reboot des Servers !

Clients verhalten sich erratisch bei Updates von systemnaher Softwarez.B. glibc, aber auch FirefoxPool-PCs werden jede Nacht neu gebootetentleert auch die RamDisk

ATIS - Abteilung Technische Infrastruktur,Fakultt fr Informatik

34 6.6.2013 Olaf Hopp Diskless Linux

Zusammenfassung (II)

Pflege in einer chroot-Umgebung auf dem Serveryum install XYZ / yum updateSofort auf allen Clients verfgbar

Rollout einer neuen Fedora-Release: boot und gut

ber die Konfigurationsgruppen werdenPool- und Mitarbeiter-Arbeitsplatz-PCsInformatik-Bibliothek im Kiosk-Modeeine ForschungseinrichtungVerfgbarkeit unterschiedlicher Druckerindividuelle Hardware- und SW-Lsungen abgebildet

Aktuelle Baustellen: NFS4, Kerberos, auFS-Kernel, Versionierung via LVM-Snapshots

ATIS - Abteilung Technische Infrastruktur,Fakultt fr Informatik

35 6.6.2013 Olaf Hopp Diskless Linux

Vielen Dank fr Ihre Aufmerksamkeit

[email protected]

Slide 1Slide 2Slide 3Slide 4Slide 5Slide 6Slide 7Slide 8Slide 9Slide 10Slide 11Slide 12Slide 13Slide 14Slide 15Slide 16Slide 17Slide 18Slide 19Slide 20Slide 21Slide 22Slide 23Slide 24Slide 25Slide 26Slide 27Slide 28Slide 29Slide 30Slide 31Slide 32Slide 33Slide 34Slide 35