Unterschiede zwischen den Revisionen 14 und 15
Revision 14 vom 2022-01-06 15:49:51
Größe: 10032
Kommentar:
Revision 15 vom 2022-01-06 15:50:28
Größe: 10038
Kommentar:
Gelöschter Text ist auf diese Art markiert. Hinzugefügter Text ist auf diese Art markiert.
Zeile 132: Zeile 132:
== Einrichtung einer USV ==

=== Unter Verwendung des APC UPS Daemons ===
=== Einrichtung einer USV ===

==== Unter Verwendung des APC UPS Daemons ====
Zeile 214: Zeile 214:
=== Unter Verwendung des hardware-übergreifend nutzbaren 'Network UPS Tools' === ==== Unter Verwendung des hardware-übergreifend nutzbaren 'Network UPS Tools' ====

Virtualisierungs-Server (Debian bullseye)

Vorne Weg: Einrichtung der Virtualisierungs-Software

Die Einrichtung der Virtualisierungs-Software wird je nach verwendetem Produkt beschrieben:

  • Virtualisierung mit LibVirt (empfohlen für 1-2 Server Schul-Setups)

  • Virtualisierung mit Ganeti (empfohlen für Multi-Server Schul-Setups)

Im Weiteren wird jetzt die Installation und Basiskonfiguration eines Virtualisierungsservers beschrieben.

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

  • Ein startfähiges Medium mit Debian GNU/Linux stable (CD-ROM oder USB Stick) erstellen. Um Verwechslungen vorzubeugen: An dieser Stelle verwenden wir noch nicht Debian Edu / Skolelinux, das kommt erst bei der Installation der virtuellen Maschinen zum Einsatz.

  • Vom erstellten Medium den Virtualisierungs-Server booten.
  • Die folgende Antworten in den angezeigten Menüs auswählen: Install, German, Deutschland und Deutsch

  • Die Netzwerkschnittstelle mit Zugang zum Internet angeben (in Klammern markiert durch die Bezeichnung Copper). Der Server sollte so verkabelt sein, dass eth1 für das Backbone-Netzwerk genutzt wird.

Rechnernamen und erste Benutzer anlegen

  • Rechnername: virt-man-01 (weitere Virtualisierungs-Server werden durchnummeriert: virt-man-02, virt-man-03, etc.)

  • domain: backbone

  • Passwort für den Benutzer: root eintragen. Wichtig!!! Passwort notieren!!!

  • Vor- und Zuname für neuen/ersten Benutzer: Local Administrator

  • Benutzername für lokalen Administrator: locadm

  • Passwort für den lokalen Administrator eintragen und bestätigen. WICHTIG!!! Passwort notieren!!!

  • Im nachfolgenden Dialog des Debian Installers werden die Festplatten partitioniert.
    • Partitionierungs-Methode: manuell
    • root-Dateisystem: 40Gb, als Software RAID-1 (/dev/md0) konfigurieren
    • Swap-Space: Arbeitsspeicher +2Gb auf alle Platten/SSDs/NVMes gleichmäßig verteilen
    • Raid-Device (/dev/md0) als ext4-Dateisystem formatieren, Einhängepunkt: ,,/"
  • Software-Installationsprofil (tasksel): minimale Installation, zusätzlich SSH-Server auswählen

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 (via Rescue-System von der Debian-Installer CD/DVD gestartet).

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.

    locadm@virt-man-01:~# 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:

    locadm@virt-man-01:~# newgrp sudo
  5. Nachinstallation von Software:

    locadm@virt-man-01:~# sudo apt-get install mc vim
  6. Server Neustart durchführen
  7. Nach der Installation vim als Editor in den Debian "Alternatives" festlegen.

    locadm@virt-man-01:~# 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
    • Optionen-Dialog schließen, nochmal F9: Optionen -> Einstellungen speichern

    • 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:

locadm@virt-man-01:~# sudo editor /etc/apt/sources.list.d/itzks.list

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

locadm@virt-man-01:~# sudo apt-get --allow-insecure-repositories update && apt-get install itzks-keyring && apt-get update

Aus diesen Quellen werden die folgenden Pakete installiert:

locadm@virt-man-01:~# sudo apt-get install itzks-systems-common
locadm@virt-man-01:~# sudo itzks-systems.do_preseed
locadm@virt-man-01:~# sudo apt-get update
locadm@virt-man-01:~# sudo apt-get purge avahi-daemon
locadm@virt-man-01:~# sudo apt-get install itzks-systems-virtman (postfix nur lokal, emails an locadm)

Installation von X2Go

Nach Installation des Pakets x2goserver und einer schlanken Desktop-Umgebung (z.Bsp. LXDE, XFCE) kann der Virtualisierungsserver grafisch über X2Go (unter dem Nutzerkonto locaadm erreicht und "bedient" werden:

root@virt-man-01:~# apt-get install x2goserver
root@virt-man-01:~# apt-get install lxde

Grund für die Nutzung von X2Go, insbesondere in Zusammenhang mit virt-manager: Die Bedienung der virtuellen Maschinen via virt-manager ist innerhalb einer X2Go-Sitzung viel performanter als die Ansteuerung der VMs mittels eines lokalen Virt-Managers und der Verbindungsweise ssh+qemu.

Einrichtung einer USV

Unter Verwendung des APC UPS Daemons

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

Unter Verwendung des hardware-übergreifend nutzbaren 'Network UPS Tools'

/!\ FIXME: Dokumentation noch ausstehend!

IT-Zukunft Schule: Technik/Installation/VirtServer/BasisBullseye (zuletzt geändert am 2022-01-06 15:50:28 durch MikeGabriel)