Modifications

Sauter à la navigation Sauter à la recherche
7 229 octets ajoutés ,  13 mars 2016 à 20:21
Ligne 14 : Ligne 14 :  
{{underline|'''Qu'est ce qui diminue la durée de vie de votre carte SD'''}}:
 
{{underline|'''Qu'est ce qui diminue la durée de vie de votre carte SD'''}}:
 
* L'utilisation de la partition Swap
 
* L'utilisation de la partition Swap
* L'utilisation d'un système de fichier journalisé (pour sûr pour stocker des donnée... mais augmente aussi le nombre de cycle d'écriture pour le stockage d'une même information)
+
* L'utilisation d'un système de fichier journalisé (plus sûr pour stocker des données... mais augmente aussi le nombre de cycle d'écriture pour le stockage d'une même information)
 
* L'écriture systématique des Logs sur la carte SD  
 
* L'écriture systématique des Logs sur la carte SD  
   −
Voici donc différentes techniques pour ralonger la durée de vie de votre carte SD.
+
Voici donc différentes techniques pour rallonger la durée de vie de votre carte SD.
    
== Utiliser un Disque USB ==
 
== Utiliser un Disque USB ==
Ligne 28 : Ligne 28 :  
Plus de problème de cycle d'écriture sur la carte SD.
 
Plus de problème de cycle d'écriture sur la carte SD.
   −
Voyez notre article "[http://arduino103.blogspot.be/2013/08/disque-externe-sur-raspberry-pi.html Disque externe sur Raspberry Pi]" pour en savoir plus
+
{{ambox|text=Voyez notre article "[http://arduino103.blogspot.be/2013/08/disque-externe-sur-raspberry-pi.html Disque externe sur Raspberry Pi]" pour savoir comment réaliser une telle opération.}}
 +
 
 +
Dans le cadre de recherche sur l'utilisation de MySql sur Raspberry-Pi, l'article de "[https://www.stewright.me/2013/05/install-and-run-raspbian-from-a-usb-flash-drive/ Install and run Raspbian from a USB Flash Drive]" s'attarde sur l'installation et l'exécution de Raspbian sur un disque Flash externe (parce que la carte SD est vite corrompue pas les opérations d'écriture de MySql). A contrario d'une carte SD, un disque flash dispose de mécanisme permettant de distribuer les écritures sur la mémoire Flash qu'elle utilise.
    
== Désactiver le Swap ==
 
== Désactiver le Swap ==
Ligne 46 : Ligne 48 :     
  sudo apt-get remove dphys-swapfile
 
  sudo apt-get remove dphys-swapfile
 +
 +
== Désactiver l'Access Time ==
 +
Sur les systèmes de fichiers Linux, la date et heure de création, modification et {{underline|dernier accès}} sur un fichier est stocké dans le système de fichier.
 +
 +
Cela signifie que le système d'exploitation doit effectuer des opérations d'écritures sur la carte SD pour stocker cette information. Ce n'est pas de chance, nous voulons justement diminuer les opérations d'écriture sur la carte.
 +
 +
Sur les systèmes d'exploitation plus récent, les systèmes de fichiers sont déjà configuré en {{fname|noatime}}, si ce n'était pas le cas, il est possible de désactiver l'enregistrement de cette information en éditant le fichier {{fname|/etc/fstab}} et en remplacant les occurrences de {{fname|atime}} (''access time'') par {{fname|noatime}} (''no access time'')
 +
 +
<nowiki>proc            /proc          proc    defaults          0      0
 +
/dev/mmcblk0p6  /boot          vfat    defaults          0      2
 +
/dev/mmcblk0p7  /              ext4    defaults,noatime  0      1
 +
# a swapfile is not a swap partition, no line here
 +
#  use  dphys-swapfile swap[on|off]  for that
 +
</nowiki>
    
== Ram Disk ==
 
== Ram Disk ==
Ligne 64 : Ligne 80 :     
A partir de là, on peut imaginer ce que l'on veut.
 
A partir de là, on peut imaginer ce que l'on veut.
 +
 +
== Désactiver les logs ==
 +
S'il y a bien une source importante d'opérations d'écriture, ce sont les LOGs du système. A plus forte raison si vous avez installé un serveur Apache (HTTP).
 +
 +
Vous avez toujours la possibilité d'utiliser un RamDisk mais il convient d'être prudent sur la taille du RamDisk et le transfert des logs.
 +
 +
=== Log Apache ===
 +
Apache produit son log dans le fichier {{fname|/var/log/apache2/access.log}}
 +
 +
Modifier le fichier de configuration {{fname|/etc/apache2/sites-available/000-default.conf}} dans lequel nous allons mettre les log d'accès en commentaire.
 +
 +
<nowiki>...
 +
ErrorLog ${APACHE_LOG_DIR}/error.log
 +
### CustomLog ${APACHE_LOG_DIR}/access.log combined</nowiki>
 +
 +
=== Log CRON ===
 +
CRON est utilisé pour lancer des tâches récurrentes. CRON maintient également un log... pas forcement pertinent.
 +
 +
Dans le fichier {{fname|/etc/default/cron}}
 +
 +
<nowiki>...
 +
EXTRA_OPTS="-L 0"
 +
...</nowiki>
 +
 +
Ne pas oublier de relancer le deamon cron
 +
 +
  <nowiki>service cron restart</nowiki>
 +
 +
=== Les syslogs ===
 +
[https://fr.wikipedia.org/wiki/Rsyslog rsyslog] (''wikipedia.fr'') produit également des logs dont on pourrait se passer.
 +
 +
Modifiez le fichier de configuration {{fname|/etc/rsyslog.conf}}
 +
 +
et commentez les 4 dernières lignes
 +
 +
<nowiki>#daemon.*;mail.*;\
 +
#      news.err;\
 +
#      *.=debug;*.=info;\
 +
#      *.=notice;*.=warn      |/dev/xconsole</nowiki>
 +
 +
== tmpfs pour les LOGS, Streaming, captures ==
 +
Si désactiver tous les LOGs est une opération fastidieuse, vous pouvez envisager la création d'un système de fichier temporaire en mémoire {{fname|tmpfs}} ([http://doc.ubuntu-fr.org/tmpfs doc.ubuntu-fr.org/tmpfs]) pour y rediriger la création des logs et fichiers temporaires.
 +
 +
Cette approche sera surtout très intéressantes '''pour les opérations de streaming et capture d'image''' (ex: vidéo surveillance) qui crée de nombreux accès en lecture/écriture sur une carte SD alors qu'en maintenir une trace/copie sur la carte SD n'a aucune utilité immédiate.
 +
 +
Ca tombe bien, {{fname|tmpfs}} utilise de la RAM et la RAM est capable d'encaisser de nombreux cycles de lecture/écriture.
 +
 +
Les répertoires les plus importants à déplacer sont:
 +
<nowiki>/var/tmp
 +
/var/log
 +
/tmp</nowiki>
 +
 +
Pour déplacer ces répertoires dans la RAM, nous allons éditer le fichier {{fname|fstab}} qui s'occupe du montage des systèmes de fichier au démarrage.
 +
 +
Ajoutez les lignes suivantes:
 +
 +
<nowiki>tmpfs /tmp tmpfs defaults,noatime,nosuid,size=10m 0 0
 +
tmpfs /var/tmp tmpfs defaults,noatime,nosuid,size=10m 0 0
 +
tmpfs /var/log tmpfs defaults,noatime,nosuid,mode=0755,size=10m 0 0</nowiki>
 +
 +
Si vous faites un petit serveur d'impression, il serait également utile de déplacer le répertoire spool de CUPS dans {{fname|tmpfs}}.
 +
 +
Voyez cet article pour plus d'information [http://raspberrypi.stackexchange.com/questions/169/how-can-i-extend-the-life-of-my-sd-card raspberrypi.stackexchange.com/questions/169/how-can-i-extend-the-life-of-my-sd-card] qui propose cet configuration
 +
 +
<nowiki>tmpfs  /var/log                tmpfs  size=20M,defaults,noatime,mode=0755 0 0
 +
tmpfs  /var/cache/apt/archives tmpfs  size=100M,defaults,noexec,nosuid,nodev,mode=0755 0 0
 +
tmpfs  /var/spool/cups        tmpfs  size=100M,defaults,noatime,mode=0755 0 0
 +
tmpfs  /var/spool/cups/tmp    tmpfs  defaults,noatime,mode=0755 0 0</nowiki>
 +
 +
L'on y apprends surtout qu'il est possible de configurer le fonctionnement de {{fname|tmpfs}} avec son fichier de configuration {{fname|/etc/default/tmpfs}} où il est recommander d'utiliser les options suivantes:
 +
<nowiki>RAMLOCK=yes
 +
RAMSHM=yes
 +
RAMTMP=yes</nowiki>
 +
 +
avec une recommandation des tailles suivantes (toujours dans le fichier de config {{fname|/etc/defaut/tmpfs}}
 +
 +
<nowiki>TMPFS_SIZE=10%VM
 +
RUN_SIZE=10M
 +
LOCK_SIZE=5M
 +
SHM_SIZE=10M
 +
TMP_SIZE=25M</nowiki>
 +
 +
== Désactiver la journalisation ==
 +
{{ambox-stop|text=Cette opération doit être réalisé sur la carte SD à l'aide d'un système d'exploitation Linux car le système de fichier ne peut pas être monté}}
 +
{{ambox-stop|text=Suggestion non testée mais d'un réel intérêt}}
 +
 +
Une façon de diminuer le nombre de cycle d'écriture est de désactiver la journalisation des opérations. La contrepartie évidente de l'utilisation d'un système non journalisé est que cela peut résulter en perte de donnée lors d'un démontage sauvage du périphérique (eg: perte d'alimentation, blocage kernel, etc).
 +
 +
Il est possible de désactiver la journalisation sur un système de fichier EXT4 (non monté) comme ceci depuis une machine Linux:
 +
 +
{{underline|Veuillez à remplacer /dev/sdaX par le périphérique correspondant à votre carte SD}}
 +
 +
<nowiki>tune4fs -O ^has_journal /dev/sdaX
 +
e4fsck –f /dev/sdaX
 +
sudo reboot</nowiki>
 +
 +
<small>source: [http://raspberrypi.stackexchange.com/questions/169/how-can-i-extend-the-life-of-my-sd-card raspberrypi.stackexchange.com/questions/169/how-can-i-extend-the-life-of-my-sd-card]</small>
 +
 +
== Utiliser ZRAM ==
 +
Si vous avez malgré tout besoin de plus de RAM, il est possible de retarder le moment d'entrer dans les opérations de Swapping sur votre carte SD (ce qui diminuera sa durée de vie).
 +
 +
[http://en.wikipedia.org/wiki/ZRam zRAM] (''Wikipedia'') est une fonctionnalité du noyaux Linux qui offre une sorte de compression de la mémoire Virtuelle. zRAM permet de retarder le paging sur disque (carte SD) en compressant les blocs en RAM. Cette technique semble appropriée pour les PC plus ancien et moins puissant. Pourquoi ne pas l'exploiter sur un Pi.
29 917

modifications

Menu de navigation