Page 1 sur 2

[Parcage]Paramétrer hdparm au démarrage avec systemd

Publié : sam. 29 sept. 2012, 21:23
par hopimet
Comme sur pas mal de laptop, j'avais un soucis de parcage intempestif du HDD et je devais paramétrer hdparm au démarrage. Avant systemd j'avais ajouté hdparm -B 254 /dev/sda dans rc.local pour inhiber totalement le parcage. Avec le passage en full systemd, cela ne fonctionnait plus bien sûr.

J'ai donc mis en place la solution suivante.

D'abord créer un script exécutable nommé hdparm.sh placé dans /usr/bin/ et contenant :

Code : Tout sélectionner

#!/bin/bash
# inhibition du parcage des têtes du HDD
hdparm -B 254 /dev/sda
exit 0;
Ensuite on crée un fichier hdparm.service dans /etc/systemd/system/ et qui contient :

Code : Tout sélectionner

[Unit]
Description=script_hdparm

[Service]
ExecStart=/usr/bin/./hdparm.sh

[Install]
WantedBy=multi-user.target 
Enfin on lance :

Code : Tout sélectionner

# systemctl enable hdparm.service
afin que le script /usr/bin/hdparm.sh soit lancé au démarrage.

Vérifier quand même après un redémarrage que le service a bien été lancé. La commande systemctl status hdparm.service doit renvoyer :

Code : Tout sélectionner

hdparm.service - script_hdparm
          Loaded: loaded (/etc/systemd/system/hdparm.service; enabled)
          Active: inactive (dead) since Fri, 28 Sep 2012 21:03:45 +0200; 24h ago
         Process: 289 ExecStart=/usr/bin/./hdparm.sh (code=exited, status=0/SUCCESS)
          CGroup: name=systemd:/system/hdparm.service
Edit : l'erreur de date Fri, 28 au lieu de Sat, 29 est simplement lié au fait que mon horloge hardware était mal réglée dans le bios !

Et

Code : Tout sélectionner

# hdparm -B /dev/sda
doit indiquer :

Code : Tout sélectionner

/dev/sda:
 APM_level      = 254
Voilà. Merci de vos avis si vous voyez des erreurs ou des améliorations à apporter.

Edit : wiki ici :
http://wiki.archlinux.fr/Hdparm

Re: [Parcage]Paramétrer hdparm au démarrage avec systemd

Publié : mer. 03 oct. 2012, 15:40
par fran
salut

merci , ça fonctionne nickel :D

Re: [Parcage]Paramétrer hdparm au démarrage avec systemd

Publié : mer. 03 oct. 2012, 16:04
par Ypnose
Il ne faut pas non plus oublier qu'à chaque fois que tu mets ton PC en veille, la valeur est remise par défaut (128 donc). Il te faudra donc utiliser des scripts supplémentaires si tu utilises la mise en veille.
J'ai d'ailleurs fait un article sur mon blog à ce sujet.

Et aussi, pense à éditer le wiki, cela pourrait être utile à d'autre.

Re: [Parcage]Paramétrer hdparm au démarrage avec systemd

Publié : mer. 03 oct. 2012, 16:44
par fran
j'ai trouvé ton article

http://tetedulinuxien.fr/2012/08/surveillez-hdd-cron/

mais je ne suis pas assez calé pour faire une adaptation avec systemd :) :chinois:

Re: [Parcage]Paramétrer hdparm au démarrage avec systemd

Publié : mer. 03 oct. 2012, 16:50
par Ypnose

Re: [Parcage]Paramétrer hdparm au démarrage avec systemd

Publié : mer. 03 oct. 2012, 17:10
par Anghirrim
Cool merci!!!

Re: [Parcage]Paramétrer hdparm au démarrage avec systemd

Publié : ven. 05 oct. 2012, 20:09
par hopimet
Ypnose a écrit : Et aussi, pense à éditer le wiki, cela pourrait être utile à d'autre.
Je veux bien mais je ne l'ai jamais fait et je ne sais pas comment faire... :o

Re: [Parcage]Paramétrer hdparm au démarrage avec systemd

Publié : sam. 06 oct. 2012, 00:01
par Ypnose
Je peux m'en occuper demain ou dimanche.

Re: [Parcage]Paramétrer hdparm au démarrage avec systemd

Publié : sam. 06 oct. 2012, 07:53
par hopimet
C'est sympa.

Je me suis loggé sur le wiki mais j'ai peur de faire une connerie car je ne connais pas les balises et les règles de rédaction, mais si il y a un tuto pour ça je veux bien m'y coller. Par ailleurs, tu mettrais ça où : dans la page systemd ou dans Laptop Mode Tools qui parle de hdparm ?

Re: [Parcage]Paramétrer hdparm au démarrage avec systemd

Publié : sam. 06 oct. 2012, 09:23
par FoolEcho
@hopimet: http://wiki.archlinux.fr/Aide:Redaction . Plutôt Laptop Mode Tools (voire une page dédiée vu que hdparm existe sur le wiki anglophone aussi). :chinois:

Re: [Parcage]Paramétrer hdparm au démarrage avec systemd

Publié : sam. 06 oct. 2012, 12:46
par hopimet
Bon j'ai créé la page hdparm dans le wiki en partant de la page du wiki anglais que j'ai traduite.

Reste plus qu'à ajouter à la fin la manip pour créer un service pour systemd au démarrage. J'essaierai de terminer ce week-end

J'ai un petit soucis, dans le wiki anglais ils utilisent un modèle (lowercase title) qui permet d'avoir le titre totalement en minuscules (ici hdparm au lieu de Hdparm). Ce modèle n'existe pas semble-t-il dans le wiki francophone. Comment on fait pour l'importer ?

Re: [Parcage]Paramétrer hdparm au démarrage avec systemd

Publié : sam. 06 oct. 2012, 13:06
par FoolEcho
Tu peux te contenter de {{DISPLAYTITLE:hdparm}}, il me semble.

Re: [Parcage]Paramétrer hdparm au démarrage avec systemd

Publié : sam. 06 oct. 2012, 13:26
par hopimet
It works!

Merci.
(Et désolé pour mes questions triviales)
:)

Voilà, wiki à jour : http://wiki.archlinux.fr/Hdparm

Re: [Parcage]Paramétrer hdparm au démarrage avec systemd

Publié : mar. 06 nov. 2012, 21:27
par Anghirrim
Bon, passage à systemd ce soir. Tout fonctionne parfaitement, hdparm aussi grace à toi. Merci! :chinois:

Re: [Parcage]Paramétrer hdparm au démarrage avec systemd

Publié : mar. 06 nov. 2012, 21:43
par hopimet
Super ! Content que ça t'ai aidé. :)

Re: [Parcage]Paramétrer hdparm au démarrage avec systemd

Publié : mer. 07 nov. 2012, 08:04
par oktoberfest
On peut combiner les deux fichiers en un seul en créant le service de la manière suivante :

Code : Tout sélectionner

[Unit]
Description=script_hdparm

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

[Install]
WantedBy=multi-user.target 

Re: [Parcage]Paramétrer hdparm au démarrage avec systemd

Publié : mer. 22 mai 2013, 11:45
par Kristen
Salut
Je remonte ce post pour signaler une modification suite à une maj de hdparm. Celui-ci se trouvant maintenant dans /usr/bin/hdparm. Donc, pour que hdparm puisse continuer à fonctionner comme service, il faut modifier le fichier /etc/systemd/system/hdparm.service

Code : Tout sélectionner

[Unit]
Description=script_hdparm

[Service]
ExecStart=/usr/bin/hdparm -B 254 /dev/sda

[Install]
WantedBy=multi-user.target 

Re: [Parcage]Paramétrer hdparm au démarrage avec systemd

Publié : mer. 22 mai 2013, 16:54
par hopimet
Merci.

Cela dit, je n'avais pas eu de problème sachant que j'utilise la méthode décrite dans mon premier post : faire appel à un script qui appelle lui même hdparm. Du coup l'emplacement de hdparm n'a pas eu d'impact.

Re: [Parcage]Paramétrer hdparm au démarrage avec systemd

Publié : mer. 22 mai 2013, 17:44
par Ypnose
hopimet a écrit :Du coup l'emplacement de hdparm n'a pas eu d'impact.
Il n'a pas eu d'impact car ton script cherche hdparm dans le $PATH. Si un jour tu as un problème avec ton $PATH, ton script ne sera plus fonctionnel.
Et puis, tu te compliques la vie. Tu pourrais tout placer directement dans le service.

Re: [Parcage]Paramétrer hdparm au démarrage avec systemd

Publié : mer. 22 mai 2013, 17:54
par hopimet
@Ypnose,

Oui je sais mais comme j'avais fait le script initial, après j'ai eu la flemme de changé. Du coup ça marche comme ça. Mais tu as raison, faudrait que je refasse le service idéalement.