Wyłączenie częstego parkowania głowicy czyli w zasadzie rezygnacja z trybu oszczędzania energii w dysku twardym (oraz głośnego klik) jest bardzo łatwe przy pomocy programu hdparm, który znajduje się w dowolnej dystrybucji.
Należy również pamiętać, że nie wszystkimi modelami dysków możemy sterować. Co najważniejsze, zanim zaczniemy majstrować przy ustawieniach dysków warto o tym jeszcze poczytać aby wiedzieć na 100% co robimy 😉
Aby sprawdzić jaki mam obecny tryb oszczędzania wydajmy komendę:
sudo hdparm -B /dev/sdX
(gdzie X to litera dysku który chcemy sprawdzić np. /dev/sda itd)
Jeśli chcemy zmniejszyć tryb oszczędzania energii do minium wydajemy komendę:
sudo hdparm -B 254 /dev/sda
Oczywiście ustawienia są trwałe tylko do następnego uruchomienia. Aby włączyć je na stałe możemy się posłużyć np. cron’em lub systemd.
a) W przypadku cron’a wystarczy z poziomy root’a/sudo wydać komendę:
crontab -e
I dokonać wpisów jak np. tu dla dwóch moich dysków:
@reboot /sbin/hdparm -B 254 /dev/sda >/dev/null 2>&1
@reboot /sbin/hdparm -B 254 /dev/sdb >/dev/null 2>&1
Znak 'at' odpowiada za uruchomienie polecenia przy restarcie. Należy sprawdzić pełną ścieżkę do hdparm!
b) Przy pomocy systemd możemy stworzyć pojedynczy skrypt, który będzie odpalany przy starcie:
Wpierw tworzymy nasz mały skrypt:
sudo vim /etc/systemd/system/hdparm.service
Wpisujemy do niego to co poniżej. Może być kilka pozycji ExceStart jeśli mamy więcej niż jeden dysk, dla którego chcemy zmienić ustawienia:
[Unit]
Description=Disabling powersaving for hard disks
[Service]
Type=oneshot
ExecStart=/usr/bin/hdparm -B 254 /dev/sda
ExecStart=/usr/bin/hdparm -B 254 /dev/sdb
[Install]
WantedBy=multi-user.target
Zapisujemy plik i zmieniamy do niego uprawnienia:
sudo chmod 755 hdparm.service
Aktywujemy usługę i gotowe:
sudo systemctl enable hdparm.service
Usługa powinna się przy restarcie uruchomić. Możemy sprawdzić jej status:
systemctl status hdparm
Co mniej więcej powinno dać taki wynik:
● hdparm.service – Disabling powersaving for hard disks
Loaded: loaded (/etc/systemd/system/hdparm.service; enabled; vendor preset: disabled)
Active: inactive (dead) since śro 2015-03-18 09:01:13 CET; 3h 14min ago
Process: 370 ExecStart=/usr/bin/hdparm -B 254 /dev/sdb (code=exited, status=0/SUCCESS)
Process: 359 ExecStart=/usr/bin/hdparm -B 254 /dev/sda (code=exited, status=0/SUCCESS)
Main PID: 370 (code=exited, status=0/SUCCESS)
mar 18 09:01:13 pingwin hdparm[359]: /dev/sda:
mar 18 09:01:13 pingwin hdparm[359]: setting Advanced Power Management level to 0xfe (254)
mar 18 09:01:13 pingwin hdparm[359]: APM_level = 254
mar 18 09:01:13 pingwin hdparm[370]: /dev/sdb:
mar 18 09:01:13 pingwin hdparm[370]: setting Advanced Power Management level to 0xfe (254)
mar 18 09:01:13 pingwin hdparm[370]: APM_level = 254