Wiki [Tuto/HowTo] Transférer les logs en ram avec Log2Ram

0
11
mai
2018

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  . É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  . É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  . É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  . É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  . É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  . Évalué à 1 (+0/-0). Dernière modification le 02 septembre 2018 à 22:48.

        Voila c'est corrigé.
        S'était

        sudo chmod +x ./log2ram-master/install.sh && cd ./log2ram-master && sudo ./install.sh
        

        au lieu de

        sudo chmod +x ./log2ram-master/install.sh && sudo ./log2ram-master/install.sh
        

        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.