close Warning: Can't synchronize with repository "keplertools" (/srv/svn/keplertools does not appear to be a Subversion repository.). Look in the Trac log for more information.

Changes between Version 21 and Version 22 of AdminClientAufsetzen


Ignore:
Timestamp:
May 10, 2016, 7:43:43 PM (10 years ago)
Author:
Rüdiger Kupper
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • AdminClientAufsetzen

    v21 v22  
    439439
    440440
    441 == Mountall-Workaround in `/etc/rc.local`
    442 
    443 **Dieser Workaround wird vermutlich nicht mehr benötigt! Der neue Server scheint auch ohne gut zu booten.**
    444 
    445 (Wenn nötig, in `/etc/fstab` die NFS-Mounts mit dem Flag `noauto` versehen und in `/etc/rc.local` das Skript `kepler--mountall-workaround` aufrufen.)
    446 
    447 Querverweis: #856
    448 
    449 
    450 == Herunterfahren unterbinden
    451 
    452 **Achtung! Dieser Punkt steht im Verdacht, für die !Login/Logout-Probleme auf den LtspServern verantwortlich zu sein! Vorerst lieber auslassen!**
    453 
    454 Obwohl mittels dconf bereits der //Shutdown// und der //Restart-Eintrag// aus dem Systemmenü ausgeblendet wurde, ist es sinnvoll, normalen Nutzern prinzipiell diese Rechte wegzunehmen. (Einerseits, weil es vielleicht einen anderen Weg als das Systemmenü gibt, an diese Optionen zu gelangen. Andererseits, weil dconf derzeit (noch?) nicht das Ausblenden des //Suspend//-Eintrags erlaubt.)
    455 
    456 Das ist bequem über ein policykit-Konfigurationsfile möglich:
    457 
    458 {{{
    459   # cat > /etc/polkit-1/localauthority/90-mandatory.d/kepler--disable-shutdown-restart-suspend-hibernate.pkla <<EOF
    460 [Disable shutdown/whatever]
    461 Identity=unix-user:*
    462 Action=org.freedesktop.consolekit.system.stop;org.freedesktop.consolekit.system.restart;org.freedesktop.upower.suspend;org.freedesktop.upower.hibernate
    463 ResultAny=no
    464 ResultInactive=no
    465 ResultActive=no
    466 EOF
    467 }}}
    468 (Querverweise: http://askubuntu.com/questions/93542/how-to-disable-shutdown-reboot-suspend-hibernate/93956#93956, #215)
    469441
    470442
    … …  
    499471 - Vorgehen wie unter AdminSmart beschrieben
    500472 
    501 
    502 
    503 == Nagios auf paedml anpassen
    504 
    505 - **Auf dem paedml** in `/etc/nagios3/conf.d/linuxmuster_custom.cfg` entsprechende Einträge per copy-and-paste erstellen, die den neuen Server auf Lebenszeichen testen.
    506 - Ist die neue Maschine virtualisiert, zwei Einträge erstellen, sowohl für den Virtualisierungshost wie auch die VM.
    507 
    508 
    509 == LTSP einrichten
    510 
    511 === LTSP-Client-Image
    512 
    513 - Wenn während der Installation von Edubuntu die Option LTSP ausgewählt wurde, sind die nötigen Pakete schon installiert. Dann wurde auch bereits ein Client-Image erzeugt, das für uns ungeeignet ist und entfernt werden sollte:
    514  {{{
    515  # rm -r /etc/ltsp/*
    516  # rm -r /opt/ltsp/*
    517  }}}
    518 
    519 - Dann weiter wie unter LtspServerUpdate#ltsp-build-client beschrieben.
    520 
    521 
    522 === dnsmasq
    523 
    524 Auf den LtspServern läuft ein `dnsmasq`, der die DHCP-Anfragen der Clients beantwortet. Die Antwort beinhaltet dann den TFT-Server, von dem der Client seinen Netzwerkbootprozess fortsetzt.
    525 
    526 - Unser neuer Server benötigt das Verzeichnis `/etc/linuxmuster`:
    527   {{{
    528   # mkdir /etc/linuxmuster
    529   }}}
    530 - dann:
    531   {{{
    532   # apt-get install dnsmasq
    533   # ln -s /etc/linuxmuster/ltsp_config /etc/dnsmasq.d/
    534   }}}
    535 - In `/etc/default/dnsmasq` ändern:
    536   {{{
    537   CONFIG_DIR=/etc/dnsmasq.d/ltsp_config/$(hostname)/conf,.dpkg-dist,.dpkg-old,.dpkg-new
    538   }}}
    539 
    540 === make_ltsp_config-Skript
    541 
    542 Auf dem paedml muss ein Verzeichnis für die DHCP-Config des neuen Servers angelegt werden:
    543 
    544  Auf dem paedml::
    545   {{{
    546   # mkdir -p /etc/linuxmuster/ltsp_config/ltsp<ServerNummer>/
    547   }}}
    548 
    549 Das Skript `make_ltsp_config`, das die zu beantwortenden DHCP-Anfragen festlegt, muss um den Hostnamen des neuen Servers erweitert werden:\\
    550 Auf dem paedml die passenden Anpassungen vornehmen (Schleifen):
    551   {{{
    552   # emacs -nw /usr/local/sbin/make_ltsp_config
    553   # emacs -nw /usr/local/sbin/make_ltsp_config.php
    554   # svn commit /usr/local/sbin/make_ltsp_config*
    555   # make_ltsp_config
    556   }}}
    557 
    558 === TFT-Boot einrichten
    559 
    560 - Da die Datei `/var/lib/tftpboot/ltsp/i386/pxelinux.cfg/default` bei jedem Update des Client-Images überschrieben wird, verwenden wir eine Datei namens `0A`, was dem ersten Byte der IP-Adresse unseres Netzwerks entspricht (10.*.*.*). Diese erhält Vorrang vor `default`. Also:\\
    561 Datei `/var/lib/tftpboot/ltsp/i386/pxelinux.cfg/0A` erzeugen, mit Inhalt
    562 
    563  Im Schülernetz::
    564 {{{
    565 default keplerltsp
    566 label keplerltsp
    567 kernel vmlinuz
    568 append ro initrd=initrd.img nbdroot=10.32.2.<ServerNummer>:/opt/ltsp/i386 root=/dev/nbd0 init=/sbin/init-ltsp quiet splash plymouth:force-splash vt.handoff=7
    569 }}}
    570 
    571  Im Lehrernetz::
    572 {{{
    573 default keplerltsp
    574 label keplerltsp
    575 kernel vmlinuz
    576 append ro initrd=initrd.img nbdroot=10.16.112.<ServerIP>:/opt/ltsp/i386 root=/dev/nbd0 init=/sbin/init-ltsp quiet splash plymouth:force-splash vt.handoff=7
    577 }}}
    578 
    579 === Automatisches Herunterfahren der Clients beim Server-Shutdown
    580 
    581 Das Herunterfahren des Servers hat katastrophale Auswirkungen auf laufende Clients. Die Clients müssen also sauber abgeschaltet werden, bevor der Server neu gebootet werden kann.
    582 Derzeit verwenden wir einen Polling-Mechanismus, mit dem die Clients bei "ihrem" Server regelmäßig anfragen, ob sie herunterfahren sollen. Dieser Dienst wird über `inetd` auf Port 2001 zur Verfügung gestellt:
    583 {{{
    584 # cat >> /etc/inetd.conf <<EOF
    585 2001           stream  tcp     nowait  nobody /usr/sbin/tcpd /bin/cat /etc/ltsp-message
    586 EOF
    587 }}}
    588 
    589 Um diese "shutdown"-Nachricht zu setzen, verwenden wir das sehr schöne "Molly-Guard". Per Default verhindert das versehentliches Herunterfahren. Wir verwenden es hier so:
    590 {{{
    591 # apt-get install molly-guard
    592 # cd /etc/molly-guard/run.d
    593 # mv 30-query-hostname disabled--30-query-hostname
    594 }}}
    595 {{{
    596 # cat > 30-kepler--ask-confirmation <<"EOF"
    597 #!/bin/bash
    598 
    599 echo "This will shut down all my LTSP clients and reboot this server.
    600   Note: Don't do this while people are logged in on the clients,
    601         or they will kill you. You have been warned."
    602 
    603 read -n1 -p "Is this really what you want to do (y/n)? " answer
    604 echo
    605 
    606 if [[ $answer == "y" ]] ; then
    607     exit 0
    608 else
    609     exit 1
    610 fi
    611 EOF
    612 }}}
    613 {{{
    614 # cat > 40-kepler--shutdown-my-clients <<EOF
    615 #!/bin/bash
    616 
    617 if [[ $(id -u) != 0 ]] ; then
    618     echo $0: Need to be root
    619     exit 1
    620 fi
    621 
    622 shutdownclients --mine
    623 
    624 exit $?
    625 EOF
    626 }}}
    627 {{{
    628 # chmod a+x 30-kepler--ask-confirmation
    629 # chmod a+x 40-kepler--shutdown-my-clients
    630 # chmod a-x disabled--30-query-hostname
    631 }}}
    632 
    633 Geht beim Shutdown etwas schief, darf die Shutdown-Message nicht in der Datei `/etc/ltsp-message` stehen bleiben, weil sonst die Clients direkt nach dem Start wieder herunterfahren (ticket:1114). Die Datei sollte daher bei jedem Boot geleert werden.
    634 
    635 Dazu in /etc/rc.local die Zeilen einfügen:
    636 {{{
    637 echo "Clearing /etc/ltsp-message."
    638 echo > /etc/ltsp-message
    639 }}}
    640 
    641473
    642474== Drucker einrichten