technique:infrastructure:urgence

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
technique:infrastructure:urgence [2022/11/14 10:20] qduchemitechnique:infrastructure:urgence [2023/05/30 18:39] (Version actuelle) qduchemi
Ligne 3: Ligne 3:
 # Accès d'urgence aux machines # Accès d'urgence aux machines
  
-Dans certains cas où il n'est plus possible d'accéder aux machines par SSH ou via l'interface Proxmox, par exemple en cas de redémarrage raté, de kernel panic ou de freeze, une fonctionnalité permet de reprendre la main sur les machines.+Quand il n'est plus possible d'accéder aux machines par SSH ou via l'interface Proxmox, par exemple en cas de redémarrage raté, de kernel panic ou de freeze, il est utile de pouvoir les forcer à redémarrer ou reprendre la main sur une console et régler le problème.
  
 ## Sur les machines virtuelles ## Sur les machines virtuelles
  
-Dans l'interface Proxmox, on peut obtenir un accès VNC en cliquant sur "Console" pour les machines virtuelles.+### Accès VNC web
  
-On arrive alors dans un terminal où on peut se connecter en tant que root pour administrer la machine, ou avec son compte LDAP si ça fonctionne.+Dans l'interface Proxmox, on peut obtenir un accès VNC en cliquant sur « Console → NoVNC » pour les machines virtuelles. 
 + 
 +{{ :technique:infrastructure:vnc.png |}} 
 + 
 +<bootnote learn>VNC (Virtual Network Computing, littéralement « informatique virtuelle en réseau ») est un système de visualisation et de contrôle de l'environnement de bureau d'un ordinateur distant. Il permet au logiciel client VNC de transmettre les informations de saisie du clavier et de la souris à l'ordinateur distant, possédant un logiciel serveur VNC à travers un réseau informatique ([source](https://fr.wikipedia.org/wiki/Virtual_Network_Computing)).</bootnote> 
 + 
 +<bootnote>[NoVNC](https://novnc.com/info.html) est un client VNC pour le web.</bootnote> 
 + 
 +Un terminal où on peut se connecter en tant que root (mot de passe dans [[asso:tuto:vaultwarden|Vaultwarden]]) pour administrer la machine, ou avec son compte LDAP si ça fonctionne.
  
 Par contre le clavier est en QWERTY, si le mot de passe contient des caractères spéciaux, c'est impossible à taper. Et on ne peut pas faire de copier/coller... Une astuce sur Linux est de copier le mot de passe dans son presse-papier, lancer dans un terminal : Par contre le clavier est en QWERTY, si le mot de passe contient des caractères spéciaux, c'est impossible à taper. Et on ne peut pas faire de copier/coller... Une astuce sur Linux est de copier le mot de passe dans son presse-papier, lancer dans un terminal :
Ligne 18: Ligne 26:
  
 Puis revenir vite dans la fenêtre VNC, et le mot de passe se tape tout seul. Puis revenir vite dans la fenêtre VNC, et le mot de passe se tape tout seul.
-Débrouillez vous pour l'install des paquets et tout désolé la doc est un peu sèche pour le moment. 
  
-On peut aussi utiliser SPICE, pour cela il faut installer virt-manager, virt-viewer et spice-gtk sur sa machine. Il faut également utiliser SPICE pour l'affichage sur la VM (catégorie Matériel) et enfin ouvrir le port 3128 sur l'hyperviseur.+### Accès SPICE
  
-## Sur Alice et Bob +<bootnote learn>SPICE (acronyme anglais de « Simple Protocol for Independent Computing Environments », signifiant « Protocole simple pour des environnements informatiques indépendants ») est un protocole de communication, utilisé en général en virtualisation, pour visualiser et gérer à distance un système d'exploitation ([source](https://fr.wikipedia.org/wiki/SPICE_(protocole))).</bootnote>
  
-<bootnote>Depuis un accès physique, l'interface vPro se configure avec la combinaison de touche `Ctrl+Pavant le boot.</bootnote>+SPICE a des fonctionnalités beaucoup plus avancées que VNC, en particulier le copier-coller. Il permet aussi d'accéder nativement aux périphériques USB de la machine, à son son, etc. L'écosystème SPICE permet notamment de configurer et de sauvegarder la configuration d'accès aux machines virtuelles sur sa machine locale, pour un accès rapide. 
 + 
 +<bootnote warning>Pour que le copier-coller fonctionneil faut que le paquet `spice-vdagent` soit installé sur la machine virtuelle.</bootnote> 
 + 
 +Sur sa machine locale, il faut installer les paquets `virt-manager`, `virt-viewer` et `spice-gtk`. 
 + 
 +Dans l'interface Proxmox, il faut choisir `SPICE` comme « écran » de la machine, dans l'onglet `Matériel`
 + 
 +{{ :technique:infrastructure:spice.png |}} 
 + 
 +<bootnote warning>Si l'option n'était pas activée, un redémarrage de la machine est nécessaire.</bootnote> 
 + 
 +Enfin, vérifier que le port 3128 est ouvert sur l'hyperviseur (voir [[technique:adminsys:secu:firewall|pare-feu]]). 
 + 
 +Puis on télécharge un fichier à ouvrir avec `virt-manager` en cliquant sur `Console → SPICE`. 
 + 
 +{{ :technique:infrastructure:console.png |}} 
 + 
 +## Sur Bob 
  
-La carte mère de chaque machine possède une fonction qui permet d'avoir accès à la machine quel que soit son état ([[https://en.wikipedia.org/wiki/Intel_Active_Management_Technology|Intel AMT]]).+La carte mère de Bob possède une fonction qui permet d'avoir accès à la machine quel que soit son état ([[https://en.wikipedia.org/wiki/Intel_Active_Management_Technology|Intel AMT]]).
  
-Avec l'AMT, on a un accès VNC aux machines en passant par un rebond sur `nagios.tetaneutral.net`. On ne peut en effet obtenir un accès VNC que via le réseau privé de TTNT+Avec l'AMT, on a un accès VNC aux machines en passant par un rebond sur `nagios.tetaneutral.net`. On ne peut en effet obtenir un accès VNC que via le réseau privé de Tetaneutral
  
 <bootnote warning>Il vous faudra pour ce faire la clé SSH de Picasoft, enregistrée sur `nagios`, et disponible sur le [[asso:tuto:vaultwarden|vaultwarden]].</bootnote> <bootnote warning>Il vous faudra pour ce faire la clé SSH de Picasoft, enregistrée sur `nagios`, et disponible sur le [[asso:tuto:vaultwarden|vaultwarden]].</bootnote>
Ligne 35: Ligne 60:
  
 ```bash ```bash
-# Redirection des ports locaux vers les ports distants des machines Alice et Bob+# Redirection des ports locaux vers les ports distants de Bob 
 +# On suppose que ~/.ssh/id_rsa_picasoft contient la clé privée Picasoft (voir Vaultwarden) 
 +# 192.168.128.151 est paramétrée au niveau de vPro, pas depuis Linux
 ssh -p 2222 nagios.tetaneutral.net -l ttnn -N \ ssh -p 2222 nagios.tetaneutral.net -l ttnn -N \
--i <chemin de la clé SSH de Picasoft> +-i ~/.ssh/id_rsa_picasoft 
--L 8081:192.168.128.151:16992 -L 5911:192.168.128.151:5900 \ +-L 8081:192.168.128.152:16992 -L 5911:192.168.128.152:5900
--L 8082:192.168.128.152:16992 -L 5912:192.168.128.152:5900+
 ``` ```
  
Ligne 49: Ligne 75:
 * `-p 2222` : le serveur SSH sur `nagios` écoute sur le port 2222 * `-p 2222` : le serveur SSH sur `nagios` écoute sur le port 2222
  
-Avec un navigateur web, les URLs suivantes donnent accès à l'interface web d'AMT pour l'inventaire et le lancement des commandes de redémarrage des machines.+Avec un navigateur web, l'URL `http://localhost:8081` donne accès à l'interface web d'AMT pour l'inventaire et le lancement des commandes de redémarrage des machines. Le mot de passe est aussi dans [[asso:tuto:vaultwarden|Vaultwarden]], chercher `vpro`.
  
-* Pour Alice : `http://localhost:8081` +Voici un schéma pour mieux comprendre ce qu'il se passe :
-* Pour Bob : `http://localhost:8082` +
- +
-Voici un schéma pour mieux comprendre ce qu'il se passe, par exemple pour Alice :+
  
 {{ :technique:infrastructure:hyperviseurs:tetaneutral:ssh_port_forwarding_alice1.png?600 |}} {{ :technique:infrastructure:hyperviseurs:tetaneutral:ssh_port_forwarding_alice1.png?600 |}}
Ligne 60: Ligne 83:
 On pourra aussi utiliser un client VNC pour l'accès VNC, comme [remote-viewer (1)](https://linux.die.net/man/1/remote-viewer). On pourra aussi utiliser un client VNC pour l'accès VNC, comme [remote-viewer (1)](https://linux.die.net/man/1/remote-viewer).
  
-* Pour Alice : `remote-viewer vnc://localhost:5911` +```bash 
-* Pour Bob : `remote-viewer vnc://localhost:5912`+remote-viewer vnc://localhost:5911 
 +```
  
-Voici un schéma pour mieux comprendre ce qu'il se passepar exemple pour Alice :+En générall'idée est de redémarrer les machines via l'interface web AMT puis d'utiliser le VNC pour voir les erreurs au démarrage et les corriger.
  
-{{ :technique:infrastructure:hyperviseurs:tetaneutral:ssh_port_forwarding_alice2.png?600 |}}+{{ :technique:infrastructure:amt.png |}} 
 +<bootnote>Depuis un accès physique, l'interface vPro se configure avec la combinaison de touche `Ctrl+P` avant le boot.</bootnote>
  
-En générall'idée est de redémarrer les machines via l'interface web AMT puis d'utiliser le VNC pour voir les erreurs au démarrage et les corriger.+## Sur Alice 
 + 
 +HistoriquementAlice est administrable à distance comme Bob, mais une défaillance de la carte-mère empêche de la redémarrer en utilisant vPro lorsque la machine a freeze. La seule solution est alors de la redémarrer physiquement, mais pour ce faire il faut encore [[technique:infrastructure:ajouter_des_disques_dans_caribou|pouvoir y accéder]]. 
 + 
 +Des bénévoles ont développé une solution permettant de redémarrer Alice à distance « comme si » on la redémarrait physiquement. 
 + 
 +<bootnote learn>C'est un petit système Arduino connecté au pin de redémarrage d'Alice et contrôlable depuis Caribou. Les plans de conception et de branchement sont consultables [sur ce dépôt](https://gitlab.utc.fr/picasoft/projets/arduino-remote-boot).</bootnote> 
 + 
 +Pour redémarrer Alice, il faut se connecter en root sur Caribou et se rendre dans le dossier `/root/arduino-remote-boot#`. 
 + 
 +Si Alice est **allumée**, on lance d'abord cette commande pour l'éteindre : 
 + 
 +```bash 
 +./remote-boot.sh -l 
 +``` 
 + 
 +Puis, quand elle **éteinte**, on lance cette commande pour l'allumer : 
 + 
 +```bash 
 +./remote-reboot.sh 
 +``` 
 + 
 +On peut ensuite suivre le processus de redémarrage en accès VNC. 
 + 
 +<bootnote critical>Il faut rétablir l'accès VNC qui devrait tout de même fonctionner en conditions normales, cf [cette issue](https://gitlab.utc.fr/picasoft/projets/transverse/-/issues/14).</bootnote>
  
 ## Sur Caribou ## Sur Caribou
Ligne 76: Ligne 125:
  
 ```bash ```bash
 +# Coulemelle est la machine de Rhizome dans le même datacenter que Alice
 +# On suppose que ~/.ssh/id_rsa_picasoft contient la clé privée Picasoft (voir Vaultwarden)
 # Redirection du port local vers le port distant de Caribou # Redirection du port local vers le port distant de Caribou
-ssh coulemelle.rhizome-fai.net -l picasoft -N -L 8080:192.168.0.4:443+ssh coulemelle.rhizome-fai.net 
 +-i ~/.ssh/id_rsa_picasoft \ 
 +-l picasoft -N -L 8080:192.168.0.4:443
 ``` ```
  
-On peut ensuite accéder à `https://localhost:8080` et se connecter à l'aide des identifiants présents dans le pass. Il sera notamment possible de redémarrer le système, de gérer les disques du contrôleur RAID et de vérifier la santé du système.+On peut ensuite accéder à `https://localhost:8080` et se connecter à l'aide des identifiants sur Vaultwarden. Il sera notamment possible de redémarrer le système, de gérer les disques du contrôleur RAID et de vérifier la santé du système.
  • technique/infrastructure/urgence.txt
  • de qduchemi