Mon serveur ne répond plus ? J'utilise la console d'urgence

Les informations de cette page sont reprises de notre blog.

Comme vous le savez probablement déjà, notre plateforme vous met à l'abri d'une panne matérielle sur votre serveur.

En effet, en cas de soucis sur la machine ou si nous suspectons un problème à venir (température anormale, mémoire corrompue…), votre “serveur” sera migré automatiquement sur une autre machine.
Par contre, si vous avez un problème interne à celui-ci et qu'il ne répond plus, c'est alors souvent à vous d'intervenir.
Dans tous les cas, vous devez préalablement vérifier que votre serveur est marqué comme 'Ok' sur votre interface Gandi, il peut être soit stoppé, soit en pause pour défaut de paiement par exemple.

On peut distinguer trois cas:

Vous arrivez encore à vous connecter en ssh sur votre serveur.

Les commandes suivantes vous permettront alors d'analyser la situation :

  • “uptime” vous donnera la charge instantanée de la machine,
  • “free”, dont la colonne “used” vous indiquera la quantité de mémoire utilisée par vos applications
  • “top” (nous vous conseillons d'installer “htop”) vous indiquera en temps presque réel le classement des applications (ou processus) qui consomment des ressources (mémoire, processeur),
  • “dmesg” vous montre les messages issus du kernel linux de votre serveur,
  • la lecture des fichiers de logs comme /var/log/messages ou /var/log/daemons avec la commande 'tail' par exemple (tail /var/log/daemons) vous donnera également de précieuses informations.
  • “df –h” vous indique le taux d'occupation de vos disques.

Vous n'arrivez plus à vous connecter à votre serveur en SSH

Il ne répond plus au ping ou qu'il répond lentement.
La console virtuelle, activable à partir de la page de gestion de votre serveur virtuel, vous donne un accès direct à votre machine à la manière d'un écran et un clavier (toujours virtuel) branché en direct sur le serveur.

Dans ce cas-là, il existe une méthode pour stopper tous les processus qui posent problème et avoir de nouveau accès au serveur.

Les raccourcis 'sysreq' sont disponibles par la console sur votre serveur. Les commandes sont à donner en appuyant sur Ctrl et “o” (comme Oscar) pour entrer en mode sysreq, puis indiquez la commande. Vous pouvez ainsi stopper tous les processus par : Ctrl+o +i (pour kill).
Ctrl+o +h vous permet d'avoir une aide succincte sur toutes les commandes sysreq disponibles.

Votre serveur peut être "injoignable" mais fonctionner tout de même sans aucun problème technique.


Cela peut arriver dans le cas où votre serveur aurait été victime d'une attaque DDoS par exemple. Votre serveur sera alors isolé du réseau afin de protéger notre infrastructure et la qualité de service pour les autres clients.

Vous pouvez vérifier si votre serveur est dans cet état en effectuant une commande 'traceroute' vers l'IP de votre serveur. Si ce dernier s'arrête à l'entrée de Gandi, sur un de nos routeurs par exemple ou même avant, il est bien probable que votre serveur ait été isolé du réseau. Vous pourrez alors vous connecter au serveur via la console, mais il faudra contacter le support pour régler la situation (il vous contactera souvent avant). Ce cas de figure ne concerne que très peu de serveur.

Maintenant si vous êtes toujours bloqué, c'est que vous êtes dans le 4ème cas : le votre. Envoyez alors un email à notre équipe support indiquant bien que votre serveur est bloqué, vous recevrez alors une réponse le plus rapidement possible.

Les pannes les plus courantes

  • plus d'espace disque sur votre disque système: la situation est souvent causée par une mauvaise gestion des logs sur le serveur ou par une base de données, par exemple, qui se remplirait trop rapidement. La solution consiste souvent à faire le ménage ou à agrandir le disque (voir le tutoriel)
  • plus assez de mémoire vive sur le serveur ou trop de mémoire utilisée : la solution simple consiste à prendre plus de RAM en ajoutant des parts. Si vous êtes en mode expert, vous pouvez également essayer de modifier le comportement de Linux avec la mémoire disponible en utilisant la commande 'sysctl -w vm.overcommit_memory = 2'. Attention : pour que la modification soit maintenue lors d'un redémarrage, vous devrez aussi ajouter la ligne “vm.overcommit_memory = 2” aux fichiers ”/etc/sysctl.conf” et ”/etc/gandi/sysctl.conf”.
  • trop de processus tournent en parallèle sur votre machine : il vous faudra alors diminuer les valeurs dans les fichiers de configuration de vos applications (le nombre de connexions simultanées sur Apache, par exemple) ou augmenter la puissance de votre serveur en lui ajoutant des parts.


System Requests

Notez que les commandes suivantes ne seront prises en compte qu'après un retour à la ligne.

Il faut donc taper simultanément sur les touches CTRL + O (oh, eau, ô et non pas zéro), ensuite utilisez la lettre majuscule présente dans la commande souhaitée, H pour l'aide, un numéro pour modifier le niveau de log, B pour redémarrer le serveur, …

HELP
loglevel(0-9) 
reBoot 
Crash 
terminate-all-tasks(E) 
memory-full-oom-kill(F) 
kill-all-tasks(I) 
thaw-filesystems(J) 
saK 
show-backtrace-all-active-cpus(L) 
show-memory-usage(M) 
nice-all-RT-tasks(N) 
powerOff 
show-registers(P) 
show-all-timers(Q) 
unRaw 
Sync 
show-task-states(T) 
Unmount 
show-blocked-tasks(W) 

Escape Sequences

Notez que les commandes suivantes ne seront prises en compte qu'après un retour à la ligne.

Après avoir tapé sur la touche Entrée pour passer à la ligne, vous pouvez donc effectuer une des séquences d'échappement suivantes.

Supported escape sequences:
~.  - terminate connection (and any multiplexed sessions)
~B  - send a BREAK to the remote system
~C  - open a command line
~R  - Request rekey (SSH protocol 2 only)
~^Z - suspend ssh
~#  - list forwarded connections
~&  - background ssh (when waiting for connections to terminate)
~?  - this message
~~  - send the escape character by typing it twice
Dernière modification: le 17/02/2014 à 13:12 par Gilles L. (Gandi)