ceph charms should use the CFQ IO scheduler so scrubbing can be de-prioritized

Bug #1624591 reported by James Troup
16
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Ceph OSD Charm
Triaged
Medium
Unassigned
OpenStack Ceph Charm (Retired)
Won't Fix
Medium
Unassigned
ceph (Juju Charms Collection)
Invalid
Medium
Unassigned
ceph (Ubuntu)
Invalid
Undecided
Unassigned
ceph-osd (Juju Charms Collection)
Invalid
Medium
Unassigned

Bug Description

Since firefly Ceph can set the IO priority and class for scrub traffic; this would help immensely on busy Ceph clusters. It does require using the CFQ scheduler for OSDs but this should be fine since OSDs are (generally) the only user of that device.

More information here: http://dachary.org/?p=3268

James Page (james-page)
Changed in ceph-osd (Juju Charms Collection):
status: New → Triaged
Changed in ceph (Juju Charms Collection):
status: New → Triaged
importance: Undecided → Medium
Changed in ceph-osd (Juju Charms Collection):
importance: Undecided → Medium
Revision history for this message
Chris MacNaughton (chris.macnaughton) wrote :

This could be done on all machines that house disks by setting the system scheduler to cfq, it looks like changing it per-disk, permanently will be a bit of a hack with a service to write `cfq` to the scheduler file. On the other hand, according to this (http://www.ilsistemista.net/index.php/linux-a-unix/38-linux-i-o-schedulers-benchmarked-anticipatory-vs-cfq-vs-deadline-vs-noop.html) somewhat older benchmark, cfq vs deadline isn't a huge performance killer unless using direct-io in which case deadline performs a bit better.

@elmo how would you feel about the ceph[-osd] units having the default scheduler be cfq instead of deadline?

Revision history for this message
Chris MacNaughton (chris.macnaughton) wrote :

After a bit more research (and IRC), I think I can implement this with a udev rule to set the scheduler whenever a disk we own is attached.

Revision history for this message
Chris MacNaughton (chris.macnaughton) wrote :

Hoping to get this upstreamed as a reasonable default in Ceph proper (https://github.com/ceph/ceph/pull/12940), depending on the outcome of that, we will either update our packages or make a similar change through the charms

Changed in ceph (Juju Charms Collection):
assignee: nobody → Chris MacNaughton (chris.macnaughton)
Changed in ceph-osd (Juju Charms Collection):
assignee: nobody → Chris MacNaughton (chris.macnaughton)
status: Triaged → In Progress
Changed in ceph (Juju Charms Collection):
status: Triaged → In Progress
Revision history for this message
Edward Hope-Morley (hopem) wrote :

@chris.macnaughton you currently have this bug set as In Progress for the charms but since you are investigating for the ceph packages first I suggest you mark the bug accordingly so that we can track the work properly.

Changed in ceph-osd (Juju Charms Collection):
status: In Progress → Triaged
Changed in ceph (Juju Charms Collection):
status: In Progress → Triaged
James Page (james-page)
Changed in charm-ceph:
assignee: nobody → Chris MacNaughton (chris.macnaughton)
importance: Undecided → Medium
status: New → Triaged
Changed in ceph (Juju Charms Collection):
status: Triaged → Invalid
Changed in charm-ceph-osd:
assignee: nobody → Chris MacNaughton (chris.macnaughton)
importance: Undecided → Medium
status: New → Triaged
Changed in ceph-osd (Juju Charms Collection):
status: Triaged → Invalid
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in ceph (Ubuntu):
status: New → Confirmed
Changed in charm-ceph:
assignee: Chris MacNaughton (chris.macnaughton) → Chris Holcombe (xfactor973)
Changed in charm-ceph-osd:
assignee: Chris MacNaughton (chris.macnaughton) → Chris Holcombe (xfactor973)
Changed in ceph (Juju Charms Collection):
assignee: Chris MacNaughton (chris.macnaughton) → Chris Holcombe (xfactor973)
Changed in ceph-osd (Juju Charms Collection):
assignee: Chris MacNaughton (chris.macnaughton) → Chris Holcombe (xfactor973)
James Page (james-page)
Changed in charm-ceph:
assignee: Chris Holcombe (xfactor973) → nobody
Changed in charm-ceph-osd:
assignee: Chris Holcombe (xfactor973) → nobody
Changed in ceph (Juju Charms Collection):
assignee: Chris Holcombe (xfactor973) → nobody
Changed in ceph-osd (Juju Charms Collection):
assignee: Chris Holcombe (xfactor973) → nobody
Revision history for this message
James Page (james-page) wrote :

Reading: https://www.sebastien-han.fr/blog/2012/10/29/optimized-your-ssd/

Also feels like SSD's should use noop rather than deadline or cfq.

Changed in ceph (Ubuntu):
status: Confirmed → Invalid
Revision history for this message
James Page (james-page) wrote :

I don't think this should be done in the package; if there was a good opinionated choice here I think upstream ceph would have already done it.

Changed in charm-ceph:
status: Triaged → Won't Fix
Revision history for this message
James Page (james-page) wrote :

Marking ceph charm task as won't fix; we have a migration path for ceph charm deployments to ceph-mon/ceph-osd, so ceph won't get any further new features or improvements.

Revision history for this message
Frode Nordahl (fnordahl) wrote :

For spinning disks, I/O schedulers other than deadline are subject to issues with read operations taking too long due to write starvation.

Just my $ 0.2

Alvaro Uria (aluria)
tags: added: canonical-bootstack
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.