DRBD

DRBD
DRBD
DRBD logo.svg
Original author(s) Philipp Reisner, Lars Ellenberg
Developer(s) LINBIT (http://www.linbit.com)
Stable release 8.4.0 / July 18, 2011; 2 months ago (2011-07-18)
Development status Production
Written in C
Operating system GNU/Linux
Type Distributed storage system
License GNU General Public License v2
Website http://www.drbd.org/
Overview of DRBD concept

DRBD (Distributed Replicated Block Device) is a distributed storage system for the GNU/Linux platform. It consists of a kernel module, several userspace management applications and some shell scripts and is normally used on high availability (HA) clusters. DRBD bears similarities to RAID 1, except that it runs over a network.

DRBD refers to both the software (kernel module and associated userspace tools), and also to specific logical block devices managed by the software. DRBD device and DRBD block device are also often used for the latter.

It is free software released under the terms of the GNU General Public License version 2.

DRBD is part of the Lisog open source stack initiative.

Contents

Mode of operation

DRBD layers logical block devices (conventionally named /dev/drbdX, where X is the device minor number) over existing local block devices on participating cluster nodes. Writes to the primary node are transferred to the lower-level block device and simultaneously propagated to the secondary node. The secondary node then transfers data to its corresponding lower-level block device. All read I/O is performed locally.

Should the primary node fail, a cluster management process promotes the secondary node to a primary state. This transition may require a subsequent verification of the integrity of the file system stacked on top of DRBD, by way of a filesystem check or a journal replay. When the failed ex-primary node returns, the system may (or may not) raise it to primary level again, after device data resynchronization. DRBD's synchronization algorithm is efficient in the sense that only those blocks that were changed during the outage must be resynchronized, rather than the device in its entirety.

DRBD is often deployed together with the Heartbeat cluster manager, although it does integrate with other cluster management frameworks. It integrates with virtualization solutions such as Xen, and may be used both below and on top of the Linux LVM stack.[1]

DRBD version 8, released in January 2007, introduced support for load-balancing configurations, allowing both nodes to access a particular DRBD in read/write mode with shared storage semantics.[2] Such a configuration requires the use of a distributed lock manager.

Advantages over shared cluster storage

Conventional computer cluster systems typically use some sort of shared storage for data being used by cluster resources. This approach has a number of disadvantages, which DRBD may help offset:

  • Shared storage resources usually introduce a single point of failure in the cluster setup — while each of the cluster nodes may fail without causing service interruption, storage failure almost inevitably causes service downtime. In DRBD, no such issues exist as the cluster resource data is replicated rather than shared.
  • Shared storage resources are particularly sensitive to split brain situations, where both cluster nodes are still alive, but lose all network connectivity between them. In such a scenario, each cluster node will assume that it is the only surviving node in the cluster, and take over all cluster resources. This may lead to potentially disastrous results when both nodes, for example, mount and write to file systems concurrently. Cluster administrators must thus carefully implement node fencing policies to avoid this. DRBD substantially mitigates this problem by keeping two replicated sets of data instead of one shared set.
  • Shared storage resources must typically be addressed over a SAN or NAS, which creates some overhead in read I/O. In DRBD that overhead is greatly reduced as all read operations are carried out locally.
  • Shared storage are usually expensive, consume more space (2U and more) and power. DRBD allows to create a HA setup with only 2 machines.

Applications

Operating within the Linux kernel's block layer, DRBD is essentially workload agnostic. A DRBD can be used as the basis of

  • A conventional file system (this is the canonical example),
  • a shared disk file system such as GFS or OCFS2,
  • another logical block device (as used in LVM, for example),
  • any application requiring direct access to a block device.

DRBD-based clusters are often employed for adding synchronous replication and high availability to file servers, relational databases (such as MySQL), and many other workloads.

Inclusion in Linux kernel

DRBD's authors originally submitted the software to the Linux kernel community in July 2007, for possible future inclusion of DRBD into the "vanilla" (standard, without modifications) Linux kernel.[3] After a lengthy review and several discussions, Linus Torvalds finally agreed to have DRBD as part of the official Linux kernel. DRBD got merged on 8 December 2009 during the "merge window" for Linux kernel version 2.6.33.

See also

  • Network block device (NBD) is a device node whose content is provided by a remote machine
  • Highly Available STorage provides DRBD-like functionality in FreeBSD

References

  1. ^ Haas, Florian; Reisner, Philipp; Ellenberg, Lars. "The DRBD User's Guide". http://www.drbd.org/users-guide/. Retrieved 2008-03-31 
  2. ^ Reisner, Philipp (2005-10-11). "DRBD v8 - Replicated Storage with Shared Disk Semantics". Proceedings of the 12th International Linux System Technology Conference. Hamburg, Germany. http://www.drbd.org/fileadmin/drbd/publications/drbd8_wpnr.pdf. 
  3. ^ Ellenberg, Lars (2007-07-21). "DRBD wants to go mainline". linux-kernel mailing list. http://lkml.org/lkml/2007/7/21/255. Retrieved 2007-08-03. 

External links


Wikimedia Foundation. 2010.

Игры ⚽ Нужна курсовая?

Look at other dictionaries:

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

  • DRBD — Entwickler LINBIT HA Solutions GmbH Aktuelle Version 8.3.y Betriebssystem GN …   Deutsch Wikipedia

  • 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”