FAQ

From Grid5000
Revision as of 16:23, 7 December 2005 by Pneyron (talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Why does my home directory not contain the same files on every site ?

Every site has its own file server, this is the user responsibility to synchronise the personal data between his home directory on the different sites. You may use the rsync command to syncronise a remote site home directory (be careful this will erase any file that are not the same as on the local home directory):

rsync -n --delete -avz ~ sync.site.grid5000.fr:~

NB : please remove the -n argument once you are sure you actually don't want to do a dry-run only...;)

How to restore a wrongly deleted file ?

No backup falicity is provided by Grid'5000 platform. Please watch your fingers and do backup your data using external backup services.

How to get a site list of nodes ?

La convention de nommage choisie impose que les noeuds aient un nom de la forme node-xx.site.grid5000.fr, il est donc possible pour un site donnée d'extraire du DNS la liste des noeuds. La définition de la fonction shell (utilisant bash) est donnée en exemple:

function nodelist {
    dig "${1}.grid5000.fr" axfr | grep -E '^node-[0-9]+\.' | cut -f 1 -d ' '
}

Dans le shell il suffit alors d'exécuter pour avoir la liste des noeuds de lyon: nodelist lyon

Y a-t-il un moyen d'obtenir l'ensemble des clefs SSH des machines?

Afin d'éviter de répondre 'yes' lors des connections ssh vers de nouvelles machines, il est possible de générer le fichier ~/.ssh/known_hosts automatiquement pour un site, le contenu étant donné par la commande:

nodelist site | ssh-keyscan -tdsa,rsa  -f -

Est-il possible de ne pas avoir à valider les clés SSH des machines?

Il est possible d'utiliser l'option StrictHostKeyChecking positionnée à no, soit dans le fichier de configuration ~/.ssh/config (ie: StrictHostKeyChecking no), soit passé en argument à ssh (ie: -o StrictHostKeyChecking=no).

Comment tester rapidement qu'un ensemble de machines marche?

Si le site à installé la commande nmap ou fping, il est possible de tester l'état des noeuds (déduit en fonction des requêtes ICMP), au choix, avec pour exemple la liste des noeuds d'un site:

nodelist site | nmap -iL - -sP
nodelist site | fping -a 2> /dev/null

Comment tuer tous mes processus?

  • Sur la machine actuellement connecté (attention, cela à pour effet de vous déconnecter):
kill -KILL -1
  • Depuis, le frontal par exemple, pour l'ensemble des noeuds d'un site:
for node in `nodelist site` ; do
  ssh -o StrictHostKeyChecking=no $node kill -KILL -1 
done

Comment me connecter directement sur les noeuds depuis mon poste de travail?

L'astuce consiste à chainer les commandes ssh et à automatiser ceci en utilisant le fichier de configuration ~/.ssh/config. L'exemple donné ici, nécessite l'emploi de la commande nc ou tcpconnect qui couple une connection réseau avec stdin/stdout:

Host frontale.*.grid5000.fr
Host *.grid5000.fr
   User login
   ProxyCommand ssh login@frontal "nc %h %p"

Note: Les noms de machines en *.grid5000.fr ne sont normalement pas connu à l'extérieur de Grid5000.

Attention: Les commandes nc et tcpconnect ne sont pas nécessairement disponibles sur les frontaux.

Comment accéder à Internet depuis les noeuds ?

Pour des raisons de sécurité, il n'est pas possible de se connecter à Internet depuis l'intérieur de Grid5000. Toute fois, dans la mesure où le port forwarding via ssh n'a pas encore été supprimé, il est possible d'utiliser la commande suivante, qui permet lorsque l'on se connecte sur le port port_g5k de la machine host_g5k, de faire comme si la connexion avait été établie sur le port port de la machine host (à combiner avec l'accès direct aux machines).

ssh -R port_g5k:host:port host_g5k.site.grid5000.fr

Attention: Si il s'agit d'un véritable besoin vous pouvez en toucher un mot à votre administrateur local avant que celui-ci s'en aperçoive et décide de désosser votre station de travail.

Note: Il est possible de combiner cette méthode avec un proxy web comme squid ou Apache afin d'accéder aux serveurs web d'Internet.