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 oder SSDs 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.backbone. Ganeti ist aber so eingerichtet, dass theoretisch jeder andere Knoten (in Ganeti heißen Virtualisierungs-Server "Knoten" oder "Node") Master-Status erlangen kann. Der Master bekommt den host-Namen ganeti-cluster.backbone.

Vorbereitungen

Anpassen von /etc/hosts:

Ganeti Pakete installieren

Um Ganeti für den Debian Edu / Skolelinux Kontext aufzusetzen, müssen die Pakete ganeti und ganeti-os-noop installiert sein:

$ sudo apt-get install ganeti ganeti-os-noop

Ganeti Cluster initialisieren

$ sudo gnt-cluster init \
  --master-netdev br1 \
  --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 Virtualisierungs-Server kopiert werden muss.

Nun können die anderen Virtualisierungs-Server dem Cluster hinzugefügt werden:

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

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

$ sudo gnt-network add --network=10.0.0.0/8 --gateway=10.0.0.1 DebianEdu
$ sudo 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 bereit.

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

Für die von Ganeti verwalteten VMs müssen Standardparameter, (großzügige) Ober- und Untergrenzen festgelegt werden:

$ sudo gnt-cluster modify --ipolicy-std-specs cpu-count=2,disk-count=1,disk-size=10240M,memory-size=2048M,nic-count=1,spindle-use=1 \
                          --ipolicy-bounds-specs min:cpu-count=1,disk-count=1,disk-size=1024M,memory-size=128M,nic-count=1,spindle-use=1/max:cpu-count=32,disk-count=16,disk-size=4048G,memory-size=32768M,nic-count=8,spindle-use=12

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.

IT-Zukunft Schule: Technik/Installation/VirtServer/Ganeti (zuletzt geändert am 2018-06-20 09:53:20 durch MikeGabriel)