Datenreplikation mittels ausfallsicherer Speicherlösungen: OCFS2 / DRBD im Performance-Vergleich >> (Teil 1 von 3)

Datenreplikation ist eines der Stichworte der Stunde. Daten sicher, effektiv und möglichst redundant zu speichern wird zuletzt angesichts gestiegener Anforderungen von gesetzlichen Vorschriften wie der DSGVO deutlich. Somit ist es spannend, intelligente Anwendungsszenarien für Speicherlösungen auf Basis der zu 100% in Deutschland gehosteten ProfitBricks IaaS Cloud-Plattform zu beleuchten. In diesem mehrteiligen Artikel möchte ich daher einen Überblick über die Funktionsweise des sog. DRBD (Distributed Replicated Block Device) im Zusammenspiel mit HDD und SSD Storage geben, sowie dessen Einsatz als hochverfügbare Storage-Lösung für einen Oracle Real Application Cluster (RAC) als einen besonders praktischen Anwendungsfall von DRBD hervorheben.

Im Rahmen dieser Artikelserie werden keine Details zu Oracle RAC bzw. dessen Applikation erörtert. Vielmehr liegt der Fokus auf darunter liegenden Technologien, wie dem Dateisystem OCFS2 (Oracle Cluster File System), dem Cluster Stack o2cb und eben DRBD als Lösung zur Datenreplikation auf Block Level sowie Best Cases aus der Praxis, um eben dieses hochverfügbare System in der ProfitBricks Cloud sinnvoll betreiben zu können.

Um eine grundsätzliche Abschätzung der Performance zu erhalten, ergaben Benchmark-Tests in unterschiedlicher Konfiguration auf verschiedenen virtuellen Servern in der ProfitBricks Cloud ein gutes Bild. Die Ergebnisse der Benchmarks werden hier ebenfalls zusammengefasst.

DRBD im Überblick

Unter DRBD verbirgt sich eine frei erhältliche, Kernel-basierte Software für Netzwerkspeicher unter Linux. Grob gesagt ermöglicht es DRBD, Daten und Anwendungen eines Produktivservers realtime auf einen sekundären Server zu spiegeln, um hochverfügbare Dienste zu schaffen. DRBD ist damit äquivalent zu einem Netzwerk-RAID-1 System auf Block-Level . Im Endeffekt kann mit DRBD also kostengünstig ein Shared Storage realisiert werden.

Typisch für DRBD ist eine Replikation über mehrere Netzwerkprotokolle und in (derzeit) drei Modi – von synchroner Replikation für lokale HA-Cluster, bis hin zu asynchroner Replikation, um Daten z.B. an einen Disaster Recovery-Standort zu übertragen.

Die Replikation an sich  geschieht dabei auf Block-Device Ebene; das heisst, DRBD stellt sicher, dass zwei Festplatten oder Partitionen auf unterschiedlichen Systemen auch den gleichen Inhalt haben. Für das darüber liegende Betriebssystem steht nach wie vor eine ganze normale Festplatte zur Verfügung, die mit einem beliebigen Dateisystem formatiert werden kann. Es funktioniert also ähnlich gut mit XFS, ext3, ext4, BTRFS, OCFS2 oder anderen Linux Dateisystemen.

Oracle Oracle Real Application Clusters (RAC) auf DRBD

Oracles RAC ermöglicht als Erweitung des hauseigenen Datenbankmanagements erhöhte Ausfallsicherheit. Dazu greifen mehrere Knoten eines Server-Clusters auf ein- und dieselbe Datenbank zu und stellen für Client-Rechner Datenbankdienste zur Verfügung. Fällt einer dieser Knoten aus, so übernehmen die anderen dessen Rolle. Zum Betrieb eines solchen Oracle RAC wird unbedingt ein geteilter Storage benötigt, auf dem die Daten angeschlossener Datenbank-Server gespeichert werden. Setzt man nun DRBD direkt auf den Datenbank Servern ein, kann dies kostengünstig, hoch-performant und ausfallsicher realisiert werden – auch bei Funktionsstörung des Datenbank-Servers.

Oracle unterstützt DRBD von Haus aus, bietet Anleitungen und Tools dazu und empfiehlt zusätzlich das Dateisystem OCFS2 (Oracle Cluster File System) inklusive o2cb als Cluster-Stack.

Datenreplikation: Die Architektur

Um einen Shared Block Storage mit einem hierarchisch darüber angesiedelten verteilten Dateisystem wie OCFS2 kostengünstig zu realisieren, werden zwei Server mit jeweils dediziert zur Verfügung stehendem Festplatten benötigt. Die in diesem Dokument beschriebenen Server wurden alle mittels ProfitBricks Data Center Designer (DCD) als virtuelle Maschinen in der ProfitBricks IaaS in den Rechenzentren an den Standorten Karlsruhe bzw. Frankfurt provisioniert und als Cluster aufgesetzt.

Um Verfügbarkeit und Ausfallsicherheit dieses Clusters zur Datenreplikation weiter zu erhöhen, wird das Verfügbarkeits-Zonen-Feature von ProfitBricks – Availability Zone – zusätzlich ausgenutzt. Dabei werden beide virtuelle Maschinen in jeweils unterschiedlichen Zonen provisioniert: Virtual Machine VM1 z.B. in Zone 1 und VM2 in Zone 2. Der Storage ist Architektur bedingt bereits doppelt redundant ausgelegt, d.h. alle Festplatten werden automatisch auf einem weiteren Storage-Server in der zweiten Verfügbarkeitszone gespiegelt.

DRBD muss auf einer eigenen Festplatte betrieben werden. Das heisst, jede VM weist zwei Festplatten auf:

  1. boot und root Partition: Oracle Linux 7 (/dev/vda)
  2. DRBD: /dev/vdb

Als Betriebssystem dient ausgangsseitig CentOS 7, mit aktuellem Patchlevel (September 2017). Oracle empfiehlt allerdings das eigene Linux Derivat, Oracle Linux, einzusetzen und bietet auch nur hierauf Support. Mit Hilfe eines von Oracle zur Verfügung gestellten Skriptes, kann ein CentOS “on-the-fly” in ein Oracle Linux konvertiert werden.

Dabei werden neue Repositories definiert, anschließend ein Update des Betriebssystems durchgeführt; ein Wechsel des Kernels zu Oracle Linux Server 7.4 mit Unbreakable Enterprise Kernel 4.1.12. tritt hinzu (Der UE-Kernel ist Voraussetzung für OCFS2 und o2cb.)

Die root-Partition wird mit dem default Oracle Linux 7 Dateisystem ext4 formatiert. Die DRBD Partition (/dev/drbd1) wird mit dem Oracle empfohlenem verteilten Dateisystem OCFS2 formatiert und gemounted und sieht aus Betriebssystemebene wie eine lokale Festplatte aus.

Datenbankreplikation Cloud DRBD Architektur

Abb.1: High-level DRBD Cluster-Architektur

Nun könnte Oracles Datenbank-Software direkt auf diesen Hosts installiert werden. Für unseren Performance-Test, für den wir das Benchmark Tool fio eingesetzt haben, war dies jedoch nicht notwendig und ist somit auch nicht Teil des Test-Setups.

Weiter geht es am 30.04.2018 mit Teil 2 dieser Artikelserie. Bleiben Sie dran!

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *