Update DRBD userland to 8.3.10 to match kernel in 1.9

e100

Renowned Member
Nov 6, 2010
1,268
45
88
Columbus, Ohio
ulbuilder.wordpress.com
Proxmox 1.9 kernel has DRBD 8.3.10, but lenny provides userland of 8.3.7.
It is advisable to have a DRBD userland version that matches the kernel module version.

If you have a bunch of machines that need updated you can roll your own debian package for DRBD userland like this:

Install the necessary build tools:
apt-get install git-core git-buildpackage fakeroot debconf-utils docbook-xml docbook-xsl dpatch xsltproc autoconf flex

Build the package:
mkdir drbd
cd drbd
git clone http://git.drbd.org/drbd-8.3.git
cd drbd-8.3
git checkout drbd-8.3.10
dpkg-buildpackage -rfakeroot -b -uc

NOTE: The "git checkout" command is not necessary today since 8.3.10 is the latest version.
According to my understanding of the drbd documentation if there is ever a newer version for 8.3 that is the correct way to get the specific version you want to build.


To install the newer version of the userland:
dpkg -i drbd8-utils_8.3.10-0_amd64.deb
 
Last edited by a moderator:
Now that I think about it there are likely lots of build dependicies missing from my instructions.
The system I built this on has been used to compile some other code in the past.

Maybe someone with a virgin Proxmox install can help identify all the build dependicies.
No,
there are no more dependencies - my pve-installation was an clean installation, only flex was missing.

Udo
 
Proxmox 1.9 kernel has DRBD 8.3.10, but lenny provides userland of 8.3.7.
It is advisable to have a DRBD userland version that matches the kernel module version.

If you have a bunch of machines that need updated you can roll your own debian package for DRBD userland like this:

Install the necessary build tools:
apt-get install git-core git-buildpackage fakeroot debconf-utils docbook-xml docbook-xsl dpatch xsltproc autoconf

Build the package:
mkdir drbd
cd drbd
git clone http://git.drbd.org/drbd-8.3.git

...instead of dealing with "git", one might also simply get the tar package directly from http://oss.linbit.com/drbd/...
 
Great small howto, thanks. I added this forum post to our drbd wiki page, also Tom added the missing package (flex) in your post (Thanks Udo for pointing to this minor issue). I also tested it here on a fresh box, just works.

Martin
 
I followed the directions and userland 8.3.11 was installed which looks to be the newest.
How can I install 8.3.10 ?

Thanks
 
I followed the directions and userland 8.3.11 was installed which looks to be the newest.
How can I install 8.3.10 ?

Thanks

8.3.11 just came out!
Editing my post because that is not true, been out for a long time.
I just somehow managed to get something mixed up on my end.
I also bet that these fixes are in the upstream kernel that Proxmox is using but it would be nice to know for sure.


Well since I am new at compiling DRBD code I followed their documentation:
http://www.drbd.org/users-guide-legacy/s-checking-out-git.html

According to the above documentation the command "git checkout drbd-8.3.10" command I included in my directions should have prevented your problem.

Looking at the changelog for 8.3.11, maybe the proxmox team would consider updating the kernel module to 8.3.11, looks like some serious issues are lurking in 8.3.10!:

8.3.11 (api:88/proto:86-96)
--------
* Added missing spinlock in compressed bitmap receive (regression introduced
in 8.3.10, could lead to "negative" out-of-sync stats and non-terminating
resync when "use-rle" is enabled)
* Fixed handling of read errors during online verify runs
* Fixes for possible distributed deadlocks during online verify and
checksum based resync processes
* Fixed handling of IO errors with an on-io-error=pass-on policy; the
disk state goes to inconsistent
* Fixed the behavior in case ping-timeout and ping-int are set to the
same value
* Fix for connecting on high latency network links
* Fixed wrong connection drops ("PingAck did not arrive in time") with
asymmetrically congested networks
* Fixed state transitions if fence-peer handler returns after connection was
established again
* Fixes to drbdmeta and drbdsetup for the > 16TByte support
* Made negotiation of max_bio_size conservative instead of optimistic
* Network timeouts for mirrored write requests are now always enforced,
no longer only when the socket is congested
 
Last edited:
Following the instructions I was able to create the drbd-utils debian package. After installing dpkg -i drbd8-utils_8.3.10-0_amd64.deb package I got this message "Udev found. Not creating device nodes." I checked, I have udev installed. Is this something to be concern about or did I miss a step somewhere?

Thanks.
 
Last edited:

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!