Installationshinweise: Virtualisierungs-Server
Inhaltsverzeichnis
Die Kerninfrastruktur im Projekt IT Zukunft-Schule™ besteht aus mindestens einem zentralen Server, auf dem die Infrastrukturverwaltung und -steuerung des Schulnetzwerks installiert wird. Auf diesem zentralen Server kommt Virtualisierung zum Einsatz.
Bevor also mit der Installation der Server-Kompenenten für das Pädagogische Schulnetz begonnen werden kann, muss als erste Ebene die Software für Server-Virtualisierung auf dem zentralen Server installiert werden. In der Virtualisierungsumgebung werden dann die Komponenten des Debian Edu / Skolelinux Netzwerks installiert.
Für große Schulen kommen mehrere Virtualisierungs-Server zum Einsatz und die Dienste des Debian Edu / Skolelinux Netzwerks werden dann auf mehrere physikalische Maschinen verteilt.
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 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.
Festplattenpartitionierung (im Detail)
Im ersten/zentralen Virtualisierungs-Server werden schnelle SAS-Festplatten (geringe Kapazität, schneller Zugriff, teuer) und langsamere SATA-Festplatten (größere Kapazität, langsamerer Zugriff als bei SAS-Platten, kostengünstiger) eingebaut.
- Die schnellen SAS-Festplatten werden für die Benutzerverzeichnisse von Lehrer/innen und Schüler/innen und für die Ablage der Boot-Images der Diskless-Workstations verwendet.
- Auf den nicht ganz so performanten SATA-Festplatten liegen die Betriebssysteme der Server sowie Daten deren Zugriff nicht geschwindigkeitskritisch ist.
Die Einteilung der Festplatten fällt von Schule zu Schule unterschiedlich aus. Sie ist abhängig von der Zahl und Größe der Festplatten, sowie der Größe des eingebauten Arbeitsspeichers.
Beispiel:
- Jeder Virtualisierungs-Server enthält eine gerade Anzahl von Festplatten, für Festplatten-Spiegelung wird in den meisten Fällen der RAID-Level-1 verwendet
- RAID-Systemen werden stets mit der Software-Lösung im Linux-Kernel realisiert (sog. /dev/md-Devices)
- SATA-Festplatte 1 und 2 werden 20 GByte als Raid (Level 1, Plattenspiegelung) für Betriebssystem des Virtualisierungs-Server reserviert
- Swap-Partitionen: Größe des Arbeitsspeichers plus 2GByte auf alle schnellen SAS-Festplatten verteilt
Raid-Basis für LVM Volumes: jeweils zwei gleichgroße Partitionen auf baugleichen Festplatten zu RAID-Devices vom Level-1 zusammenfügen
$ mdadm --create /dev/md1 -l1 -n2 /dev/sda2 /dev/sdb2 $ mdadm --create /dev/md2 -l1 -n2 /dev/sdc2 /dev/sdd2 # weitere RAID-1 Devices einrichten... $ [...] # alle RAID-1 Devices nach Neustart verfügbar machen... $ /usr/share/mdadm/mkconf > /etc/mdadm/mdadm.conf $ dpkg-reconfigure mdadm
- LVM Volume Groups anlegen:
Volume Group vm-slow-vg beinhaltet alle Level-1 RAIDs der langsameren Festplatten (SATA)
Volume Group vm-fast-vg beinhaltet alle Level-1 RAIDs der schnellen Festplatten (SAS)
$ pvcreate /dev/md1 $ pvcreate /dev/md2 $ [...] # alle RAID-1 Devices der SATA-Festplatten zu einer Volume Group zusammenführen $ vgcreate vm-slow-vg /dev/md<A1> /dev/md<A2> [...] # alle RAID-1 Devices der SAS-Festplatten zu einer Volume Group zusammenführen $ vgcreate vm-fast-vg /dev/md<B1> /dev/md<B2> [...]
- LVM Volumes anlegen:
Logical Volumes für virtuelle Maschinen anlegen. Namenskonvention für LVs: <host-fqdn>_sd{a,b,c,d,...}
$ lvcreate vm-slow-vg -n tjener.intern_sda -L 400G $ lvcreate vm-fast-vg -n tjener.intern_sdb -L 400G $ lvcreate vm-slow-vg -n disklserver.intern_sda -L 40G $ lvcreate vm-fast-vg -n disklserver.intern_sdb -L 80G
FixMe: LTSP-Server ergänzen?
Netzwerk einrichten
Bislang wurde für die beschriebenen Installationsschritte eine vom DHCP-Server des Internet/DSL-Routers vergebene IP-Adresse für den zu installierenden Virtualisierungs-Server verwendet. Im nächsten Schritt wird nun eine feste IP-Adresse für die Backbone-Netzwerkschnittstelle festgelegt und auch die Schnittstelle für das Pädagogische Netzwerk (Debian Edu / Skolelinux Netzwerk) vorbereitet.
Der zentrale Virtualisierungs-Server besitzt typischerweise zwei Netzwerkschnittstellen.
Die erste Schnittstelle ist für das Backbone-Netz (172.16.0.0/24 vorgesehen.
Die zweite Schnittstelle stellt das Subnetz für die Schulinfrastruktur bereit (10.0.0.0/8). Diese Schnittstelle wird über eine Netzwerk-Bridge an die virtuellen Maschinen übergeben.
Beispiel: (Datei: /etc/network/interfaces auf virt-man-01)
auto lo iface lo inet loopback auto eth0 iface eth0 inet manual auto br0 iface br0 inet manual bridge_fd 0 bridge_hello 2 bridge_maxage 12 bridge_stop off bridge_ports eth0 # backbone interface auto eth1 iface eth1 inet static address 172.16.0.1 netmask 255.255.255.0 broadcast 172.16.0.255 gateway 172.16.0.253
Nach der Neukonfiguration die Schnittstellen muss das Netzwerk (bzw. zum Testen der korrekten Funktion beim System-Boot: der Server) neu gestartet werden.
Virtuelle Maschinen einrichten
Das Programm Virtual Machine Manager dient der Verwaltung und Steuerung der virtuellen Maschinen. In ihm werden die virtuellen Festplatten konfiguriert, und Arbeitsspeicher sowie Prozessorkerne den virtuellen Maschinen zugeteilt.
Den User locadm der Gruppe libvirt hinzufügen.
$ sudo adduser locadm libvirt
Grafisch am Virtualisierungs-Server als locadm anmelden.
- Den "Virtual Machine Manager" starten.
Mit der rechten Maustaste localhost auswählen, dann Details auswählen. Mit Speicher hinzufügen folgende virtuelle Festplatten anlegen:
- vm-fast-vg (LVM Volume Group, s.o.)
- vm-slow-vg (LVM Volume Group, s.o.)
In Virtual Machine Manager können jetzt virtuelle Maschinen angelegt werden (genaue Beschreibung auf den Seiten, die die einzelnen VMs beschreiben).