Testé sur : Raspberry Pi 2 (raspbian jessie), Odroid-XU4 (ubuntu-minimal 16.04)
Introduction
Log2Ram est une application permettant de placer les fichiers log en mémoire RAM. L'objectif étant de diminuer le taux d'écritures sur la mémoire système. Cela permet de soulager les vieux disques dur tout en accélérant légèrement le système, ainsi qu'augmenter la durée de vie des mémoires flash (cartes SD, clés USB, etc) utilisées pour le système d'exploitation.
Cette astuce permet d'augmenter la durée de vie des cartes SD utilisées entre autre dans les raspberry pi, odroid, arduino, etc. Par contre elle est inutile sur SSD.
En cas d’arrêt inopiné de la machine sans passer par l'extinction (exemple : coupure de courant), les logs en mémoire ram sont définitivement perdu car ils n'ont pas eu le temps d'être transférés.
Par défaut Log2Ram inscrit les données sur le support définitif une fois toutes les heures.
Installation de log2ram
Lancez les commandes suivantes.
cd /tmp
curl -L https://github.com/azlux/log2ram/archive/master.tar.gz | tar xvzf -
sudo chmod +x ./log2ram-master/install.sh && cd ./log2ram-master && sudo ./install.sh
cd .. && rm -r log2ram-master
Pour configurer log2ram. Pas obligatoire.
sudo nano /etc/log2ram.conf
- SIZE=70M => l'espace maximale qui peut être utilisé dans la mémoire RAM.
- USE_RSYNC=false => par défaut (false) cp est utilisé, mais vous pouvez choisir d'utiliser rsync en remplacant false par true. Si vous souhaitez utiliser rsync, ce dernier doit bien entendu être installé sur la machine.
- MAIL=true => lorsque la mémoire ram est pleine, choisissez si vous préférez recevoir un mail système (par défaut) ou si vous préférez qu'une ligne soit ajouté au fichier log.
# Benchmark et retour d'expérience
Posté par voxdemonix . Évalué à 0 (+0/-0). Dernière modification le 11 mai 2018 à 13:16.
N'hésitez pas à partager à la suite vos retours d'expérience et benchmarks d'utilisation de log2ram vs fonctionnement par défaut. Ceci afin de permettre à tout un chacun d'évaluer le gain potentiel en durée de vie.
# intégration autour de tmpfs, systemd, logrotate et cron
Posté par steph1978 . Évalué à 3 (+0/-0).
À la lecture, j'ai eu une petite alerte mentale "oulah ça réinvente la roue".
Mais non c'est juste la mise en musique d'outils existants.
Bien vu.
# Ne fonctionne pas
Posté par Nylan . Évalué à 0 (+0/-0). Dernière modification le 31 août 2018 à 11:23.
Je déconseille vivement l'installation de cet outil. La seule chose qu'il a réussi a faire c'est flinguer mon installl 18.04.1 LTS qui fait maintenant du 2 à l'heure. Mon DNS est mort, installer un simple package prend 10mn, vérifier le status de cet outil via service log2ram status met 5mn a répondre que ca ne marche pas, et la "déinstallation" fournie via le GitHub ne marche pas non plus.
Personellement c'est vraiment pas cool.
# Ne fonctionne pas, la suite
Posté par Nylan . Évalué à 1 (+0/-0).
/tmp$ sudo chmod +x ./log2ram-master/install.sh && sudo ./log2ram -master/install.sh
install: cannot stat 'log2ram.service': No such file or directory
install: cannot stat 'log2ram': No such file or directory
install: cannot stat 'log2ram.conf': No such file or directory
install: cannot stat 'uninstall.sh': No such file or directory
Failed to enable unit: Unit file log2ram.service does not exist.
install: cannot stat 'log2ram.hourly': No such file or directory
install: cannot stat 'log2ram.logrotate': No such file or directory
Reboot to activate log2ram
service log2ram status
● log2ram.service - Log2Ram
Loaded: loaded (/etc/systemd/system/log2ram.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Sun 2018-01-28 15:58:30 UTC; 7 months 1 days ago
Process: 281 ExecStart=/usr/local/bin/log2ram start (code=exited, status=1/FAILURE)
Main PID: 281 (code=exited, status=1/FAILURE)
Warning: Journal has been rotated since unit was started. Log output is incomplete or unavailable.
service log2ram start
Failed to start log2ram.service: Connection timed out
Le meilleur pour la fin :
sudo chmod +x /usr/local/bin/uninstall-log2ram.sh && sudo /usr/local/bin/uninstall-log2ram.sh
Failed to retrieve unit state: Connection timed out
Failed to stop log2ram.service: Connection timed out
See system logs and 'systemctl status log2ram.service' for details.
Failed to get load state of log2ram.service: Connection timed out
[^] # Re: Ne fonctionne pas, la suite
Posté par voxdemonix . Évalué à 1 (+0/-0).
Problème remonté au dev de log2ram : https://github.com/azlux/log2ram/issues/55
J'ai testé aussi, l'installation ne fonctionne pas mais par contre je n'ai pas tout tes problèmes de DNS, package etc.
Si tu es sous ARM (raspbian ou ubuntu-minimal), dnsmasq, qui est intégré a NetworkManager, a tendance à être instable (sur certains machines ça va, sur d'autres il crash toutes les 10 minutes). Il suffit de redémarrer network-manager via 'sudo service network-manager restart' afin que cela refonctionne.
[^] # Re: Ne fonctionne pas, la suite
Posté par voxdemonix . Évalué à 1 (+0/-0). Dernière modification le 02 septembre 2018 à 22:48.
Voila c'est corrigé.
S'était
au lieu de
En effet l'installeur doit être lancé depuis le dossier d'installation de log2ram.
On soulignera la rapidité de réponse du dev ;) GJ !
Envoyer un commentaire
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.