Using DRBD With Solid-State Drives
Some things to remember when using DRBD® with solid-state drive (SSD) back ends: DRBD does submit the local I/O and send operations through the network in parallel, and completes to the file system and application when both operations have completed.
With SSDs, you reduce the local latency by a factor of 100 (order of magnitude for traditional spinning hard disk drives: ~4ms; for SSDs: ~0.04ms) but the network latency stays the same, which means that the relative DRBD overhead for write latency might increase significantly.
That effect might be less noticeable if you had decent controller caches before and after, so the felt latency of your rotating disk set was not milliseconds but already below a few tens of microseconds anyways.
For DRBD to allow discards, all peers have to support discards, preferably with discard zeroes data. Because at resync time, we have no efficient way to determine if a range was discarded (and should now be discarded at the peer as well), it can be useful to have rs-discard-granularity set, which makes DRBD convert runs of zeroes read by the resync process from the sync source into discards on the sync target.
Edited 2021/12/14 – DJV