# Distributed Replicated Block Device

> computer program

**Wikidata**: [Q1155381](https://www.wikidata.org/wiki/Q1155381)  
**Wikipedia**: [English](https://en.wikipedia.org/wiki/DRBD)  
**Source**: https://4ort.xyz/entity/distributed-replicated-block-device

## Summary
Distributed Replicated Block Device (DRBD) is a free software computer program designed for bidirectional data synchronization between multiple data stores. It operates as a device driver on the Linux operating system to maintain data consistency across distributed systems.

## Key Facts
- **Classification:** Categorized as free software and a data synchronization tool.
- **Operating System:** Runs exclusively on the Linux family of Unix-like operating systems.
- **Software License:** Distributed under the GNU General Public License, version 2.0.
- **Latest Stable Version:** Version 9.0.12 of the device driver was released on January 23, 2018.
- **Core Components:** Includes the DRBD device driver and a set of management tools known as DRBD Utils.
- **Repository:** Source code is hosted publicly on GitHub under the LINBIT organization.
- **Package Availability:** Distributed via major Linux package managers including Debian (drbd-utils), Fedora (drbd), Gentoo (sys-cluster/drbd-utils), and Ubuntu (drbd-utils).
- **Documentation:** Official user manuals are maintained for version 9.0 and accessible via LINBIT.

## FAQs
### Q: What is the primary purpose of Distributed Replicated Block Device?
A: DRBD is used for data synchronization, which is the process of bidirectionally maintaining consistency of data stored in multiple data stores. It functions at the block device level to ensure data is mirrored across different locations.

### Q: Is DRBD open-source software?
A: Yes, it is classified as free software and is distributed under the GNU General Public License, version 2.0. This allows users to freely run, study, change, and distribute the software and its modified versions.

### Q: Which operating systems can run DRBD?
A: DRBD is designed specifically for Linux, a family of Unix-like operating systems. It is supported across various distributions such as Gentoo, openSUSE, Debian, Fedora, and Ubuntu.

## Why It Matters
Distributed Replicated Block Device (DRBD) is a fundamental component for achieving data consistency in Linux-based environments. By providing bidirectional synchronization, it ensures that data stored in multiple locations remains identical, which is a critical requirement for high-availability systems and distributed data stores. 

As a piece of free software, DRBD offers transparency and flexibility, allowing users to modify and distribute the code according to the terms of the GNU General Public License. Its integration into the Linux kernel ecosystem as a device driver allows it to operate efficiently at a low level, managing block devices directly. The project’s maturity is evidenced by its long-standing version history, with the 8.4 series dating back to 2011 and the more recent 9.0 series providing modern stable releases. For system administrators and developers, DRBD provides a standardized, well-documented method for managing replicated storage, supported by a wide array of Linux distributions and a dedicated suite of utilities (DRBD Utils).

## Notable For
- **Block-Level Replication:** Operates as a Linux device driver to synchronize data at the block level rather than the file level.
- **Bidirectional Consistency:** Specifically designed for the process of maintaining data consistency across multiple stores simultaneously.
- **Broad Distribution Support:** Features dedicated packages for nearly all major Linux distributions, including specialized entries in the Gentoo Wiki and Free Software Directory.
- **Version Longevity:** Maintains a documented release history spanning over a decade, from version 8.4.0 in 2011 to the 9.0.x stable branch.

## Body

### Technical Architecture and Use
Distributed Replicated Block Device (DRBD) is an instance of free software used primarily for data synchronization. It functions as a device driver within the Linux operating system. The software is designed to bidirectionally maintain consistency between data stores, ensuring that information written to one block device is replicated to others.

The project is composed of two main parts:
*   **The Device Driver:** The core component that handles data replication.
*   **DRBD Utils:** A collection of userspace tools used to manage and configure the DRBD state.

### Version History and Development
DRBD has undergone extensive development, with major stable releases in the 8.4 and 9.0 branches.
*   **9.0 Series:** Recent stable versions include 9.0.12 (released 2018-01-23) and 9.0.11 (released 2018-01-09).
*   **8.4 Series:** This branch saw numerous updates between 2011 and 2015, including version 8.4.0 (2011-07-18), 8.4.5 (2014-06-10), and 8.4.7 (2015-12-16).

The source code is maintained in a GitHub repository managed by LINBIT. Technical analysis and programming language summaries for the project are tracked via Open Hub.

### Distribution and Licensing
DRBD is licensed under the GNU General Public License (GPL), version 2.0. While it is copyrighted, it has also been described as dedicated to the public domain by the copyright holder. 

The software is widely available in the Linux ecosystem through various package names:
*   **Debian/Ubuntu/openSUSE:** `drbd-utils`
*   **Fedora:** `drbd`
*   **Gentoo:** `sys-cluster/drbd-utils`

Official documentation and user guides are provided by LINBIT, specifically covering the 9.0 version of the software. The project also maintains a presence on community platforms such as Quora and the Gentoo Wiki.

## References

1. [The drbd Open Source Project on Open Hub: Languages Page. Open Hub](https://www.openhub.net/p/drbd/analyses/latest/languages_summary)
2. [Source](https://www.linbit.com/en/drbd-community/drbd-download/)
3. [Release 9.0.11. 2018](https://github.com/LINBIT/drbd/releases/tag/drbd-9.0.11)
4. [Source](https://github.com/LINBIT/drbd-9.0/releases/tag/drbd-9.0.12)
5. [Release 9.0.12. 2018](https://github.com/LINBIT/drbd/releases/tag/drbd-9.0.12)
6. [Release 8.4.0. 2011](https://github.com/LINBIT/drbd/releases/tag/drbd-8.4.0)
7. [Release 8.4.1. 2011](https://github.com/LINBIT/drbd/releases/tag/drbd-8.4.1)
8. [Release 8.4.2. 2012](https://github.com/LINBIT/drbd/releases/tag/drbd-8.4.2)
9. [Release 8.4.3. 2013](https://github.com/LINBIT/drbd/releases/tag/drbd-8.4.3)
10. [Release 8.4.4. 2013](https://github.com/LINBIT/drbd/releases/tag/drbd-8.4.4)
11. [Release 8.4.5. 2014](https://github.com/LINBIT/drbd/releases/tag/drbd-8.4.5)
12. [Release 8.4.6. 2015](https://github.com/LINBIT/drbd/releases/tag/drbd-8.4.6)
13. [Release 8.4.7. 2015](https://github.com/LINBIT/drbd/releases/tag/drbd-8.4.7)
14. [Release 9.0.0. 2015](https://github.com/LINBIT/drbd/releases/tag/drbd-9.0.0)
15. [Release 9.0.1. 2016](https://github.com/LINBIT/drbd/releases/tag/drbd-9.0.1)
16. [Release 9.0.2. 2016](https://github.com/LINBIT/drbd/releases/tag/drbd-9.0.2)
17. [Release 9.0.3. 2016](https://github.com/LINBIT/drbd/releases/tag/drbd-9.0.3)
18. [Release 9.0.4. 2016](https://github.com/LINBIT/drbd/releases/tag/drbd-9.0.4)
19. [Release 9.0.5. 2016](https://github.com/LINBIT/drbd/releases/tag/drbd-9.0.5)
20. [Release 9.0.6. 2016](https://github.com/LINBIT/drbd/releases/tag/drbd-9.0.6)
21. [Release 9.0.7. 2017](https://github.com/LINBIT/drbd/releases/tag/drbd-9.0.7)
22. [Release 9.0.9. 2017](https://github.com/LINBIT/drbd/releases/tag/drbd-9.0.9)
23. [Release 9.0.10. 2017](https://github.com/LINBIT/drbd/releases/tag/drbd-9.0.10)
24. [Release 9.0.13. 2018](https://github.com/LINBIT/drbd/releases/tag/drbd-9.0.13)
25. [Release 9.0.14. 2018](https://github.com/LINBIT/drbd/releases/tag/drbd-9.0.14)
26. [Release 9.0.15. 2018](https://github.com/LINBIT/drbd/releases/tag/drbd-9.0.15)
27. [Release 9.0.16-1. 2018](https://github.com/LINBIT/drbd/releases/tag/drbd-9.0.16-1)
28. [Release 9.0.17-1. 2019](https://github.com/LINBIT/drbd/releases/tag/drbd-9.0.17-1)
29. [Release 9.0.18-1. 2019](https://github.com/LINBIT/drbd/releases/tag/drbd-9.0.18-1)
30. [Release 9.0.19-1. 2019](https://github.com/LINBIT/drbd/releases/tag/drbd-9.0.19-1)
31. [Release 9.0.20-1. 2019](https://github.com/LINBIT/drbd/releases/tag/drbd-9.0.20-1)
32. [Release 9.0.21-1. 2019](https://github.com/LINBIT/drbd/releases/tag/drbd-9.0.21-1)
33. [Release 9.0.22-1. 2020](https://github.com/LINBIT/drbd/releases/tag/drbd-9.0.22-1)
34. [Release 9.0.23-1. 2020](https://github.com/LINBIT/drbd/releases/tag/drbd-9.0.23-1)
35. [Release 9.0.24-1. 2020](https://github.com/LINBIT/drbd/releases/tag/drbd-9.0.24-1)
36. [Release 9.0.25-1. 2020](https://github.com/LINBIT/drbd/releases/tag/drbd-9.0.25-1)
37. [Release 9.0.8. 2017](https://github.com/LINBIT/drbd/releases/tag/drbd-9.0.8)
38. [Release 9.0.26-1. 2021](https://github.com/LINBIT/drbd/releases/tag/drbd-9.0.26-1)
39. [Release 9.0.27-1. 2021](https://github.com/LINBIT/drbd/releases/tag/drbd-9.0.27-1)
40. [Release 9.0.28-1. 2021](https://github.com/LINBIT/drbd/releases/tag/drbd-9.0.28-1)
41. [Release 9.0.29-1. 2021](https://github.com/LINBIT/drbd/releases/tag/drbd-9.0.29-1)
42. [Release 9.1.2. 2021](https://github.com/LINBIT/drbd/releases/tag/drbd-9.1.2)
43. [Release 9.0.30-1. 2021](https://github.com/LINBIT/drbd/releases/tag/drbd-9.0.30-1)
44. [Release 9.0.31-1. 2021](https://github.com/LINBIT/drbd/releases/tag/drbd-9.0.31-1)
45. [Release 9.0.32-1. 2021](https://github.com/LINBIT/drbd/releases/tag/drbd-9.0.32-1)
46. [Release 9.1.0. 2021](https://github.com/LINBIT/drbd/releases/tag/drbd-9.1.0)
47. [Release 9.1.1. 2021](https://github.com/LINBIT/drbd/releases/tag/drbd-9.1.1)
48. [Release 9.1.3. 2021](https://github.com/LINBIT/drbd/releases/tag/drbd-9.1.3)
49. [Release 9.1.4. 2021](https://github.com/LINBIT/drbd/releases/tag/drbd-9.1.4)
50. [Release 9.1.5. 2021](https://github.com/LINBIT/drbd/releases/tag/drbd-9.1.5)