8.4.4. Konfigurationsübersicht: KVM-Remote-Knoten

Dieser Abschnitt liefert eine Übersicht über die notwendigen Schritte, um mit Pacemaker eine virtuelle Maschine zu starten und diese als Remote-Knoten zu integrieren, unter Verwendung von libvirt und virtuellen KVM-Gästen.
  1. Nachdem Sie die Virtualisierungssoftware installiert und den libvirtd-Dienst auf den Cluster-Knoten aktiviert haben, platzieren Sie einen authkey mit dem Pfad /etc/pacemaker/authkey auf jedem Cluster-Knoten und auf jeder virtuellen Maschine. Dies sichert die Remote-Kommunikation und die Authentifizierung.
    Der folgende Befehl erstellt einen authkey.
    # dd if=/dev/urandom of=/etc/pacemaker/authkey bs=4096 count=1
  2. Installieren Sie auf jeder virtuellen Maschine die pacemaker_remote-Pakete, starten Sie den pacemaker_remote-Dienst, aktivieren Sie dessen Start beim Systemboot und öffnen Sie den TCP-Port 3121 in der Firewall.
    # yum install pacemaker-remote resource-agents
    # systemctl start pacemaker_remote.service
    # systemctl enable pacemaker_remote.service
    # firewall-cmd --add-port 3121/tcp --permanent
  3. Geben Sie jeder virtuellen Maschine eine statische Netzwerkadresse und einen eindeutigen Hostnamen.
  4. Um den VirtualDomain-Ressourcen-Agent zur Verwaltung der virtuellen Maschine zu erstellen, erfordert Pacemaker, dass ein Auszug der XML-Konfigurationsdatei der virtuellen Maschine in einer Datei auf der Festplatte gespeichert wird. Falls Sie beispielsweise eine virtuelle Maschine namens guest1 erstellt haben, speichern Sie mithilfe des folgenden Befehls das XML in einer Datei auf dem Host ab.
    # virsh dumpxml guest1 > /virtual_machines/guest1.xml
  5. Erstellen Sie die VirtualDomain-Ressource, wobei die Ressourcen-Metaoption remote-note angeben sollte, dass die virtuelle Maschine ein Remote-Knoten fähig zur Ausführung von Ressourcen ist.
    In dem Beispiel unten teilt das Meta-Attribut remote-node=guest1 Pacemaker mit, dass diese Ressource ein Remote-Knoten mit dem Hostnamen guest1 ist, der in den Cluster integriert werden kann. Der Cluster wird versuchen, den Dienst pacemaker_remote der virtuellen Maschine unter dem Hostnamen guest1 zu kontaktieren, nachdem er gestartet wurde.
    # pcs resource create vm-guest1 VirtualDomain hypervisor="qemu:///system" config="vm-guest1.xml" meta remote-node=guest1
  6. Nach Erstellung der VirtualDomain-Ressource können Sie diesen Remote-Knoten wie jeden anderen Knoten im Cluster behandeln. Beispielsweise können Sie eine Ressource erstellen und diese Ressource mit einer Ressourcenbeschränkung belegen, damit diese nur auf dem Remote-Knoten läuft.
    # pcs resource create webserver apache params configfile=/etc/httpd/conf/httpd.conf op monitor interval=30s
    # pcs constraint webserver prefers guest1
    Sobald ein Remote-Knoten in den Cluster integriert wurde, können Sie pcs-Befehle auf dem Remote-Knoten selbst ausführen, ganz so, als liefe Pacemaker auf dem Remote-Knoten.