Ist alles wie beschrieben vorbereitet, initialisieren Sie mit dem folgenden Befehl den Cluster. Sie führen ihn auf einem der Nodes aus, der danach als sogenannter Master Node fungiert.
# gnt-cluster init --nic-parameters link=br0 --enabled-hypervisors=kvm --master-netdev br0 --vg-name=ganeti gcluster
Hierbei wird als verwendeter Hypervisor KVM festgelegt und als Netzwerk-Device die oben eingerichtete Bridge. Der Name für die LVM Volume Group lautet "ganeti". "gcluster" ist der Hostname für den gesamten Cluster, den immer der gerade aktive Master innehat. Er muss sich auf dem Node zu einer IP-Adresse auflösen lassen, entweder per DNS oder über die Hosts-Datei.
Gibt der Cluster-Init-Befehl keine Fehlermeldung aus, hat das Anlegen des Clusters prinzipiell funktioniert. Manchmal funktioniert aber trotzdem noch nicht alles. Mehr Details verrät ein Aufruf von
»gnt-cluster verify
«
(Bild 2).
Damit sich die KVM-Maschinen verwenden lassen, stellen Sie am Cluster noch den passenden Parameter ein:
# gnt-cluster modify --hypervisor-parameters kvm:kernel_path=
Dieser Aufruf demonstriert, wie sich zahlreiche Parameter eines existierenden Clusters zur Laufzeit verändern lassen. Auf die gleiche Weise können Sie auch bestehende LVM-Volumes davon ausnehmen, immer wieder von Ganeti untersucht zu werden. Im Beispiel sind das die Logical Volumes für Root-Dateisystem und Swap der Ubuntu-Installation:
# gnt-cluster modify --reserved-lvs=ubuntu-vg/root,ubuntu-vg/swap_1
Meldet
»gnt-cluster verify
«
keine Fehler mehr, können Sie damit fortfahren, zunächst den zweiten und dann den dritten Node dem Cluster hinzuzufügen:
# gnt-node add node2
# gnt-node add node3
Wenn Sie später den Cluster um weitere Nodes ergänzen möchten, machen Sie das genauso. Wieder überprüfen Sie die Cluster-Konfiguration mit
»gnt-cluster verify
«
. Gibt der Befehl keinen Fehler aus, ist der Ganeti-Cluster einsatzbereit. Die Konfiguration des Clusters listet
»gnt-cluster info
«
auf. Wichtige Parameter im komprimierten Format zeigt
»gnt-cluster show-ispecs-cmd
«
.
Um virtuelle Maschinen zu installieren, greift Ganeti auf die sogenannten OS Definitions zurück, von denen es einige Varianten gibt. "ganeti-instance-debootstrap", die offizielle Implementation des Interfaces, greift auf Debootstrap, das Debian-Installationstool, zurück. Sie lässt sich auf Ubuntu mit
»apt-get install ganeti-instance-debootstrap
«
installieren, auch wenn Ganeti wie beschrieben aus dem Quellcode compiliert ist. Das Projekt "ganeti-os-defs" bietet dagegen OS-Definitionen für vollvirtualisierte Linux- und Windows-Systeme, genauso wie das "snf-image"-Paket aus dem Synnefo-Projekt [2], das Debian, Ubuntu/Kubuntu, CentOS, Fedora, OpenSUSE, Windows 2008 R2, Windows 2012, FreeBSD, NetBSD und OpenBSD unterstützt. Schließlich gibt es noch "ganeti-instance-image", das mit VM-Images arbeiten kann, was gegenüber der skriptbasierten Installation eines Systems erheblich Zeit spart.