drbd Cookbook

Cookbook Version (opens in a new tab) CI State (opens in a new tab) OpenCollective OpenCollective License (opens in a new tab)

Installs and configures the Distributed Replicated Block Device (DRBD) service for mirroring block devices between a pair of hosts. Right now it simply works in pairs, multiple hosts could be supported with a few small changes.

The drbd cookbook does not partition drives. It will format partitions given a filesystem type, but it does not explicitly depend on the xfs cookbook if you want that type of filesystem, but you can put it in your run list and set the node['drbd']['fs_type'] to 'xfs' or 'ext4' or whatever.


This cookbook is maintained by the Sous Chefs. The Sous Chefs are a community of Chef cookbook maintainers working together to maintain important cookbooks. If you’d like to know more please visit (opens in a new tab) or come chat with us on the Chef Community Slack in #sous-chefs (opens in a new tab).



  • Ubuntu
  • CentOS


  • Chef 12.15+


  • yum-elrepo



Installs drbd but does no configuration. If another version of drbd is desired, set the node['drbd']['packages'] attribute.

For example, to install drdb 8.4 on CentOS you might set node.override['drbd']['packages'] = %w(drbd84-utils kmod-drbd84).


Given a filesystem and a partner host, configures block replication between the hosts. The master will claim the primary, format the filesystem and mount the partition. The slave will simply mirror without mounting. It currently takes 2 chef-client runs to ensure the pair is synced properly.


The required attributes are

  • node['drbd']['remote_host'] - Remote host to pair with.
  • node['drbd']['remote_ip'] - Remote host to pair with.
  • node['drbd']['local_ip'] - Remote host to pair with.
  • node['drbd']['disk'] - Disk partition to mirror.
  • node['drbd']['mount'] - Mount point to mirror.
  • node['drbd']['fs_type'] - Disk format for the mirrored disk, defaults to ext3.
  • node['drbd']['master'] - Whether this node is master between the pair, defaults to false.

The optional attributes are

  • node['drbd']['packages'] - What packages are needed to install drbd, defaults to drbd_packages helper.


There are a pair of example roles drbd-pair.rb and drbd-pair-master.rb with the cookbook source.


This project exists thanks to all the people who contribute. (opens in a new tab)


Thank you to all our backers!


Support this project by becoming a sponsor. Your logo will show up here with a link to your website.