Basis-Installation Virtualisierungs-Server (Debian stretch)
Inhaltsverzeichnis
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: 20Gb, als Software RAID-1 (/dev/md0) konfigurieren
- Swap-Space: Arbeitsspeicher +2Gb auf alle schnellen Platten gleichmäßig verteilen
- optional: Arbeitsspeicher +2Gb auf die zwei langsamen Platten 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.
Grundeinrichtung
Nachdem die Grundinstallation abgeschlossen ist als locadm einloggen.
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"
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
Den Benutzer locadm seine sudo-Rechte wahrnehmen lassen:
$ newgrp sudo
Nachinstallation von Software:
$ sudo apt-get install mc vim
- Server Neustart durchführen
Nach der Installation vim als Editor in den Debian "Alternatives" festlegen.
sudo update-alternatives --config editor
Das Programm Midnight Commander starten (Kommando: mc):
- F9 drücken
Optionen -> Konfiguration: [x] Internen Editor benutzen
Optionen -> Einstellungen speichern
- F10: Midnight Commander beenden
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
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
Pakete installieren: x2goserver und x2golxdebindings
$ sudo apt-get install x2goserver x2golxdebindings
Einrichtung einer USV
Auf virt-man-01 (USV_MASTER):
- ssh-keygen als root
/root/.ssh/id_rsa.pub -> /root/.ssh/authorized_keys auf backup-01
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
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
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
- zuletzt: invoke-rc.d apcupsd restart
Einrichtung der Virtualisierungs-Software
Dieser Vorgang wird separat beschrieben: