Outils pour utilisateurs

Outils du site


raspberry:dd_externe (lu 1069 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 [30-06-2013 11:23]
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
  
-===== Utiliser UUID ===== 
  
-Si vous voulez être certain qu'au redémarrage de la machine cette config s'applique au bon disque dur, utilisé le chemin uuid plutôt que le chemin standard.+===== 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 Tapez la commande
-  ls -l /dev/disk/by-uuid/+  ls -l /dev/disk/by-id/
   total 0   total 0
-  lrwxrwxrwx 1 root root 15 juin  20 07:17 62ba9ec9-47d9-4421-aaee-71dd6c0f3707 -> ../../mmcblk0p2 +  lrwxrwxrwx 1 root root  9 janv.  1  1970 ata-ST3120022A_3JT2JDW8 -> ../../sda 
-  lrwxrwxrwx 1 root root 15 janv.  1  1970 C522-EA52 -> ../../mmcblk0p1 +  lrwxrwxrwx 1 root root 10 janv.  1  1970 ata-ST3120022A_3JT2JDW8-part1 -> ../../sda1 
-  lrwxrwxrwx 1 root root 10 janv.  1  1970 d7131260-4e2d-413f-a415-9e2d07dd140e -> ../../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  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 Dans mon cas, je remplacerai
-  /dev/sda1+  /dev/sda
 par par
-  /dev/disk/by-uuid/d7131260-4e2d-413f-a415-9e2d07dd140e+  /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