ionice vs. Software-RAID

Software besorgen und anwenden
Post Reply
Message
Author
der_flo
Posts: 4
Joined: 11. Nov 2009 13:52

ionice vs. Software-RAID

#1 Post by der_flo »

Funktioniert ionice in einer Software-RAID-Umgebung korrekt? Ich kann den CFQ-Scheduler für die md-Devices nicht setzen, weil es im Sysfs keine entsprechenden Einträge (z.B. /sys/block/md0/queue/scheduler) gibt. Es sieht so aus, als würden die Einstellungen nicht von den darunterliegenden Festplatten zum RAID-Device propagiert:

Code: Select all

$ cat /sys/block/*/queue/scheduler
noop anticipatory deadline [cfq] 
noop anticipatory deadline [cfq] 
none
none
<snip>
none
none
noop anticipatory deadline &#91;cfq&#93; 
noop anticipatory deadline &#91;cfq&#93;

Code: Select all

# Zwei "dd"s parallel
$ ionice -c3 dd if=/dev/zero of=test1 bs=10M count=100 oflag=dsync
100+0 records in
100+0 records out
1048576000 bytes &#40;1,0 GB&#41; copied, 29,9719 s, 35,0 MB/s
 
$ ionice -c2 -n1 dd if=/dev/zero of=test2 bs=10M count=100 oflag=dsync
100+0 records in
100+0 records out
1048576000 bytes &#40;1,0 GB&#41; copied, 37,251 s, 28,1 MB/s
  
#############
# Oder auch diese&#58;
$ ionice -c3 dd if=/dev/zero of=test1 bs=14M count=1000
1000+0 records in
1000+0 records out
14680064000 bytes &#40;15 GB&#41; copied, 255,732 s, 57,4 MB/s
 
$ ionice -c2 -n1 dd if=/dev/zero of=test2 bs=14M count=1000
1000+0 records in
1000+0 records out
14680064000 bytes &#40;15 GB&#41; copied, 254,077 s, 57,8 MB/s

User avatar
hjb
Pro-Linux
Posts: 3264
Joined: 15. Aug 1999 16:59
Location: Bruchsal
Contact:

#2 Post by hjb »

Hi!

Schwierige Frage. Ich kenne ionice auch erst seit 5 Minuten. Ich nehme an, du hast die Manpage bereits gelesen. Es verwendet den Systemaufruf ioprio_set, und dieser bezieht sich auf Prozesse oder Prozessgruppen. Es sollte eigentlich egal sein, welche Geräte benutzt werden, solange der CFQ-Scheduler verwendet wird.

Ein MD-Gerät braucht keinen Scheduler, weil es die Requests einfach an die beteilgten Platten weiterreicht.

Grüße,
hjb
Pro-Linux - warum durch Fenster steigen, wenn es eine Tür gibt?

User avatar
Janka
Posts: 3585
Joined: 11. Feb 2006 19:10

#3 Post by Janka »

Du musst den CFQ-Scheduler für die Platte(n) setzen, nicht für das multi-device.

Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

der_flo
Posts: 4
Joined: 11. Nov 2009 13:52

#4 Post by der_flo »

Janka wrote:Du musst den CFQ-Scheduler für die Platte(n) setzen, nicht für das multi-device.
Wie du im oberen Listing siehst, ist CFQ für alle Devices konfiguriert, also die beiden Platten sda und sdb, außerdem für ominöse dm-0 bis dm-3 (LVM?). Ich denke also nicht, dass mir hier ein Fehler unterlaufen ist.

Die Manpage habe ich natürlich gelesen und auf meiner Workstation scheinte das auch zu funktionieren, bei den neuen Server mit Software-RAID allerdings nicht.
Oder benchmarke ich falsch? Wie benchmarkt ihr konkurrierende Zugriffe?


Danke vorab für euere Meinungen!
Ciao,
der Flo

User avatar
Janka
Posts: 3585
Joined: 11. Feb 2006 19:10

#5 Post by Janka »

Ich vermute auch, dass hineinspielt, dass du ein File erzeugst, das nur aus Nullen besteht, evtl. wird das ein Sparse-File.

Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

der_flo
Posts: 4
Joined: 11. Nov 2009 13:52

#6 Post by der_flo »

Jetzt werde ich komplett verrückt. Selbst auf meiner Workstation funktioniert auf einmal ionice nicht mehr.

Shell 1:

Code: Select all

ionice -p $$ -c 2 -n 1
time cp -r source copy1
Shell 2:

Code: Select all

ionice -p $$ -c 3
time cp -r source copy2
Die beiden "cp"s synchronisiere ich einigermaßen, trotz alledem kommt bei beiden die gleiche Laufzeit heraus. "source" ist ein Verzeichnis mit 3*Linux-Source hat belegt ca. 1,2GB Speicher.

Mache ich eurer Meinung nach etwas falsch? Wie benchmarkt ihr sowas?

Danke vorab,
der Flo

User avatar
Janka
Posts: 3585
Joined: 11. Feb 2006 19:10

#7 Post by Janka »

Wird ionice denn auf Kindprozesse (cp) vererbt?

Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

der_flo
Posts: 4
Joined: 11. Nov 2009 13:52

#8 Post by der_flo »

IMHO: Wäre ja schlimm wenn nicht. Normale Nice-Werte werden doch auch vererbt, oder? Sonst könnte ja ein Prozeß locker seine eigenen Beschränkungen lockern, er bräuchte nur forken.

Post Reply