Outils pour utilisateurs

Outils du site


raspberry:dd_externe (lu 1195 fois)

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Dernière révision Les deux révisions suivantes
raspberry:dd_externe [23-05-2013 23:19]
edmc73
raspberry:dd_externe [30-06-2013 21:02]
edmc73 [Si ça ne marche pas]
Ligne 40: Ligne 40:
 Pour que tous ces paramètres soient actifs au redémarrage de la machine, il faut écrire dans le fichier de config **/etc/hdparm.conf** Pour que tous ces paramètres soient actifs au redémarrage de la machine, il faut écrire dans le fichier de config **/etc/hdparm.conf**
  
-Plus d'info sur http://doc.ubuntu-fr.org/hdparm+>Plus d'info sur http://doc.ubuntu-fr.org/hdparm 
 +>Man en français http://www.delafond.org/traducmanfr/man/man8/hdparm.8.html 
 + 
 + 
 +===== Configuration ===== 
 + 
 +Ouvrez le fichier de config et rajoutez les lignes suivantes pour automatiser cette tâche au démarrage de la machine 
 +  vi /etc/hdparm.conf 
 +   
 +  /dev/sda { 
 +    spindown_time = 120 
 +  } 
 + 
 +  service hdparm restart 
 +   
 +===== Utiliser l'ID du disque dur ===== 
 + 
 +Si vous voulez être certain qu'au redémarrage de la machine cette config s'applique au bon disque dur, utilisé le chemin l'id plutôt que le chemin standard. 
 + 
 +Tapez la commande 
 +  ls -l /dev/disk/by-id/ 
 +  total 0 
 +  lrwxrwxrwx 1 root root  9 janv.  1  1970 ata-ST3120022A_3JT2JDW8 -> ../../sda 
 +  lrwxrwxrwx 1 root root 10 janv.  1  1970 ata-ST3120022A_3JT2JDW8-part1 -> ../../sda1 
 +  lrwxrwxrwx 1 root root 13 janv.  1  1970 memstick-SD02G_0xa9baae34 -> ../../mmcblk0 
 +  lrwxrwxrwx 1 root root 15 janv.  1  1970 memstick-SD02G_0xa9baae34-part1 -> ../../mmcblk0p1 
 +  lrwxrwxrwx 1 root root 15 juin  20 07:17 memstick-SD02G_0xa9baae34-part2 -> ../../mmcblk0p2 
 +  lrwxrwxrwx 1 root root  9 janv.  1  1970 scsi-SST3120022A_J32TDJ8W -> ../../sda 
 +  lrwxrwxrwx 1 root root 10 janv.  1  1970 scsi-SST3120022A_J32TDJ8W-part1 -> ../../sda1 
 + 
 +Dans mon cas, je remplacerai 
 +  /dev/sda 
 +par 
 +  /dev/disk/by-id/ata-ST3120022A_3JT2JDW8 
 +   
 +===== Particularité ===== 
 + 
 +J'ai pu remarquer que sur certain disque, la commande de mise en veille fonctionne mais la commande de timeout ne fonctionne pas. Il y a aurai apparemment un timeout minimum sur certain disque. 
 + 
 +  * 10min pour les disques de 1To **hdparm -S 60 /dev/...** 
 +  * 20min pour les disques de 2To **hdparm -S 120 /dev/...** 
 + 
 +===== Si ça ne marche pas ===== 
 + 
 +Dans mon cas, le disque se met bien en veille lorsque je lance la commande de mise en veille mais rien ne se passe avec la commande de timeout. 
 + 
 +J'ai donc créé un petit script qui détecte l'activité du disque et lance la commande à notre place au bout d'un temps défini. 
 + 
 +<file bash hd-standby> 
 +#!/bin/bash 
 + 
 +############################################################################## 
 +# hd-standby 
 +# permet de mettre en standby un disque dur après une durée défini en seconde 
 +# fait par edmc73 le 30-06-2013 
 +############################################################################## 
 + 
 +# définissez le device (hda, hdb, sda, sdb...) 
 +DEV="sda" 
 +# définissez le temps en seconde après lequel le disque doit se mettre en standby 
 +TIMEOUT=600 
 + 
 +############################################################################## 
 +# Main 
 +STATS=`cat /proc/diskstats | grep " $DEV "` 
 + 
 +# Boucle 
 +while true; do 
 +        sleep $TIMEOUT 
 +        NEWSTATS=`cat /proc/diskstats | grep " $DEV "` 
 + 
 +        if [[ $STATS == $NEWSTATS ]] 
 +        then 
 +                #Aucune activité 
 +                hdparm -y /dev/$DEV 
 +        else 
 +                #Activité sur le disque 
 +                STATS=$NEWSTATS 
 +        fi 
 +done 
 +</file> 
 + 
 +Copiez ce fichier, ajoutez les permissions d'exécution 
 +  chmod +x hd-standby 
 + 
 +Pensez à ajuster les 2 premières variables  
 +>DEV : le disque à traiter sda, sdb, hda, hdb etc.. 
 +>TIMEOUT : le temps en seconde avant déclenchement de la mise en veille 
 + 
 +Lancez le script en tache de fond 
 +  ./hd-standby & 
 +   
 +__Amélioration prévu__ 
 +  * Lancer le script comme un service 
 +  * Pouvoir renseigner un disk via son id
raspberry/dd_externe.txt · Dernière modification: 01-10-2017 23:46 de edmc73