Revision 24 vom 2018-06-01 13:25:49

Nachricht löschen

== Installationshinweise: Virtualisierungs-Server unter Ganeti mit KVM==

Ein praktisches Cheat Sheet für die Administration von Ganeti im Terminal ist hier zu finden (externer Link!).

Vorbereitungen

Durchführen der Basisinstallation.

Festplattenpartitionierung (im Detail)

Im allen Virtualisierungs-Servern werden schnelle SAS-Festplatten eingebaut.

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:

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.

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 manual

auto br1
iface br1 inet manual
        bridge_fd 0
        bridge_hello 2
        bridge_maxage 12
        bridge_stop off
        bridge_ports eth1
        address 172.16.0.1
        netmask 255.255.255.0
        broadcast 172.16.0.255
        gateway 172.16.0.253

Nach der Neukonfiguration der Schnittstellen muss das Netzwerk (bzw. zum Testen der korrekten Funktion beim System-Boot: der Server) neu gestartet werden.

Ganeti einrichten

Ganiti unterstützt Virtualisierung verteilt über mehrere Virtualisierungsserver. Einer dieser Virtualisierungsserver muss Master-Status im Ganeti-Cluster haben. Auf unseren Schulsystemen ist dies Standardmäßig der Virt-Man-01. Ganeti ist aber so eingerichtet, das theoretisch jeder andere Knoten (in Ganeti heißen Virtualisierungsserver Knoten) Master-Status erlangen kann. Der Master bekommt den host-Namen ganeti-cluster.intern.

Vorbereitungen

Anpassen von /etc/hosts:

Ganeti Cluster initializieren

$ gnt-cluster init \
  --master-netdev eth1 \
  --vg-name ganeti_vg \
  --enabled-hypervisors kvm \
  --nic-parameters link=br0 \
  --hypervisor-parameters kvm:initrd_path=,kernel_path= \
  --enabled-disk-templates=plain
  ganeti-cluster.backbone

Ganeti erzeugt eine ssh-key-pair in /root/.ssh und hinterlegt dessen public-key in /root/.ssh/.authorized_key, welche auf die anderen Virtualisierungsserver kopiert werden muss.

Nun können die anderen Virtualisierungsserver den Cluster hinzugefügt werden:

$ gnt-node add virt-man-<xx>

Für die Virtuellen Maschinen des DebianEdu-Netzwerkes stellen wir innerhalb von Ganeti ein Netzwerk bereit:

$ gnt-network add --network=10.0.0.0/16 --gateway=10.0.0.1 DebianEdu
$ gnt-network connect -N mode=bridged,link=br0 DebianEdu

Um die GanetiMgr Instanz (Webfrontend für Ganeti) stellen wir auch das Backbone-Netzwerk innerhalb von Ganeti bereicht.

$ gnt-network add --network=172.16.0.0/24 --gateway=172.16.0.253 Backbone
$ gnt-network connect -N mode=bridged,link=br1 Backbone

Installation von Tjener vorbereiten

Nun kann mit der Installation des Hauptservers fortgefahren werden.

Installation von GanetiMgr

Das Web Management Tool GanetiMgr kann bei der Fa. DAS-NETZWERKTEAM beauftragt werden. Die Installation ist so spezifisch und zeitlichen Änderungen unterworfen, dass eine öffentlich Dokumentation meist immer veraltet oder ungenau ist.