Vraag Hoe kan ik de spindown-tijd van de harde schijf bedienen?


Ik heb 2 harde schijven op mijn pc. Ubuntu schakelt de secundaire HDD na ongeveer 15 minuten heel snel uit, wat voor mij een tekortkoming is. Ik moet deze tijd beheersen. Hoe kan ik het doen?

Ik heb GNOME-energiebeheer geprobeerd, maar vond het niet nuttig.


65
2018-05-03 17:43


oorsprong




antwoorden:


Kijk even naar hdparm.

Van de handleiding (man hdparm op de opdrachtregel):

-S Stel de standby-timeout (spindown) in voor de omvormer. Deze waarde wordt door de drive gebruikt om te bepalen hoe lang te wachten (zonder schijfactiviteit) voordat de spilmotor wordt uitgeschakeld om energie te besparen. Onder dergelijke omstandigheden kan het duren dat de schijf 30 seconden duurt om te reageren op een volgende schijftoegang, hoewel de meeste stations veel sneller zijn.

De codering van de time-outwaarde is enigszins vreemd. Een waarde van nul betekent "time-outs zijn uitgeschakeld": het apparaat zal niet automatisch naar de stand-bymodus gaan. Waarden van 1 tot 240 specificeren veelvouden van 5 seconden, resulterend in time-outs van 5 seconden tot 20 minuten. Waarden van 241 tot 251 specificeren van 1 tot 11 eenheden van 30 minuten, resulterend in een time-out van 30 minuten tot 5,5 uur. Een waarde van 252 betekent een time-out van 21 minuten. Een waarde van 253 stelt een door de verkoper gedefinieerde time-outperiode tussen 8 en 12 uur in, en de waarde 254 is gereserveerd. 255 wordt geïnterpreteerd als 21 minuten plus 15 seconden. Merk op dat sommige oudere schijven heel verschillende interpretaties van deze waarden kunnen hebben.

Zo sudo hdparm -I /dev/sdb | grep level toont de huidige spindown-waarde, bijvoorbeeld:

Advanced power management level: 254

Uit de handleiding: 254 is gereserveerd, dus ik verwacht dat dit de standaard is van Ubuntu (kan iemand dit bevestigen / uitbreiden?)

Voorbeeld:

sudo hdparm -S 25 /dev/sdb = spil na 25 * 5 seconden.

sudo hdparm -S 245 /dev/sdb = spil na (245-240) * 30 minuten.


58
2018-05-03 17:53



bedankt Rinzwind voor de tips, die me veel hebben geholpen, maar ik wou dat ik hiervoor gui zag in de volgende versie van ubuntu of dat het zou kunnen worden geïntegreerd in de power manager van gnome - user16295
Wat betreft het antwoord van lzap lijkt u dat te doen grep voor APM (-B parm) maar over praten -S de spil. Weet jij ook iets over APM? - turbo
De huidige -B instelling wordt weergegeven zoals hierboven aangegeven. Hoe kan ik de stroom zien -S instelling? - SabreWolfy
sudo hdparm -y /dev/sdb doodt het beest onmiddellijk - siamii
@SabreWolfy Ik heb dat als een afzonderlijke vraag gesteld: Hoe kan ik de huidige uitschakeltijd van de schijf vinden? - ændrük


Schijfhulpprogramma -> selecteer HDD-station -> klik op het pictogram "Meer acties ..." in de rechterbovenhoek -> Drive-instellingen ...

De mijne ziet er zo uit: screenshot


42
2017-12-08 13:26



Verreweg het gemakkelijkst, dank je! (Tussen haakjes, het pakket dat je moet installeren als je dit niet hebt is gnome-disk-utility. - Gerhard Burger
weg naar linux! 1 - neu-rah
Ja, extreem gemakkelijk - blij dat dit hier is. - Zzzach...
@Ray U, mijnheer, bent geweldig! Ik had eigenlijk geen enkele hoop dat het zou werken voor een externe harde schijf, maar dat gebeurde wel! - UTF-8
Waarom de meeste tips betrekking hebben op foutgevoelige bestandsbewerking of console-bewerkingen, terwijl gebruikersvriendelijke tools zoals deze al worden afgesloten! - WooYek


Als je geïnteresseerd bent in de instelling van hdparm blijvend tussen reboots, in plaats van het toe te voegen aan de crontab, kun je de /etc/hdparm.conf. Ik heb het volgende, let op het gebruik van hoofdletter S, niet in kleine letters:

command_line {
    hdparm -S 25 /dev/disk/by-uuid/f6c52265-d89f-43a4-b03b-302c3dadb215 
}

Voeg die regel toe die de UUID vervangt door de jouwe, of je kunt ook het apparaat opgeven met /dev/sdX formaat. U kunt de UUID van uw schijf achterhalen met de opdracht sudo blkid.


26
2017-12-03 11:04



Is het correct om te gebruiken command_line vandaag de dag? Ik heb verschillende voorbeelden in mijn /etc/hdparm? - Dims
Ondra Žižka's antwoord lijkt meer up-to-date te zijn. - Raphael


  1. Vind de UUID van je schijf.

    sudo lsblk --output NAME,FSTYPE,LABEL,UUID,MODE
    
  2. Bewerk /etc/hdparm.conf

    sudo -H gedit /etc/hdparm.conf  # Be careful from now on
    
  3. Zoeken spindown-time of uw sectie met schijfinstellingen.

    /dev/disk/by-label/4TB {
        spindown_time = 1200
    }
    
  4. Ik verwijs bij voorkeur naar de schijf volgens UUID, die in verschillende installaties hetzelfde blijft (tenzij je deze in de HW zelf wijzigt).

    /dev/disk/by-uuid/91e32677-0656-45b8-bcf5-14acce39d9c2 {
        spindown_time = 1200
    }
    
  5. Als het init-script opstartproblemen veroorzaakt, kunt u slagen nohdparm  op de kernel-opdrachtregel en het script zal niet worden uitgevoerd.


6
2018-05-04 17:10



Wat zijn de eenheden voor die parameter? - detly
IIRC, het is seconden. Of misschien is dit de parameter die wilde regels had zoals "als het minder is dan 10, dan zijn tientallen seconden, als het minder dan 100 is, dan is het minuten", en zoiets. Ik zou het moeten vinden. - Ondra Žižka
Het zijn geen eenheden, controleer dit: wiki.archlinux.org/index.php/Hdparm - Ondra Žižka
Proost, om de een of andere reden kon ik het niet vinden man hdparm.conf. - detly
man hdparm.conf indirect leest dat de waarde wordt doorgegeven aan -S dus voor waarden <255 moet compatibel zijn met regel in de top antwoord. Alle verdere informatie is welkom. - dma_k


Na uren en uren te hebben doorgebracht, ontdekte ik dat mijn WDC-schijf geen hdparm -S-opdracht ondersteunt, ongeacht het idle3-kenmerk (google: idle3ctl). En dat is een algemeen probleem met WD-schijven. Maar ik ben verheugd om aan te kondigen dat hd-idle (http://hd-idle.sourceforge.net/) werkt foutloos. Indien geïnstalleerd van dpkg-builded package (zie Installatie notities), maakt het een daemon op zowel ubuntu als debian (config is in / etc / default / hd-idle). Werkt goed na het hervatten van de winterslaap.

mc standaard # ps aux | grep hd-idle | grep -v grep | cut -c 66-; voor f in [a-d]; doe hdparm -C / dev / sd $ f | grep -v "^ $"; gedaan
/ usr / sbin / hd-idle -i 1800 -a sdc -i 600 -a sdd -i 60 -l /var/log/hd-idle.log
/ Dev / sda:
 aandrijfstatus is: actief / niet actief
/ Dev / sdb:
 aandrijfstatus is: stand-by
/ Dev / sdc:
 aandrijfstatus is: stand-by
/ Dev / sdd:
 aandrijfstatus is: stand-by


5
2018-02-15 13:42



Zie voor installatie-instructies SATA HDD spindown time instellen voor Western Digital Green-schijven - KrisWebDev


Ik ontdekte dat het spindown-gedrag van Samsung HD204UI afhangt van het APM-niveau (hdparm -B). Als het APM-niveau 127 is, is de spindown-time-out 10 sec. Als het APM-niveau 150 is, wordt de spindown-time-out bepaald door de -S keuze.


5
2018-02-13 17:40



hdparm kan instellen maar niet krijgen -S optie (zie Hoe de speldowntijd van de schijf te bepalen). Om dit te krijgen, gebruikt u de GUI-software "Disk". Zie de ander antwoord met de screenshot. - KrisWebDev


Ik voeg iets toe als:

@reboot sudo hdparm -S244 /dev/disk/by-uuid/71492809-e463-41fa-99e2-c09e9ca90c8e  > /dev/null 2> /dev/null

naar de crontab van de root. Het gebruik van uuid is beter, denk ik omdat sda/sdb etc. lijkt te veranderen bij elke herstart


5
2017-08-28 20:15



Waarom niet gebruiken hdparm.conf? - ændrük


In Ubuntu 14.04

Schijven> markeer station> klik op het tandwiel in de rechterbovenhoek> Drive-instellingen> nu heb je Standby, APM, AAM en schrijfcache-instellingen in een eenvoudig te gebruiken GUI!


3
2018-04-24 21:37



Hoe zorg je ervoor dat dit werkt? Ik heb dit ingesteld, en na het opnieuw opstarten als ik er weer in ga, heeft het onthouden dat de schijf moet worden uitgeschakeld, maar dat doet het nooit. hdparm -C geeft altijd aan dat het actief is en dat alleen hdparm -S xxx vanuit de commandoregel werkt. - dan carter
Waar vind je "schijven"? - nealmcb


Op Debian, met WD-schijven, vind ik dat het instellen van elk niveau met hdparm -S zorgt ervoor dat de omvormer een niveau 254 teruggeeft bij een volgende hdparm -I. Dus ik weet echt niet zeker of ze draaien of niet. Ik denk dat ze nog steeds draaien.

Deze schijven staan ​​op een serverarray en ik wil echt niet dat ze ooit naar beneden gaan. In het verleden heb ik dit gemaskeerd door een cron-taak in te stellen om elke paar minuten een bestand bij te werken.


1
2018-05-01 15:15





Ik had geen geluk met hdparm op een externe HDD gemonteerd in een USB-behuizing, die ik gebruik om media te bedienen met minidlna.

Ik kwam hier een idee tegen: https://serverfault.com/questions/562738/keeping-usb-backup-drive-from-sleeping-while-mounted

De beste resultaten komen van het gebruik van de uuid van de schijf, die u kunt vinden met:

sudo blkid

De volgende methode vereist root-toegang, maar dat geldt ook voor hdparm. Dit gebruikt crontab om elke 5 minuten een willekeurig blok uit de drive te lezen en negeert alle berichten. Om er zeker van te zijn dat u de juiste UUID hebt, test u deze zo op de commandoregel (zorg ervoor dat u de gewenste UUID gebruikt, niet deze):

sudo dd if=/dev/disk/by-uuid/f01df4b5-6865-476a-8d3b-597cbd886d41 of=/dev/null count=1 skip=$RANDOM

3 hand40 details 3 details 3 hand details details details details details 3 hand4040 hand hand hand40 340 3 details40 3 3 3 3 3 3 3 3 3 3

1+0 records in
1+0 records out
512 bytes copied, 0.000738308 s, 693 kB/s`

Om dit bericht te onderdrukken, dat uiteindelijk ergens naartoe geschreven zou kunnen worden, mogelijk het / bestandssysteem (dat in mijn geval op een SSD staat), is hieronder wat ik gebruik in de rootcrontab. Je komt daar met

sudo crontab -e

Vervolgens, onder de opmerkingen:

*/5 * * * * bash -c 'dd if=/dev/disk/by-uuid/f01df4b5-6865-476a-8d3b-597cbd886d41 of=/dev/null count=1 skip=$RANDOM' >/dev/null 2>&1

Ik hoop dat dit iemand anders met soortgelijke problemen helpt. Helaas wordt dit nog steeds naar de syslog geschreven, maar er zijn mogelijk manieren om dat te onderdrukken; zien dit ServerFault-bericht.

[bewerk] 2017-01-07 09:02:

Ik kon deze berichten onderdrukken door /etc/rsyslog.d/50-default.conf te bewerken om deze regel te wijzigen:

*.*;auth,authpriv.none -/var/log/syslog

hieraan:

*.*;cron,auth,authpriv.none -/var/log/syslog

Helaas onderdrukt dit alle cron-berichten; Ik kon cron niet zover krijgen om het loggen van het rootbestandssysteem (dat in mijn geval op een verouderende SSD is gericht, om te leiden, dus ik wil schrijven beperken), maar omdat dit slechts een homeserver is, mis ik waarschijnlijk niet veel. Zou zeker nietbeveel deze strategie aan voor een productiemachine.


1
2018-01-06 11:03