Forum Linux.général Mise en veille et SSH

Posté par  . Licence CC By‑SA.
1
11
mar.
2020

Bonjour,

J'utilise régulièrement une machine distante puissante pour effectuer des calculs assez lourds via une connexion SSH. Cette utilisation est ponctuelle mais récurrente. Actuellement la machine distante tourne presque 24h/24h. Dans le but de sauver quelques kWh, j'aimerai bien pouvoir mettre en veille ma machine locale et la machine distante.

Mon cas d'usage classique serait:
- les deux machines sont éteintes ou en veille
- je démarre et utilise ma machine locale
- ponctuellement, je me connecte à la machine distante (qui démarre à la demande) pour effectuer une tâche de quelques heures
- la machine distante se met en veille au bout d'une certaine période d'inactivité
- j'arrête/met en veille ma machine locale une fois fini.

J'image utiliser :
- configurer une mise en veille prolongée en cas d'inactivité sur les deux machines
- Wake-on-LAN sur la machine distante pour le démarrage auto
- screen/tmux pour conserver mes sessions mais je trouve que je perds en ergonomie avec ces solutions pour parcourir l'historique de ma console par exemple

J'aimerai avoir des retours pour savoir si je suis sur la bonne voie ou pas du tout.

En particulier j'ai des doutes sur le choix screen/tmux qui ne me semblent pas très pratique.
Est-ce qu'il serait possible avec une autre solution d'avoir quelque chose de "transparent" où la connexion ssh passerait "en pause" lorsque la machine distante se mettrait en veille et la machine distante serait redémarrée à la première action dans la console ssh?

Merci pour vos retours

  • # tmux en login shell sur la machine

    Posté par  . Évalué à 2.

    ca me semble pas mal, mais…

    • configurer une mise en veille prolongée en cas d'inactivité sur les deux machines

    sur la machine distante, comment detecter l'inactivité ?
    c'est généralement l'absence de frappe clavier qui distingue une machine active d'une machine inactive…

    • Wake-on-LAN sur la machine distante pour le démarrage auto

    OUI, c'est très bien et je le fais sur mon LAN ou je n'allumes mon cluster de maquette que quand c'est necessaire.
    Mais il faut que la machine soit éteinte (mise en veille profonde) et non en simple veille.
    Et ca ne passe pas toujours très bien les firewalls/NAT, donc existe un WakeOnLan d'un serveur distant au travers d'un VPN vers un site distant

    • screen/tmux pour conserver mes sessions mais je trouve que je perds en ergonomie avec ces solutions pour parcourir l'historique de ma console par exemple

    tmux ou screen en shell par défaut pour ton utilisateur distant devrait faire l'affaire

    sinon il te faut lancer les scripts de calcul en tache de fond detacheable
    avec nohup par exemple

    nohup tonscript
    • [^] # Re: tmux en login shell sur la machine

      Posté par  . Évalué à 1.

      sur la machine distante, comment detecter l'inactivité ?
      c'est généralement l'absence de frappe clavier qui distingue une machine active d'une machine inactive…

      On peut utiliser la charge de la machine sur les 15 dernières minutes, renvoyée par la commande uptime.

      • [^] # Re: tmux en login shell sur la machine

        Posté par  . Évalué à 1.

        J'ai découvert autosuspend qui a l'air de pouvoir faire pas mal de chose:
        - détection user
        - détection charge CPU
        - détection connexion TCP
        - …

        Faut que je teste mais ca commence à prendre forme.

        Petit problème, j'ai un écran noir à la sortie du suspend sur la machine distante. Je crois que c'est un problème avec la carte GPU NVIDIA .. à voir

        • [^] # Re: tmux en login shell sur la machine

          Posté par  . Évalué à 2.

          pas très grave si tu te connecte en ssh, non ?

          • [^] # Re: tmux en login shell sur la machine

            Posté par  . Évalué à 1.

            J'ai un peu plus qu'un écran noir en fait … le PC a l'air de redémarrer mais il doit se planter quelque part et plus rien. Pas de connexion ssh, pas de ping, … donc un peu gênant quand même :)
            Faut que je vois si c'est mieux/pire avec le driver nouveau.
            Je suis avec une Ubuntu 18.04 LTS et une Quadro 4000.

            • [^] # Re: tmux en login shell sur la machine

              Posté par  . Évalué à 3.

              le PC a l'air de redémarrer mais il doit se planter quelque part et plus rien

              ne pas le mettre en veille profonde, et l'éteindre serait peut-etre une solution.

              le wake-on-lan fera alors un boot standard.

              • [^] # Re: tmux en login shell sur la machine

                Posté par  . Évalué à 1.

                L'hibernation fonctionne, c'est vraiment le suspend qui pose problème.

                Effectivement, je vais partir sur l'hibernate ou shutdown dans un premier temps. Une fois le problème du suspend corrigé, je passerai en hybride (suspend, réveil au bout de 15 min et hibernate pour la longue durée).

                Je finirai ça une fois que j'aurai un accès physique … dans quelques temps!

  • # Mise en veille si inactivité

    Posté par  (site Web personnel) . Évalué à 1. Dernière modification le 13/03/20 à 17:07.

    A adapter à ton contexte, mais si ta machine distante a une session graphique, tu peux utiliser Xprintidle, qui est un utilitaire qui interroge le serveur X sur le temps d'inactivité de l'utilisateur et l'affiche sur la sortie standard (en milliseconde).
    J'ai fait un tuto sur le sujet :
    https://framagit.org/genma/enad/-/wikis/Fermeture-automatique-de-la-session-au-bout-de-3-minutes-d%E2%80%99inactivit%C3%A9

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n’en sommes pas responsables.