[DRBD-user] drbdmanage v0.98

Roland Kammerer roland.kammerer at linbit.com
Fri Oct 28 13:31:52 CEST 2016

Note: "permalinks" may not be as permanent as we would like,
direct links of old sources may well be a few messages off.

Dear DRBD9 & drbdmanage users & testers,

we have published version 0.98 of DRBD Manage.

This version of DRBD Manage contains lots of fixes and architectural
changes and accumulated to the following rather huge diff stat:

44 files changed, 1767 insertions(+), 1992 deletions(-)

I would like to mention two changes in particular:

- The license changed from GPLv3 to a custom license. To quote myself
  from a different mailing list: "So far DRBD Manage was released under
  the terms of the GPLv3, but the next release will have a custom
  license, similar to the one from BeeGFS. The code is still open and
  we want people to be able to study the source and contribute patches.
  What LINBIT does not want are copycats that don't contribute, but
  (pretend to) provide support, undermining parts of LINBIT's business
  model.". Phil's license change can be found here[4].

- An architectural change that is important to understand for all users!
  So far we had control nodes (with access to the control volume that
  was replicated in the cluster). The second class of nodes were
  satellite nodes that get their cluster information via TCP/IP. Scaling
  up to cloud environments with around 10 DRBD Manage nodes and
  hundreds of resources showed bottlenecks. Propagating the cluster
  database via the control volume is not feasible and too slow. Now we
  still have a set of control nodes that have access to the control
  volume, but one of them is selected as "leader". All other nodes are
  in the role of satellites. If the leader fails, one of the other
  control nodes takes over and becomes the current leader. This has the
  advantage that only the leader has the control volume in DRBD Primary
  role, the rest gets the information via TCP/IP without state changes
  on the control volume.

  This change comes with several technical challenges, like leader
  election. Who should become the cluster leader and who takes over when
  the old fails? In a single node cluster this is trivial. In a two node
  cluster now both nodes have to be online. In setups where three or
  more nodes are available, there needs to be a majority in order to
  vote. Commit [5] contains more in depth information. The user guide
  currently does not reflect these changes, an update will done ASAP.

  It is possible to in-place upgrade to version 0.98, but if you then
  add new nodes to your cluster, there is no way back.

Please test the new version carefully and make yourself familiar with
the new architecture!

Changes since v0.97.3:

 [ Philipp Reisner ]
 * New end user license for drbd manage

 [ Roland Kammerer ]
 * Introduce single leader
 * zvol: also remove the leftover origin if there is one
 * take max-fail-count into account
 * use natsort if available
 * debian: require python-natsort
 * systemd: disable socket activation
 * check res file before using it
 * make res file handling and checking stricter
 * conffile: write meta information
 * single leader: pseudo fence if isolated
 * remove dead code
 * zfs: give udev time to create /dev/zvol entry
 * client: howto-join: Write to stderr

 [ Robert Altnoeder ]
 * Delete old DRBD info files
 * undeploy_assignment(): restructured, fixed variable scope bug
 * Handle interrupted system call in epoll.poll()
 * Run resize actions in the same step as deploying a volume
 * Allow generating a resize action on volumes pending deployment
 * Allow resizing a volume that is has no blockdevice if it is not deployed yet
 * Finish the resize storage stage if a volume is newly deployed with the [...]
 * Run _finish_resize_storage() only if there was a resize pending in the [...]
 * Early resize of restored snapshots (before drbdadm adjust)
 * Hotfix: Always calculate the gross size for metadata with 31 peers
 * Hotfix: Allow sending a volume id in create_volume()
 * Retry loop for drbdmeta apply-al for drbdmanage init
 * Allow skipping space prediciton & check in auto_deploy()

 [ Philipp Marek ]
 * Table output: catch EPIPE, and return silently.

As usual, we provide tar-balls[1], a git repo[2], and an
Ubuntu PPA[3].

If you have any questions, suggestions or feedback for us, feel free to
post to the drbd-user mailing list or to visit our IRC channel at
FreeNode #drbd.

Best regards, rck

[1] http://www.drbd.org/en/community/download
[2] http://git.linbit.com/drbdmanage.git/
[3] https://launchpad.net/~linbit/+archive/ubuntu/linbit-drbd9-stack


More information about the drbd-user mailing list