Pacemaker, Libvirt und KVM

© kbuntu, 123RF

Eigene Clouds

Virtualisierung ist ein integraler Bestandteil der Cloud – Pacemaker verhilft zur eigenen Privatwolke dank Libvirt-Integration
Egal, um welchen Dienst es sich dreht, den Benutzern geht es immer zu langsam. Der Schwerpunkt des ADMIN-Magazins 05/2011 verrät, mit welchen Tools man ... (mehr)

Kaum ein anderes Thema dominiert die IT-Landschaft augenblicklich so stark wie Cloud Computing. Amazon & Co. haben es vorgemacht: Rechenleistung für verschiedene Aufgaben schnell und unkompliziert zur Verfügung zu haben, ist gerade für viele mittelständische Unternehmen sehr reizvoll. Und sogar die ganz großen Unternehmen verlagern ihre Prozesse in die Wolke.

Dabei verbinden sich mit Begriff Cloud durchaus verschiedene Dinge – gemein ist allen Definitionen, dass auf irgendeine Weise schnell und ohne große Umschweife Rechenleistung zur Verfügung gestellt werden kann.

Virtualisierung ist einer der Grundpfeiler von Cloud Computing. Es gibt wenig, was leichter ist, als eine neue virtuelle Maschine zu erstellen und sie einem Kunden zu überantworten. Das Framework im Kernel, sei es im Fall von Linux Xen oder KVM, kümmert sich um alles und sorgt dafür, dass die Benutzer tatsächlich nur ihren Bereich der Wolke sehen.

Thema Hochverfügbarkeit

Wenn sich ein Unternehmen dafür entscheidet, die Cloud zu verwenden, so gibt es damit einen großen Teil der Kontrolle über dieses System in fremde Hände. Als Cloud-Kunde nutzt man Dienste und vertraut darauf, dass der eigene Cloud-Anbieter sich um die technischen Begebenheiten im Hintergrund kümmert. Daraus ergeben sich für Cloud-Provider einige Probleme – wie ist beispielsweise mit fehlerhafter Hardware umzugehen? Kunden werden sich kaum begeistert zeigen, wenn ihre Cloud-Dienste nicht zur Verfügung stehen, weil ein Server den Geist aufgegeben hat. Und genau deshalb ist der Cloud-Anbieter auf Hochverfügbarkeit angewiesen – die verschiedenen HA-Ansätze sind wichtige Faktoren bei Cloud-Setups. Die Komponenten des Linux Cluster Stacks kommen da wie gerufen: Bereits aus zwei Servern ist mit Pacemaker und unter Einsatz der Libvirt eine Cloud möglich, die mit den größten Widrigkeiten zurechtkommt. Dieser Artikel widmet sich der Frage, wie aus zwei Servern mit Pacemaker und Libvirt eine private Mini-Cloud mit verschiedenen Erweiterungsmöglichkeiten wird.

Libvirt als Segen

Die bisherigen Teile des Pacemaker-Workshops haben deutlich gemacht, dass Pacemaker im Grunde jede Applikation verwalten kann, solange die Möglichkeit für Pacemaker besteht, mit dieser Applikation zu kommunizieren. Auch eine virtuelle Maschine auf einem System ist letztlich nichts anderes als eine ganz normale Applikation – doch wäre es kaum hilfreich, müsste Pacemaker auf einem System tatsächlich selbst Qemu mit allen Konfigurationseigenschaften selbst aufrufen, um virtuelle Maschinen lauffähig zu machen. Wer schon mal eine Qemu-Kommandozeile gesehen hat, weiß, dass diese schnell mehrere Zeilen lang werden und eher kryptisch aussehen kann.

Das ist aber glücklicherweise gar nicht nötig. Denn auf Linux-Systemen steht ein Framework zur Verfügung, das die Verwaltung virtueller Maschinen sehr angenehm gestaltet – ganz gleich, ob der Einsatzzweck Pacemaker ist oder der Betrieb als einzelner Server vonstatten gehen soll, der ein paar virtuelle Maschinen hostet. Die Rede ist von Libvirt.

Libvirt wirbt für sich selbst damit, dass es mit den meisten verfügbaren Hypervisor-Implementierungen für Linux gut zurechtkommt – darunter mit den Platzhirschen KVM und Xen, aber auch mit weniger verbreiteten Lösungen wie OpenVZ, User Mode Linux oder VirtualBox. Sogar mit den VMWare-Hypervisors von VMWare ESX/GSX und VMWare Workstation kommt das Libvirt-Framework klar.

Der Vorteil, der sich für Admins aus der Benutzung von Libvirt ergibt, liegt auf der Hand: Einerseits erhalten Admins ein generisches Interface, das ihnen die Pflege verschiedener virtueller Maschinen auf einem System ermöglicht. Die Konfigurationsdateien, die Libvirt verwendet, kommen im XML-Format daher. Die Syntax ist damit für jede Maschine die gleiche und das Anlegen einer neuen virtuellen Maschine geht einfach von der Hand. Selbst zwischen unterschiedlichen Hypervisor-Typen ergeben sich nur sehr kleine Unterschiede hinsichtlich der Libvirt-XML-Konfigurationsdateien. Die Administration von virtuellen Maschinen für den Admin funktioniert immer gleich. Wenn Libvirt zum Einsatz kommt, stoppt ein Admin auf einem System Xen-VMs mit den gleichen Befehlen, mit denen er auf anderen Systemen etwa KVM-VMs stoppen würde. Last but not least bietet die Libvirt einen überaus wichtigen Vorteil: Für sie existiert eine vollständige und funktionierende Integration in den Pacemaker Cluster-Manager. Die Komponenten, die für eine private Mini-Cloud notwendig sind, stehen damit fest: Zwei VT-fähige Server mit entsprechender Anbindung, DRBD, Libvirt und Pacemaker.

comments powered by Disqus

Artikel der Woche

Eigene Registry für Docker-Images

Wer selber Docker-Images herstellt, braucht auch eine eigene Registry. Diese gibt es ebenfalls als Docker-Image, aber nur mit eingeschränkter Funktionalität. Mit einem Auth-Server wird daraus ein brauchbares Repository für Images. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Google+

Ausgabe /2019