Linux-Cluster mit Open-Source-Tools

DRBD: RAID1 über das Netzwerk

DRBD(+)

RAID 1 (Mirroring) auf reiner Festplattenbasis kopiert Blöcke auf ein anderes, aber meist gleich aufgebautes Speichermedium im System selbst. Die Entfernung zwischen den Datenträgern ist nur gering, dafür sind Bandbreite und Performance recht hoch. Möchte man diese Spiegelung über Systeme vornehmen, die einige Kilometer voneinander entfernt aufgebaut sind, bietet sich eine Verbindung über das Internet an. Hier kommt beispielsweise das „Distributed Replicated Block Device“ (DRBD) als Steuerungsinstanz für diesen Kopierprozess zum Einsatz.

Bei DRBD handelt es sich um einen Blockdevice-Treiber für Linux, der speziell für den Aufbau von Hochverfügbarkeits-Clustern entwickelt wurde. DRBD ist in der Lage, Datenblöcke über das verbindungsorientierte TCP/IP Protokoll zu transferieren - man könnte auch von Netzwerk-RAID 1 sprechen.

Günstigstenfalls nutzt man einen dedizierten (Ethernet-)Link für die DRBD-Verbindung. Jedes beliebige R/W-Blockdevice für die Daten (unter LINUX /dev/[hs]daX) kann dazu verwendet werden. Eine so genannte Block-Map dient dazu, das Datenaufkommen für die Replikation zu minimieren, in dem nur geänderte Blocke transferiert werden.

Beide Endsysteme von DRBD müssen bereit sein, um eine Verbindung über TCP/IP zu etablieren. Ist es einer der Partner nicht, muss definiert werden, was passieren soll. Über Timeouts wird dieses Verhalten gesteuert, damit nicht beide Seiten blockiert sind, wenn die Gegenseite Datenpakete nicht beantwortet.

DRBD wurde von Philipp Reisner entwickelt und wird zusammen mit Lars Ellenberg beide von der österreichischen Firma „Linbit“ gewartet und steht unter der Lizenz der GPL. Der kommerzielle Nachfolger "DRBD+" erlaubt einen Abgleich über drei anstelle von zwei Blockdevices bis 16TiB und einen Multi-Primary-Betrieb. Die Quellen von DRBD stehen zur freien Verfügung.

Vergleich DRBD zu DRBD+

Was

DRBD

DRBD+

Devicegrösse [TB]

4

16

Anzahl Spiegelung

2

3

Synchronisierung

Bitmap

Checksumme

Beschleunigte Meta-Daten Operation

-

100x

Nutzung von HIGHMEM

-

ja