DRBD

DRBD
DRBD
DRBD logo.svg
Entwickler LINBIT HA-Solutions GmbH
Aktuelle Version 8.3.y
Betriebssystem GNU/Linux
Programmier­sprache C
Lizenz Freie Software (GPL)
www.drbd.org
Übersicht des DRBD-Konzepts

DRBD® (Distributed Replicated Block Device) ist eine freie Netzwerkspeicherlösungs-Software. Als Kernel-Modul zusammen mit einer Management-Applikation im Userspace und einem Skript dient es dazu, ein Blockgerät auf einem produktiven (primary) Server in Echtzeit auf einen anderen (secondary) Server zu spiegeln. Dieses Verfahren wird verwendet, um Hochverfügbarkeit (HA) im Linux-Umfeld zu realisieren und somit eine gute Verfügbarkeit verschiedener Dienste zu erreichen.

Die Firma LINBIT ist Mitglied der Open Source Business Alliance und DRBD Bestandteil des Open Source Reference Stacks.

Inhaltsverzeichnis

Funktionsweise

Es werden alle Schreibzugriffe über das Netzwerk an den zweiten Server übermittelt. Erst wenn der zweite Server den erfolgreichen Schreibvorgang an den ersten Server zurückgemeldet hat, meldet dieser der Applikation das Ende des Schreibvorgangs (diese Technik ist vergleichbar mit einem RAID 1 über TCP/IP). Falls der erste Server ausfällt, wird dieser als inaktiv gemeldet. Durch eine Serverüberwachungssoftware wie Heartbeat kann der zweite Server die Funktion des ersten Servers übernehmen und mit denselben Daten weiterarbeiten.

Jede DRBD-Komponente (lokal auch als Partition bezeichnet) besitzt einen Status, welcher entweder primär oder sekundär sein kann. Zwischen allen Systemen erzeugt DRBD eine Verbindung von der lokalen Partition zu einem virtuellen Gerät /dev/drbdX, welches nicht direkt angesprochen werden kann. Schreibzugriffe auf das primäre System werden über das Low-level-Blockgerät (die Partition) und gleichzeitig an das sekundäre System propagiert. Das sekundäre System übermittelt dann die Daten an sein eigenes lokales Low-level-Blockgerät. Alle Lesezugriffe werden stets lokal durchgeführt.

Sollte das primäre System ausfallen, versetzt ein Cluster-Management-Prozess das sekundäre System in den primären Systemzustand. Wenn das ehemals primäre System wieder verfügbar ist, wird dieses nach einer Resynchronisation der Gerätedaten normalerweise, um keine überflüssige Downtime zu erzeugen, als sekundäres System weiterlaufen, kann aber auch wieder in den primären Status versetzt werden. Der Algorithmus der DRBD-Synchronisation arbeitet dadurch effizient, dass nur während des Ausfalls geänderte Datenblöcke wieder resynchronisiert werden müssen, nicht das ganze Gerät.

In der im Januar 2007 erschienenen Version 8 wurde eine Unterstützung für Konfigurationen mit Lastverteilung eingeführt, welches beiden Systemen ermöglicht, einzelne DRBDs im Lese-/Schreib-Modus wie bei gemeinsam genutztem Speicher (shared storage) zu nutzen[1]. Diese Art der Nutzung erfordert die Verwendung eines Sperrmechanismus, dem „distributed lock manager“.

Vorteile gegenüber gemeinsam genutztem Cluster-Speicher

Konventionelle Computer-Cluster-Systeme benutzen in der Regel eine Art gemeinsamen Speicher, der für die Clusterressourcen benutzt wird. Dieser Ansatz hat jedoch eine Reihe von Nachteilen, die DRBD umgeht.

  • Gemeinsam genutzte Speicher (shared storage) bringen typischerweise eine einzelne Fehlerstelle (Single Point of Failure) mit sich, da beide Clustersysteme vom gleichen gemeinsamen Speicher abhängig sind. Bei der Verwendung von DRBD besteht hier keine Gefahr, da die benötigten Clusterressourcen lokal repliziert werden und nicht auf einem eventuell wegfallenden gemeinsamen Speicher liegen.
  • Gemeinsam genutzter Speicher wird in der Regel über ein SAN oder ein NAS adressiert, was einen gewissen Mehraufwand beim Lesezugriff erfordert. Bei DRBD wird dieser Aufwand signifikant reduziert, da Lesezugriffe immer lokal stattfinden.

Anwendungen

DRBD arbeitet innerhalb des Linux-Kernels auf Blockebene und ist damit für darauf aufsetzende Schichten transparent. DRBD kann somit als Grundlage verwendet werden für:

  • konventionelle Dateisysteme
  • gemeinsam genutzte Cluster-Dateisysteme wie z.B. GFS oder OCFS2
  • ein weiteres logisches Blockgerät wie z.B. LVM
  • jede Applikation, die den direkten Zugriff auf ein Blockgerät unterstützt.

DRBD-basierende Cluster werden häufig eingesetzt, um Dateiserver und relationale Datenbanken (wie MySQL) um synchrone Replikation und Hochverfügbarkeit zu erweitern.

Aufnahme in den Linux-Kernel

Im Juli 2007 stellten die DRBD-Autoren die Software der Linux-Entwicklergemeinde für eine mögliche zukünftige Aufnahme von DRBD in den offiziellen Linux-Kernel zur Verfügung[2]. Im Kernel 2.6.33 wurde DRBD neu aufgenommen[3].

DRBD+ wird Open Source

Die kommerziell lizenzierte Version DRBD+ wurde in der ersten Hälfte des Dezember 2008 mit der Open-Source-Version zusammengeführt und unter der GNU General Public Licence freigegeben. Seit der daraus resultierenden Version 8.3 ist es möglich, den Datenbestand auf einen dritten Knoten zu spiegeln. Die Höchstgrenze von 4 TiByte pro Gerät ist auf 16 TiByte erhöht worden[4],[5].

Weblinks

 Commons: DRBD – Album mit Bildern und/oder Videos und Audiodateien

Quellen

  1. Philipp Reisner, Lars Ellenberg (6. August 2007): DRBD v8–Replicated Storage with Shared Disk Semantics (PDF). Proceedings of the 12th International Linux System Technology Conference. Abgerufen am 21. Februar 2011.
  2. Lars Ellenberg (21. Juli 2007): DRBD wants to go mainline. Linux-kernel-Mailingliste. Abgerufen am 21. Februar 2011.
  3. DRBD schafft es in den Linux-Kernel. golem.de (10. Dezember 2009). Abgerufen am 21. Februar 2011.
  4. Hochverfügbarkeitslösung DRBD+ wird Open Source. heise.de (17. November 2008). Abgerufen am 21. Februar 2011.
  5. Ankündigung von DRBD 8.3 unter der GPL. LINBIT. Abgerufen am 21. Februar 2011.

Wikimedia Foundation.

Игры ⚽ Нужно решить контрольную?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • DRBD — Original author(s) Philipp Reisner, Lars Ellenberg Developer(s) LINBIT (http://www.linbit.com) …   Wikipedia

  • DRBD — Développeur Philipp Reisner, Lars Ellenberg LINBIT (http://www.linbit.com) …   Wikipédia en Français

  • DRBD — (от англ. Distributed Replicated Block Device  «Распределённое Копируемое Блочное Устройство») это блочное устройство, обеспечивающее синхронизацию (RAID1) между локальным блочным устройством и удалённым. Одним из применений является… …   Википедия

  • DRBD — Distributed Replicated Block Device …   Acronyms

  • DRBD — Distributed Replicated Block Device …   Acronyms von A bis Z

  • Linux-HA — Unter Heartbeat versteht man eine Netzwerkverbindung zwischen zwei (oder mehr) Clusternodes. Über diese Verbindung benachrichtigen sich die beiden Clusternodes gegenseitig, dass sie gegenwärtig betriebsbereit sind und ihre Aufgaben noch erfüllen… …   Deutsch Wikipedia

  • OpenSSI — Developer(s) OpenSSI Team [1] Stable release 1.9.3 …   Wikipedia

  • Replication (computer science) — Replication is the process of sharing information so as to ensure consistency between redundant resources, such as software or hardware components, to improve reliability, fault tolerance, or accessibility. It could be data replication if the… …   Wikipedia

  • Tiger class fast attack craft — Not to be confused with Tiger class cruiser or Tiger class battlecruiser. Tiger class boat S54 Elster (P6154) Class overview Operators …   Wikipedia

  • Network block device — In Linux, a network block device is a device node whose content is provided by a remote machine. Typically, network block devices are used to access a storage device that does not physically reside in the local machine but on a remote one. As an… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”