[DRBD-user] ionice/schedulers/drdb

Lars Ellenberg lars.ellenberg at linbit.com
Thu Dec 10 14:40:56 CET 2015

Note: "permalinks" may not be as permanent as we would like,
direct links of old sources may well be a few messages off.

On Wed, Nov 18, 2015 at 01:02:52PM -0500, David A. J. Ripley wrote:
> I have a question about i/o schedulers and drdb - I've googled around this but I've not been able to find an unambiguous answer. Any thoughts are welcome.
> Generally, deadline is the recommended scheduler for block devices backing drdb volumes; however, this precludes the use of ionice to set i/o priorities.
> My question is this: Would ionice make any difference anyways? It's not possible to set the scheduler on the drdb device itself; but will the ionice level get "passed through" to the underlying block device?
> I've done some preliminary testing, but results are somewhat ambiguous, so before I dig down more I thought I'd see if anyone knew the real answer.

On a DRBD "Secondary", all requests are submitted from on drbd "receiver" kernel thread.
We do not communicate any "io-context" information, and I doubt that this would be useful.

On a DRBD "Primary", most requests will be submitted to the backend by
the original submitter directly (thus still within the same IO context),
but some (WRITE to some not-yet "active" activity-log extent) will be
queued on some list, and submitted only once the corresponding
activity-log transaction has completed, by some "submitter" work-queue,
so in some completely different IO context.

A well tuned CFQ may be beneficial.

Tuning IO schedulers can be a challenge,
especially if you are already maxing out your IO backend
or other system resources..

: Lars Ellenberg
: http://www.LINBIT.com | Your Way to High Availability
: DRBD, Linux-HA  and  Pacemaker support and consulting

DRBD® and LINBIT® are registered trademarks of LINBIT, Austria.
please don't Cc me, but send to list   --   I'm subscribed

More information about the drbd-user mailing list