The TL;DR version: don’t use
data-integrity-alg in a production setup.
DRBD can ensure the data integrity of the user’s data on the network by comparing hash values. [...]
Too many people think this is a must-have setting – but are sadly wrong.
During initial installation and testing it does make sense to use this – it’s an easy way to find out whether the hardware (CPU, memory, network card, etc.) work as they should – if you get the famous
Digest integrity check FAILED message1 you can be worried (but not too much, since you found that during testing (;).
But in production this should not be set – apart from causing a lot of CPU load2 it might cause frequent connection abort – and that means a short bit of time (re-sync) during which the secondary is inconsistent.
So: don’t use this in production.