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 message[1. and not the corresponding blaming message
Digest mismatch, buffer modified by upper layers during write, see eg. here] 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 load[1. and, therefore, restricting throughtput] 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.