OSDC 2014: Der Countdown läuft – nur noch 71 Tage

Philipp Reisner gibt uns heute einen Überblick über die neusten News bei DRBD9.

OSDC? Noch nie gehört…
Das ist aber schade und fast schon ein unentschuldbares Versäumnis!
Aber wir holen das nach:
Die Open Source Data Center Conference (kurz OSDC) ist unsere internationale Konferenz zum Thema Open Source Software in Rechenzentren und großen IT-Umgebungen. 2014 findet sie zum sechsten Mal statt und bietet mit dem Schwerpunktthema Agile Infrastructures ganz besonders erfahrenen Administratoren und Architekten ein Forum zum Austausch und die Gelegenheit zur Aneignung des aktuellsten Know-Hows für die tägliche Praxis. Diesmal treffen wir uns dafür in Berlin!
Workshops am Vortag der Konferenz und das im Anschluss an die Veranstaltung stattfindende Puppet Camp komplettieren dabei das Rundum-sorglos-Paket für Teilnehmer, die gar nicht genug Wissen in sich aufsaugen können.

Schulung Clusterbau mit Pacemaker

images
Ich bin dabei eine neue Schulung vorzubereiten, Clusterbau mit Pacemaker. Die Schulung wird einen Umfang von zwei oder drei Tagen haben. Sie ist soweit fertig und bietet im groben, folgende Gliederung:

  • Grundlagen
  • Installation
  • Aufbau eines Active/Passive-Clusters
  • Hinzufügen weiterer Services
  • Active/Active Cluster
  • Storage-Replikation mit DRBD
  • Fencing

Die bisher berücksichtigten Dienste sind neben einer IP-Adresse, der Apache-Webserver, MySQL und DRBD. Natürlich existiert auch schon ein Abschnitt über Icinga, ob der es allerdings in die Endfassung schafft steht noch nicht fest. Für Vorschläge bin ich allerdings offen und hoffe von euch einige per Kommentar zu erhalten.
Auch für den Fall, dass jemandem noch interessante angrenzende Themen zu Pacemaker hat, was beim Clusterbau sonst noch interessant sein könnte, einfach als Kommentar zu diesem Blockpost.

Lennart Betz
Lennart Betz
Senior Consultant

Der diplomierte Mathematiker arbeitet bei NETWAYS im Bereich Consulting und bereichert seine Kunden mit seinem Wissen zu Icinga, Nagios und anderen Open Source Administrationstools. Im Büro erleuchtet Lennart seine Kollegen mit fundierten geschichtlichen Vorträgen die seinesgleichen suchen.

OSDC 2013: der Startschuss ist gefallen.

Noch bevor  die eigentliche Konferenz richtig losgegangen ist , waren einige der Teilnehmer heute schon fleißig und haben einen unserer Puppet-, DRBD- und Hardoop-Workshops besucht. Für Markus und mich hieß das, dass wir gestern Abend schon die entsprechenden Räume vorbereitet haben. Das Ganze mit einer absoluten Bestzeit von etwa zwei Stunden
Heute Morgen konnten wir dann auch gleich die ersten Workshoppler begrüßen und den restlichen Konferenzaufbau nach und nach erledigen – diesmal unter erschwerten Bedingungen, da unsere Hostess, die für die Begrüßung der eincheckenden Konferenzbesucher vorgesehen war, ausgefallen ist und wir uns für diese Aufgabe abwechseln mussten. Wenn einer fehlt müssen die anderen beiden eben zwei Sechstel mehr Gas geben und genau das hat diesmal super funktioniert!
Highlight des heutigen Abends war das Abendessen. Diesmal hat uns unser Konferenzhotel mit einem bayerischen Abend überrascht, bei dem wir mit Schäuferle und Bayerisch Crème verwöhnt wurden.

Markus und ich freuen uns jetzt ganz besonders auf die Abendveranstaltung. Diesmal geht’s in die INDABAHN und natürlich wieder zu unserer zauberhaften Jenny. Aber noch viel mehr freue zumindest ich mich darauf, nach den letzten Umbauten und Absprachen für den morgigen Tag, in die heimische Koje zu fallen. 🙂

Weekly Snap: Puppet Camp Program, PHP & DRDB

weekly snap25 – 29 March was packed with events and the odd tool or two for sys admins and web devs.
Markus announced the programme for Puppet Camp 2013 on 19 April, while Bernd shared his impressions of the FLOSS UK 2013 conference in Newcastle.
Continuing on events, Eva counted 23 days to the OSDC with Andreas Schmidt’s presentation on implementing the Marionette Collective.
Philipp then introduced two new features in DRBD for high availability clustering, and Marius gave us his thoughts on the latest PHP standards from PSR-0 to PSR-3.

DRBD 9 – NEW Features

drbd_logo_smallDRBD 9 wird eigentlich ja mit zwei neuen Features assoziiert – mehr als zwei Knoten in einer Ebene (ohne Stacking), und “auto-promote” (“Primary”-Rolle beim Öffnen, wenn sonst kein Knoten darauf arbeitet). Diese Kombination eröffnet nun eine große Menge an neuen Anwendungsgebieten – die so vorneweg einmal gar nicht so offensichtlich sind.
Beispiel 1: Rebalancing
Wenn man einen bestehenden Storage-Cluster mit z.B. 3 Knoten hat, diese alle Daten 3-fach halten, und der Platz eng wird, kann man 3 neue Maschinen anschaffen. Oder: es wird nur ein Knoten hinzugefügt; bei bestehenden DRBD-Resourcen wird die Redundanz kurzfristig erhöht, um die Daten auf dem neuen Knoten ebenfalls zu erhalten, dann kann die Datenhaltung wieder auf 3-fach reduziert werden – mit dem Ergebnis, dass auf den “alten” Knoten Platz freigeworden ist, in dem man neue DRBD-Resourcen anlegen kann.
Also anstatt von N auf 2*N aufrüsten zu müssen, reicht einmal N+1. Und wenn im Zuge mehrerer Upgrades dann doch einmal 2*N Knoten herumstehen, können die Resourcen (falls notwendig) im Betrieb so verschoben werden, dass sich zwei unabhängige Cluster mit jeweils N Knoten ergeben – und das Upgrade-Spiel kann von neuem beginnen.
Beispiel 2: DRBD Client
Bei DRBD 8 war ja der Ausfall des Storage am Primary-Knoten schon ein erlaubter Zustand – alle IO-Operationen wurden dann eben nur noch über den Secondary durchgeführt. Diese Funktion kann mit DRBD 9 nun per Design verwendet werden: ein Rechner, der auf DRBD-Resourcen zugreift, ohne selber lokales Storage dafür zu verwenden, ist ein DRBD Client.
Die Palette an Anwendungen dafür ist enorm:

  • Ein Cluster kann einfach um weitere Knoten erweitert werden, ohne notwendigerweise die Redundanz (und damit den Platzverbrauch) zu erhöhen. Alle Maschinen können auf dieselben Daten zugreifen, unabhängig davon, ob die Daten lokal liegen oder “nur” über andere Knoten zur Verfügung gestellt werden.
  • Ein paar Storage-Knoten im Hintergrund, die Frontend-Maschinen die Daten für VMs liefern. Die Vorteile dabei sind: auf den Storage-Knoten ist nur DRBD notwendig, kein Cluster-Manager, kein iSCSI, etc.; und, durch das seit 8.4.1 verfügbare read-balancing kann die IO-Last auf den Storages einfach aufgeteilt werden.
  • Für Zwecke der Konfigurationsverwaltung kann es sinnvoll sein, das komplette /etc in einem VCS aufzubewahren [siehe z.B. etckeeper, fsvs, git-home-history, etc.]. Wenn das Repository dabei über Automounter über alle Rechner des Clusters “geteilt” werden kann, ist Integration/Nachverfolgen/Fehlersuche wesentlich komfortabler.

Weitere Ideen? Bitte diese bei LINBIT bspw. im Kontaktformular einbringen, damit wir diese in unserer zukünftigen “DRBD 9 Features”-Reihe anfügen können.
Wer mehr zur DRBD erfahren möchte, dem sei der DRBD-Workshop im Rahmen der kommenden OSDC ans Herz gelegt.

KVM-Cluster: Hochverfügbarkeit und zuverlässiges Locking

Im Internet, in Büchern und einer Reihe von Fachartikeln findet sich umfangreiche Unterstützung für das Einrichten unterschiedlichster hochverfügbarer Linux-Cluster. Zur Zeit hoch im Kurs ist die Clusterlösung Pacemaker in Kombination mit Corosync/OpenAIS. Als Virtualisierungslösung mausert sich KVM (neben LXC) zum Produkt der Wahl. Und beides zusammen ergibt einen richtig schönen Cluster mit VMs, die “nach Belieben” von einem Rechner zum anderen wandern können. Oder auf Neudeutsch: eine “Private Cloud”.
Soweit nichts Neues, allerdings sind die meisten der vorgestellten Lösungen, die sich so finden, höchst riskant. Wer nämlich auf die Live-Migration nicht verzichten will, muss auf “Shared Storage” zurückgreifen. Dabei hat man die Wahl zwischen einer Lösung wie NFS (was man für VMs nicht unbedingt haben möchte), oder aber einem gemeinsamen Blockdevice (SAN, DRBD, iSCSI) mit einem Cluster-Filesystem wie GFS2 oder OCFS2. Bei vielen Knoten bieten sich Lustre, GlusterFS oder für wagemutige auch Ceph an – diese Lösungen lassen wir jetzt aber mal außen vor.

Soweit, so gut. Aber: QEMU/KVM betreibt keinerlei Locking für seine Disk Images. Das bedeutet, dass man sehr leicht versehentlich dasselbe Image zweimal gleichzeitig booten kann. So etwas hat katastrophale Auswirkungen, das Filesystem der VM wird schneller als einem lieb ist korrupt und ist zudem sehr bald kaum noch wiederherstellbar. Zwar kann man eine VM mit libvirt nicht zweimal gleichzeitig starten, wohl aber z.B. beim Clonen einer VM versehentlich dasselbe Image im XML-File stehen lassen. Genauso “tödlich” ist es, wenn in einem Cluster dieselbe VM auf zwei unterschiedlichen Knoten startet. Und spätestens in einer Split-Brain-Situation wird das früher oder später passieren.
Kürzlich konnte ich bei einem Kunden eine interessante Lösung hierfür implementieren. Libvirt bietet nämlich mittlerweile eine Schnittstelle für Lock-Manager an, und “sanlock” ist ein solcher. Damit gelang es nicht nur, auf einem GFS2 in Kombination mit mit einem Dual-Primary DRBD ein funktionierendes Locking für die VM-Images umzusetzen, sondern sogar in Kombination mit cLVM und GFS2-basiertem Sanlock auf dem DRBD sitzende einzelne Logical Volumes als virtuelle Disks den einzelnen VMs zuzuweisen.
Mit dem üblichen Minimal-Tuning für GFS2 bedeutete dies für die LVM-basierten VMs verglichen mit dem was wir in den GFS2-basierten messen konnten immer noch fast doppelten Durchsatz bei sequentiellem Schreiben und ein Fünftel der Latenzzeit!

Thomas Gelf
Thomas Gelf
Principal Consultant

Der gebürtige Südtiroler Tom arbeitet als Principal Consultant für Systems Management bei NETWAYS und ist in der Regel immer auf Achse: Entweder vor Ort bei Kunden, als Trainer in unseren Schulungen oder privat beim Skifahren in seiner Heimatstadt Bozen. Neben Icinga und Nagios beschäftigt sich Tom vor allem mit Puppet.

Spiegeln unter dem roten Hut

In vielen unserer Umgebungen nutzen wir DRBD zur Spiegelung der Festplatten über zwei Server hinweg. So lassen sich Hochverfügbarkeitskonzepte auch ohne den Einsatz einer shared Storage aufbauen.
DRBD wird bei vielen Distributionen schon im Standart Package Repository mitgeliefert. Die Ausnahme der Regel machen hier die “Kommerziellen”.
Bei SuSE Linux Enterprise Server muss dafür die HA Extension gekauft werden. Bei RedHat ist es leider nicht in der Cluster Suite enthalten. Abhilfe schafft hier das CentOS Extra Repository.

rpm --import http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
yum install drbd83 kmod-drbd83

Das ganz klappt bis RHEL 5.6 wunderbar, ab Version 6 stehen leider derzeit noch keine RPM Pakete zur Verfügung.
Kein Problem, kompilieren wir uns das ganz doch einfach selbst und weil wir nicht auf den Kopf gefallen sind bauen wir auch direkt RPM Pakete daraus um uns den Schritt für den zweiten Node zu ersparen.
Fangen wir mit den Vorbereitungen für unser DBRD Menü an:
Zutaten bereitlegen

yum install kernel-devel rpm-build gcc bison flex
wget http://oss.linbit.com/drbd/8.3/drbd-8.3.10.tar.gz
tar xzvf drbd-8.3.10
cd drbd-83.10
cp /boot/config-`uname -r` .config

Zutaten verrühren

./configure --with-km --with-utils
make
cd drbd
make clean all

In den Backofen schieben
Als erstes erstellen wir die DRBD Pakete (DRBD, DRBD Utils, DRBD Hearbeat- und Pacemakerskripte, DRDB-Xen etc.) und anschließend das Paket was uns DRBD als Kernel Modul lädt.

make rpm
make km-pm

Verzehr

cd /root/rpmbuild/RPMS/x86_64 (oder i368)
rpm -ivh drbd-*.rpm

Zum Abschluß können die erstellten DRBD RPM Pakete auf den zweiten Node kopiert und installiert werden.

CeBIT Live 2009 – Auch am 4. Tag gute Besucherzahlen

Erfahrungsgemäß lässt am vierten Tag der CeBIT 2009 der Andrang am Stand bereits merklich nach. Überraschender und erfreulicherweise war das bei uns heute nicht der Fall, wir hatten den ganze Vormittag über gut zu tun und konnten viele neue Kontakte knüpfen. Gerade ist Florian Haas von LINBIT bei uns am Stand, der auch als Referent auf der “Open Source Data Center Conference” zum Thema “Virtual consolidated HA: Virtualization with KVM, Pacemaker and DRBD” halten wird, während Michi bei SUN die Stellung hält.

Kurz nach der CeBIT-Halbzeit können wir jetzt schon sagen, das die CeBIT 2009 für uns ein voller Erfolg ist.