Odstavování hlav HDD

Zdravím,
nedávno jsem nainstaloval Fedoru 17 a mám další problém. Mám thinkpad edge e330 s diskem HITACHI HTS545050A7E380 (GG2ZB60C). Od instalace Fedory (v podstatě se to dělo i na Ubuntu) se od disku ozývá nepříjemné lupání, prostě zvuk odstavování čtecí hlavy disku. Nyní je hodnota Load/Unload Cycles na čísle 8558. Na fedoraforums jsem našel pár informací a provedl jsem tyto změny:

Vytvořil jsem soubor /etc/pm/sleep.d/96hdparm s následujícím kódem:

#!/bin/sh

. "${PM_FUNCTIONS}"

case $1 in
    resume|thaw)       hdparm -B 254 /dev/sda ;;
    *) exit $NA ;;
esac
exit 0



a do /etc/sysctl.conf přidal tohle


vm.laptop_mode = 5
vm.dirty_writeback_centisecs = 1500

Každopádně nic nepomáhá a vesele lupu dál. Neměl byste někdo tip co s tím? Díky

PS: 8612

EDIT:
Moje chyba :slight_smile: Zapomněl jsem udělat restart, teď se zdá být všechno v pořádku.

Takže nakonec problém přetrvává. Sice se hodnota odstavování hlaviček zvyšuje pomaleji, ale od včerejška narostla na 8977.

Moc to neřeším. Ale moje hodnota taky není asi malá :slight_smile: Konkrétně 288936 při 187 dní (dle palimsestu).
Našel jsem tento bug https://bugzilla.redhat.com/show_bug.cgi?id=847388
Možná bych to měl řešit taky :slight_smile:
Konkrétně program hdparm by měl mít konfigurační soubor hdparm.conf v etc, kde není.
Ale jak říkám neřešil jsem to. Takže jsem zvědav zda to tady vyřešíš. Pak bych si to nastavil asi také.
Při volném času bych na to asi taky mrknul.
Ale zase parkování hlaviček do parkovací zóny má svůj smysl že. Hlavně při ntb.

Zrovna jsem o tom dopsal zápisek na blogu :slight_smile: (udělám si reklamu - http://blog.kamilhanus.cz/fedora-a-usporne-technologie-pevnych-disku). Zapomněl jsem u toho vytvořeného souboru nastavit spustitelný flag. Předtím, když jsem notebook uspal a znovu probudil, tak se nastavení APM vracelo do defaultní hodnoty. Zatím se to zdá použitelné.
Parkování hlaviček sice smysl má, ale za chvíli bych se ze zvuku odstavování hlaviček zbláznil.

Pěkné :wink:
Asi si to nastavím také, ale něco si k tomu nastuduji.
Mám také hodnotu 128, ale hlavičky jsou neslyšitelné.
Jinak tě vítám na fóru. Jsem si říkal, že je mi tvé jméno povědomé :slight_smile: (z ubuntího fóra)

Časté “parkování” čtecích hlav může také znamenat počátek konce HDD. Stáhněte si soft z webu výrobce pro nízkoúrovňovou kontrolu disku.

e330 by snad jeste nemela mit disk v na odpis. U IBM se to ale resilo uz driv. Disky myvaji nastaveno agresivni parkovani/usporny rezim. Podle me by se o tom neco dalo nalezt i na thinkwiki.

Já jsem si udělal systemd script na nastavení hodnoty. Vše funguje (po rebootu nebo startu pc), ale jak donutit script aby se spustil i po probuzení ze spánku?
/etc/systemd/system/hdparm.service


[Unit]
Description=Setting HDParm
After=suspend.target

[Service]
ExecStart=/sbin/hdparm -B 254 /dev/sda
StandardOutput=null

[Install]
WantedBy=multi-user.target suspend.target

Zkoušel jsem místo suspend.target dát sleep.target ale bez úspěchu.
Dočasně jsem to vyřešil scriptem v /etc/pm/sleep.d (dle Kamil Hanus), ale bylo by to lepší jedním a pomocí systemd :slight_smile:

To by spis systemd musel mit neco jako wakeup.target. Podle me je reseni pres /etc/pm spravne.

Musím se přiznat že jsem byl líný a nějak jsem tu na tohle téma zapomněl. S upgradem na Fedora 18 skript v /etc/pm přestal fungovat. Pokud to nepůjde ošéfovat přes systemd, napadá mě jedině ze zoufalství přidat skript do cron.

//EDIT: Jen malé doplnění - jsem schopný změnit hodnotu APM přes systemd pomoci After=suspend.target. To ale funguje pouze když uspím ntb skrze systémové menu uspat (nepamatuju si, která funkce to ošetřuje). Pokud ale zavřu víko a systém se uspí “sám”, tak se hodnota při probuzení nezmění.

Dotazem do google jsem ziskal toto:
https://bbs.archlinux.org/viewtopic.php?id=151640

Vim, ze se o tom nekde uz diskutovalo, takze urcite nejsi prvni kdo to resi.

Ani se mi nechce psát, kde jsem udělal chybu. Samozřejmě jsem napsal špatně cestu ke skriptu :slight_smile: Takže moje set_hdd_apn.service vypadá následovně:


[Unit]
Description=Setting of APM to value 192
After=sleep.target

[Service]
Type=simple
ExecStart=/usr/bin/set_apm.sh

[Install]
WantedBy=suspend.target

Nicméně to vypadá, že se nějaká obsluha disku spouští až po vykonání nově přidané “rutiny”, takže jsem do /usr/bin/set_apm.sh na začátek musel přidal zpoždění 10 sekund a vše je již v pořádku.