DRBD 9.0.8, DRBD Utils 9.0.0がリリースされました

6月1日にdrbd-utilsのバージョン9.0.0がリリースされました。また、6月20日にDRBDバージョン9の最新版であるdrbd-9.0.8がリリースされました。その他、DRBD 8.4.10、drbdmanage 0.99.5も今月リリースされています。本記事では、これらの最新バージョンの特徴や意義を紹介します。

DRBD 9.0.8

drbd-9.0.8は、drbd-9.0.7のリリース後に見つかったいくつかの重要なバグの修正を含みます。このため、DRBDバージョン9をお使いのすべてのユーザは9.0.8にアップデートすることを推奨します。

DRBD Utils 9.0.0

drbd-utilsは8.9.11から一気に9.0.0にバージョン番号が変わりました。メインバージョン番号は9になりましたが、DRBDバージョン8 (8.4.*)も引き続きサポートします。

DRBD Utilsのバージョン番号は、今後は以下のように管理されます。

  • 新しい機能が追加されたときは、2レベル目の番号を1増やし、3レベル目をゼロにリセットします。
  • バグ修正などのマイナーなアップデート時には3レベル目の番号を1増やします。

DRBD 8.4.10

4.12までのカーネルに対応するための修正、ならびに発生頻度が低いマイナーなバグへの修正のみで、機能の追加や変更はありません。

DRBD Manage 0.99.5

クラスタの初期化の信頼性が高まっています。

ChangeLog

各ソフトウェアのChangeLogは以下のとおりです。


drbd 9.0.8-1 (api:genl2/proto:86-112/transport:14)

* fix a race condition between adding connections and receiving data
blocks; When you hit it caused an OOPS
* fix a OOPS on a diskfull node when a request from a diskless
node causes an error from the back-end device. (This is a regression that
was introduced with the 9.0.7 release)
* fix a distributed deadlock when doing a discard/write-same burst
* fix an issue with diskless nodes adopting wrong current UUIDs
* fix wrongly rejected two-phase-state transactions; this issue was a
cause for drbdmanage init failing for 3 nodes
* fix attach of first disk after resource had no disk at all
* fix to not clear bitmap content and UUIDs in case we ignored a
split-brain situation
* fix a possible OOPS, caused when the sender thread tries to send
something after the sockets where free()'ed
* fix ignoring split-brain situations to the rare cases it was
intended to in the first place
* fix an issue with current-uuid not getting written for 5 seconds. When a
resources was down'd/up'd or the node rebooted, you got split brain
afterwards
* fix a race that caused DRBD to go StandAlone instead of Connecting
after loosing a connection
* Serialize reconciliation resync after the nodes found it if they
are UpToDate
* fix initial resync, triggered by "--force primary"; this is a fix
for a regression introduced in 9.0.7
* new configuration option that allows to report back IO errors instead
of freezing IO in case a partition looses quorum
* Speed-up AL-updates with bio flags REQ_META and REQ_PRIO
* merged changes from 8.4.10 and with that compatibility with Linux-4.12

drbd 8.4.10-1 (api:genl1/proto:86-101)

* fix a race condition between attaching and writing meta-data. The impact
of the bug was destructing an object to early which leads to a crash
* fix cleanup of debugfs at rmmod time
* fix potential deadlock when trying to detach during handshake
* fix race between handshake and admin disconnect/down
* new config option "disable-write-same". That helps with backing devices
that claim to support write-same, but fail every write-same request
* compatibility with Linux kernels up to 4.12

drbd-utils (9.0.0)

* drbd udev: fix inconsistent inheritance of implicit volumes
To keep previous udev /dev/drbd/by-resource/... behavior,
you may need to set or unset/comment "global { udev-always-use-vnr; }",
see the shipped example global_common.conf
* Fix regressions of the out-of-the-box DRBD 8.4 experience
with our pacemaker DRBD Resource Agent and shipped example config files
* debian: don't "stop" drbd on upgrade of utils package
* DrbdMon: can now focus on "problem" resources by filtering-out "ok" ones
* v9: support new option on_no_quorum
* drbdadm: fix segfaults, improve error reporting
* adjust: fix deleting unrelated peer(s) on "adjust resource:specific-peer"
* drbdmeta create-md/convert: fix check for existing external meta-data

drbdmanage (0.99.5-1)

* client: fix bug in inline comments for ConfigParser
* implement external nodes
* wipefs: do not use "-q"
* server: reset grace period on create_node
* avoid shutting down satellites immediately
* make cluster initialization more reliable