Ubuntu HD spindown

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • jozuf
  • Registratie: Augustus 2008
  • Laatst online: 02-09 11:06
Beste mensen,

ik loop weer is tegen een probleem aan met Ubuntu.
Ik kwam erachter dat ubuntuuit zichzelf de HD's nooit in standby modus zet (spindown), tenminste bij de default instellingen, ik wil dit wel graag. Nou had ik al gezocht naar het 1 en ander en ik kwam achter 2 tools
1) laptop-mode-tools
2) hdparm

De laatste was al geinstalleerd (dus zal wel bij ubuntu horen, zelf nooit gedaan) maar niet geconfigureerd. De eerste heb ik wel geinstalleerd gehad maar ik kreeg er met streamen van video hickups door (waarschijnlijk omdat hij begon te spindownen tijdens de stream, denk ik iets te agressief ingesteld).
hdparm wil alleen gewoon helemaal niet werken om na x tijd te auto spindownen, de schijven blijven gewoon actief. Als ik "hdparm -y /dev/sde" doe en vervolgens check met "hdparm -C /dev/sde" dan is de schijf in standby dus hdparm kan het wel.
Ik zorg er overigens voor dat er geen schijfactiviteit is op /dev/sde, dus daar zou het niet aan mogen liggen.

Iemand hier ervaring mee?
Owja als ik "hdparm -S 10 /dev/sde" doe, geef ik via commandline op dat de sde in 50 seconde idle moet slapen, ook dat werk niet... Het lijkt er dus naar dat de schijf niet als idle word aangemerkt alhoewel er toch echt niets op gebeurt (is er een manier om de activiteit per disk te checken toevallig?)
Ik heb hdparm.conf op de volgende manier geedit (de waarde 60 staat raar genoeg voor 5 minuten). De comments heb ik erin gelaten en dit dus als feite als laatste toegevoegd.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/dev/sda {
spindown_time = 240
}
/dev/sdb {
spindown_time = 60
}
/dev/sdc {
spindown_time = 60
}
/dev/sdd {
spindown_time = 60
}
/dev/sde {
spindown_time = 60
}
/dev/sdf {
spindown_time = 60
}
/dev/sdg {
spindown_time = 60
}

Acties:
  • 0 Henk 'm!

Verwijderd

je zou met het volgende kunnen kijken wat er op de schijf nog gebeurd.

echo 1 > /proc/sys/vm/block_dump
je ziet dan in de kernel log alle schijfactiviteit terug. (let op, het is dus aardig wat).

uitzetten kan weer middels
echo 0 > /proc/sys/vm/block_dump

middels greppen op sde kan je zinnige info uit de log halen.

Acties:
  • 0 Henk 'm!

  • jozuf
  • Registratie: Augustus 2008
  • Laatst online: 02-09 11:06
Ik kwam er al achter dat ik eigenlijk sdparm moet gebruiken volgens mij aangezien die bedoeld is voor SCSI devices.
Ik vond dit script en heb het ff aangezwingeld. Het draait nu en het lijkt er naar dat het ook nog is werkt!
Tenminste dit basseer ik enkel op het feit dat ik nu eventjes moet wachten om de /dev/sde binnen te komen na die 5 minuten standby tijd.

Het lijkt een beetje smerige hack alleen. Volgens mij moet sdparm dit ook wel op eigen houtje kunnen.

@dekkertje:

Ben nog beetje linux noob maar als ik dat type (als su of niet) dan krijg ik permission denied.

Acties:
  • 0 Henk 'm!

Verwijderd

hmm, dan heb je wellicht nog een oude kernel/ubuntu.
Je moet het iig als root uitvoeren.

Acties:
  • 0 Henk 'm!

  • jozuf
  • Registratie: Augustus 2008
  • Laatst online: 02-09 11:06
nee ik draai ubuntu 10.4 dus de laatste LTS

---EDIT--

lama deed wat fout, sorry.

Maar als iemand nog ideeën heeft over een betere oplossing, als die er is (deze constructie ziet er zo vreemd uit in mijn ogen) dan hoor ik ze graag!

[ Voor 79% gewijzigd door jozuf op 20-06-2010 12:03 ]


Acties:
  • 0 Henk 'm!

  • Nielson
  • Registratie: Juni 2001
  • Laatst online: 19:05
Heeft iets met 10.04 te maken, na m'n upgrade van 9.04 naar 10.04 werkte het bij mij ook niet meer. Schijnbaar wordt hdparm.conf niet meer aangeroepen tijdens het booten.

Acties:
  • 0 Henk 'm!

  • jozuf
  • Registratie: Augustus 2008
  • Laatst online: 02-09 11:06
nee klopt het init.d script is ook verwijderd sinds een x versies terug maar niet helemaal correct ofzo (iets gelezen over verwijzingen naar de init.d die nog bestonden).
Ik geloof dat het nu dient te gebeuren door udev ofzoiets.
Maar goed ik heb een half assed werkende oplossing dus hou ik het daar maar bij dan.

Acties:
  • 0 Henk 'm!

  • jozuf
  • Registratie: Augustus 2008
  • Laatst online: 02-09 11:06
Nog maar weer even schoppen tegen dit topic aangezien mijn crea bea oplossing uiteraard niet zo goed werkt als ik wil dat het doet :)
Mijn oplossing houd enkel rekening met schrijfactiviteit en niet lezen wat eigenlijk het belangrijkst is.

Daarnaast heb ik al ontdekt dat in ubuntu 10 er gewoon echt een (zover ik heb gelezen onopgeloste) bug zit wat dit betreft, en dan geloof ik met name in geval van upgrade vanaf een oudere versie, wat ook voor mij geld (9.04 => 10.04)

Is er een manier te bedenken om in mijn script de MD5 van de schijfactiveit mee te nemen? Denk het wel hè? Misschien smartctl ofzo gebruiken en daar een statistiek mee pikken?
Zoals het script nu werkt is dmv het volgende commando;
sed 's/ .*//'

Dit word gemd5'd en opgeslagen om 5 minuten later weer te worden vergeleken. Eerlijk gezegd zelf nog geen moeite genoemen om te achterhalen wat sed doet, nog geen tijd gehad.

Acties:
  • 0 Henk 'm!

  • Dadona
  • Registratie: September 2007
  • Laatst online: 07-09 10:34
Allereerst, om te controleren wat de staat van de harde schijven is, zou ik het daarvoor bestemde commando gebruiken en niet simpelweg of het langer duurt om de schijf te benaderen:
code:
1
hdparm -C /dev/sda

Voor wat betreft het kijken of er schrijfactiviteit is (geweest) kun je find gebruiken:
code:
1
find /mnt/raid5 --mmin -30
Als er een file is aangepast dan zul je die terugzien in de lijst met bestanden. Krijg je geen enkel resultaat, maar gingen de schijven wel aan dan hebben we het over leesactiviteiten. Met je MD5 hash doe je precies hetzelfde, alleen resultaat als er een file is aangepast (alleen is de MD5 een wat intensiever proces).

Heb je overigens in /etc/fstab ook gedacht om 'noatime' toe tevoegen, zoals bijvoorbeeld:
code:
1
/dev/md0        /mnt/raid5      ext3    auto,noatime    0       1

Volgens mij is/was het in sommige distros zo dat zonder die optie er continu een controle wordt uitgevoerd, met als gevolg dat je schijf niet zomaar in spindown gaat.

[ Voor 15% gewijzigd door Dadona op 21-06-2010 19:52 ]

De CSL/OT kroeg !


Acties:
  • 0 Henk 'm!

  • jozuf
  • Registratie: Augustus 2008
  • Laatst online: 02-09 11:06
Dadona schreef op maandag 21 juni 2010 @ 19:46:
Allereerst, om te controleren wat de staat van de harde schijven is, zou ik het daarvoor bestemde commando gebruiken en niet simpelweg of het langer duurt om de schijf te benaderen:
code:
1
hdparm -C /dev/sda
Dat had ik al wel ontdekt, stond ook al in de ts. Het probleem is dat als je sdparm gebruikt om de schijven in standby te zetten hdparm altijd zegt dat de schijven active zijn. Als je na een sdparm standby een hdparm -C uitvoerd spint hij de schijven nml zelf op, vandaar. Sdparm lijkt niet de mogelijkheid te hebben (raar genoeg?!) om te echo'en wat de status van de schijf is.

De noatime was ik al tegengekomen maar verder niet naar gezocht en aangezien ik niet wist wat het deed ook maar nog niet aangezeten. Maar goeie, zal het is proberen.

Wat beteft je find, performance verbeteringen zijn altijd welkom :)
Ik weet nu ook waarom mijn script (nou ja ergens van inet geplukt) niet juist werkt. De waarde die ge md5'd word bevat de volgende waarde;
code:
1
2
3
4
5
6
7
8
9
10
Field 1 -- # of reads issued
Field 2 -- # of reads merged, field 6 -- # of writes merged
Field 3 -- # of sectors read
Field 4 -- # of milliseconds spent reading
Field 5 -- # of writes completed
Field 7 -- # of sectors written
Field 8 -- # of milliseconds spent writing
Field 9 -- # of I/Os currently in progress
Field 10 -- # of milliseconds spent doing I/Os
Field 11 -- weighted # of milliseconds spent doing I/Os

Er hoeft maar dit te gebeuren en ze matchen al niet meer (field 11 werd 4 opgehoogt b.v. op een schijf die in principe inactief zou moeten zijn). Wat ik nu dus bedacht heb is het wat te limiteren en enkel field 4 en field 8 te gaan gebruiken.
Mijn bash scripting is nog niet zo top alleen, maar we komen er vast ooit wellis :)
Een echte oplossing in de vrom van ubuntu update zou aan mijn kant welkom zijn :) Maar ja je kan niet alles hebben. Als er nog iemand is met hetzelfde probleem en een betere oplossing houd ik me aanbevolen!

[ Voor 16% gewijzigd door jozuf op 21-06-2010 20:12 ]


Acties:
  • 0 Henk 'm!

  • Dadona
  • Registratie: September 2007
  • Laatst online: 07-09 10:34
Ik las inderdaad dat je -C had al had ontdekt, maar had nog niet door dat je altijd 'active' te zien kreeg. Maar wat is nu het resultaat van zo'n find actie? :) Ik mis namelijk nog wat informatie wat die schijven nu allemaal doen en of er misschien wat schijven in een RAID staan?
Weet je zeker dat je geen last hebt van een actieve share, dat een andere computer doodleuk iedere zoveel minuten een referesh of iets dergelijks doet? :+

De CSL/OT kroeg !


Acties:
  • 0 Henk 'm!

  • jozuf
  • Registratie: Augustus 2008
  • Laatst online: 02-09 11:06
De PC in kwestie is een server/nas (laatste als hoofdfunctionaliteit) en er draaien wat shares op maar ik heb een schijf erin hangen die a) geheel leeg is en b) niet in gebruik (sde) daar test ik nu mee, is het makkelijkst.
En inderdaad hebben we hier ook te maken met een RAID-1 (via de sb firmware) opstelling, dat zou ook nog wellis een vak apart kunnen worden qua spindown.

Het find commando geeft niets terug op sde dus dat is prima.
Zit een beetje te tobben, vind het allemaal maar tricky en wil eigenlijk gewoon een correct werkende hdparm.

---UPDATE---

Tobben kan wellis zin hebben want ik heb het weten te verhelpen!!! Dit is overigens originele bug report van ubuntu. Daarin stond de oplossing om de laatste hdparm package van debian te installeren, dat had ik al geprobeert maar werkte niet.
Toen heb ik die vervolgens weer verwijderd met synaptic package manager en de originele ubuntu versie geinstalleerd en hop het ging!
Heb nog niet gereboot, enkel via init script hdparm gerestart, waarna de spindown lijkt te werken. Nu maar hopen dat ik niet te vroeg juig :)

---UPDATE2---

Na reboot blijft hij het doen dus lijkt opgelost! Bedankt voor de hulp en het meedenken!

Het rare van het hele verhaal vind ik wel dat het niet werkt zoals het bedoelt was volgens mij in ubuntu 10 aangezien er gewoon een init.d script is wat juist uitgefaseerd moest worden en vervangen door udev. Maar goed vind wel prima zo, werkt.

[ Voor 49% gewijzigd door jozuf op 21-06-2010 23:11 ]

Pagina: 1