Basis-Installation Virtualisierungs-Server (Debian stretch)

Vorbereitungen

Vor der Basisinstallation des ersten Virtualisierungs-Servers muss die Internet-Anbindung der Schule entsprechend der IT-Zukunft Schule Netzwerktopologie eingerichtet werden. Desweiteren muss eine Backbone-Switch für das Backbone-Netz (siehe Internet-Anbindung) bereit stehen, welche mit dem Backbone-VLAN des Internet-Routers verbunden ist.

Im Backbone-Netz ist standardmäßig ein DHCP-Server aktiv (auf Router für die Internet-Anbindung), so dass angeschlossene Systeme (neue aufzusetzende Server, Notebooks von System-Admins, etc.) sofort Zugriff auf das Internet bekommen können.

Basisinstallation

Der Virtualisierungs-Server stellt den virtuellen Maschinen Teile der Hardware standardisiert zur Verfügung. Der folgende Abschnitt beschreibt eine allgemeine Installation des ersten/zentralen Virtualiserungs-Servers. Die Details der Installation unterscheiden sich dabei je nach Hardware-Ausstattung des Servers und Nutzungsszenario (Größe der Schule, etc.). In den entsprechenden Textpassagen werden Beispielwerte angegeben, die an die Gegebenheiten der jeweiligen Schule individuell angepasst werden.

Installation starten

Rechnernamen und erste Benutzer anlegen

FixMe: Wenn der Server nach der Installation nicht bootet, sollte nach einem grub-install /dev/sdX, grub-install /dev/sdY UND grub-install /dev/md0 sowie einem anschließenden update-grub alles funktionieren.

Grundeinrichtung

  1. Nachdem die Grundinstallation abgeschlossen ist als locadm einloggen.

  2. Den User locadm in die Gruppe sudo eintragen. Eingabe mit root-Kennwort bestätigen. Danach: ausloggen und wieder als locadm einloggen.

    $ su -c "adduser locadm sudo"
  3. Der Posix-Gruppe sudo den Aufruf des Kommandos sudo ohne Eingabe des Passworts erlauben:

    locadm@virt-man-01:~# su -c "diff -u /etc/sudoers.orig /etc/sudoers"
    --- /etc/sudoers.orig   2012-07-27 12:43:30.000000000 +0200
    +++ /etc/sudoers        2012-07-27 12:42:07.000000000 +0200
    @@ -19,6 +19,6 @@
     # Allow members of group sudo to execute any command
     # (Note that later entries override this, so you might need to move
     # it further down)
    -%sudo ALL=(ALL) ALL
    +%sudo ALL=(ALL) NOPASSWD: ALL
     #
     #includedir /etc/sudoers.d
  4. Den Benutzer locadm seine sudo-Rechte wahrnehmen lassen:

    $ newgrp sudo
  5. Nachinstallation von Software:

    $ sudo apt-get install mc vim
  6. Server Neustart durchführen
  7. Nach der Installation vim als Editor in den Debian "Alternatives" festlegen.

    sudo update-alternatives --config editor
  8. Das Programm Midnight Commander starten (Kommando: mc):

    • F9 drücken
    • Optionen -> Konfiguration: [x] Internen Editor benutzen

    • Optionen -> Einstellungen speichern

    • F10: Midnight Commander beenden
  9. Den Midnight Commander Editor (Kommando: mcedit) starten:

    • F9 drücken
    • Menüpunkt: Optionen -> Allgemein

    • "Backspace durch Tabs" auswählen
    • "Tabs mit Leerzeichen auffüllen" auswählen
    • "Return rückt automatisch ein" abwählen
    • F10: Editor beenden
  10. In /etc/apt/sources.list für alle Varianten contrib und non-free hinzufügen.

Aktualisierung gezielter Pakete via ITZkS-Repository

Zusätzliche APT-Quellen werden hinzugefügt:

$ editor /etc/apt/sources.list.d/itzks.list

"""
deb http://packages.it-zukunft-schule.de/debian stretch main
"""

$ apt-get update && apt-get install itzks-keyring && apt-get update

Aus diesen Quellen werden die folgenden Pakete installiert:

$ apt-get install itzks-systems-common
$ sudo itzks-systems.do_preseed
$ apt-get update
$ apt-get install x2go-keyring 
# /etc/apt/sources.list.d/geogebra.list auskommentieren
# /etc/apt/sources.list.d/multimedia.list auskommentieren 
$ apt-get update
$ apt-get purge avahi-daemon
$ apt-get install itzks-systems-virtman (postfix nur lokal, emails an locadm)

LightDM und LXDE-Desktop installieren

sudo apt-get install lxde lightdm

Installation von X2Go

  1. Pakete installieren: x2goserver und x2golxdebindings

    $ sudo apt-get install x2goserver x2golxdebindings

Einrichtung einer USV

Auf virt-man-01 (USV_MASTER):

  1. ssh-keygen als root
  2. /root/.ssh/id_rsa.pub -> /root/.ssh/authorized_keys auf backup-01

  3. die Datei /etc/apcupsd/doshutdown erstellen:

    MY_UPS_SLAVES="backup-01"
    
    for host in $MY_UPS_SLAVES; do
        0</dev/null ssh -lroot $host shutdown -h -t 30 now "apcupsd UPS ${2} initiated
    shutdown" 1>/dev/null 2>/dev/null
    done
  4. in /etc/apcupsd/apcupsd.conf folgende Änderungen gemacht:

    --- a/apcupsd/apcupsd.conf
    +++ b/apcupsd/apcupsd.conf
    @@ -26,7 +26,7 @@
    #     940-1524C, 940-0024G, 940-0095A, 940-0095B,
    #     940-0095C, 940-0625A, M-04-02-2000
    #
    -UPSCABLE smart
    +UPSCABLE usb
    
    # To get apcupsd to work, in addition to defining the cable
    # above, you must also define a UPSTYPE, which corresponds to
    @@ -79,8 +79,8 @@ UPSCABLE smart
    # modbus    /dev/tty**       Serial device for use with newest SmartUPS models
    #                            supporting the MODBUS protocol.
    #
    -UPSTYPE apcsmart
    -DEVICE /dev/ttyS0
    +UPSTYPE usb
    +DEVICE
    
    # POLLTIME <int>
    #   Interval (in seconds) at which apcupsd polls the UPS for status. This
    @@ -135,12 +135,12 @@ ONBATTERYDELAY 6
    # If during a power failure, the remaining battery percentage
    # (as reported by the UPS) is below or equal to BATTERYLEVEL, 
    # apcupsd will initiate a system shutdown.
    -BATTERYLEVEL 5
    +BATTERYLEVEL 60
    
    # If during a power failure, the remaining runtime in minutes 
    # (as calculated internally by the UPS) is below or equal to MINUTES,
    # apcupsd, will initiate a system shutdown.
    -MINUTES 3
    +MINUTES 10
    
    # If during a power failure, the UPS has run on batteries for TIMEOUT
    # many seconds or longer, apcupsd will initiate a system shutdown.
    @@ -184,7 +184,7 @@ KILLDELAY 0
    #  information server. If netstatus is on, a network information
    #  server process will be started for serving the STATUS and
    #  EVENT data over the network (used by CGI programs).
    -NETSERVER on
    +NETSERVER off
    
    # NISIP <dotted notation ip address>
    #  IP address on which NIS server will listen for incoming connections.
    diff --git a/default/apcupsd b/default/apcupsd
    index f8de693..b3d0e25 100644
  5. dann noch apcupsd als "konfiguriert" markieren:

    --- a/default/apcupsd
    +++ b/default/apcupsd
    @@ -2,4 +2,4 @@
    
    # Apcupsd-devel internal configuration
    APCACCESS=/sbin/apcaccess
    -ISCONFIGURED=no
    +ISCONFIGURED=yes
  6. zuletzt: invoke-rc.d apcupsd restart

Einrichtung der Virtualisierungs-Software

Dieser Vorgang wird separat beschrieben:

IT-Zukunft Schule: Technik/Installation/VirtServer/BasisStretch (zuletzt geändert am 2021-09-30 17:15:18 durch MikeGabriel)