Patch: Ubuntu DRBD now can haz run after boot

Ubuntu server edition “brings the power of inexpensive shared storage to your servers”. In particular, they tout DRBD support. Unfortunately, in Ubuntu 8.10 Intrepid Ibex, DRBD won’t start at boot.

The bug wasn’t too hard to track down. The problem is the update-rc.d script (run in the package postinst) is parsing the LSB headers in the DRBD init.d script. The LSB headers tell update-rc.d to not include runlevel 2 (Ubuntu’s default) when installing symlinks, so none is made in rc2.d. Hence, the init script is not run during startup.

I put documentation and a debdiff (package patch) on the launchpad bug report. However, even though this package is in main, I have no faith this bug will be fixed by Ubuntu (see update below the fold). So, for your server’s enjoyment, grab the patched packages we are using at my company:

Add these lines to your /etc/apt/sources.list:

deb http://packages.devsuki.com/ubuntu/ intrepid main
deb-src http://packages.devsuki.com/ubuntu/ intrepid main

Grab the public signing key:

wget http://packages.devsuki.com/devsuki-signing-key.asc

Add it to your apt keychain:

sudo apt-key add devsuki-signing-key.asc

Otherwise, you can directly download the packages.

UPDATE (2009.01.27): According to what the “Launchpad Janitor wrote on 2009-01-26”, it appears this bug has been fixed in 2:8.3.0-1ubuntu1. However, this package appears to only be available in the development version of Ubuntu (jaunty) and not as an update to intrepid. I’ll post a question on the bug about it.