08/07/2008

RSEIUB

Gné !?
6 lettres qui ne veulent pas dire grand chose, mais qui m'ont permis de ne pas tuer un serveur (informatique, pas de restaurant) il y a quelques temps.
Petite mise en situation : peu avant midi, matinée calme, quand soudain on m'annonce qu'un des serveurs préparé par mes soins fait des siennes. Plus précisément, une base Oracle tournant sous Debian GNU/Linux n'accepte plus les connexions... Ah. C'est embêtant en effet. Après vérification du problème et analyse des logs, le problème semblerait venir de l'archiveur d'Oracle qui est complètement con, mais là n'est pas le problème. Je tente de redémarrer quelques services, de redémarrer la base : rien n'y fait, impossible de se connecter.
Mince alors ! N'étant pas du tout expert Oracle, je ne sais pas d'où peut venir le problème et ce qui peut le provoquer. Et je me dis que par contre je suis expert en solution classique telles que le redémarrage. Je m'exécute donc. Lorsque dix minutes ayant passé (ne vous inquiétez pas, je ne suis pas resté dix minutes devant l'écran à attendre, j'ai trouvé autre chose à faire) l'affichage n'avait pas changé et restait figé sur le démarrage du listener Oracle après l'extinction d'une demi-douzaine de services (oulah, j'ai du sérieusement merdé pendant l'installation, moi) alors qu'il aurait logiquement dû s'éteindre, je me suis dit qu'il y avait un problème. Oui, enfin, je m'en étais rendu compte une minute après avoir lancé le redémarrage, mais dix minutes après, j'en étais certain.
Et c'est à ce moment là qu'on hésite très fortement à appuyer sur le gros bouton qu'arbore la machine pour ne pas tout casser (le système de fichier par exemple). C'est aussi à ce moment qu'on essaie de trouver une solution, et rapidement, parce que des gens attendent leur serveur pour bosser.
Et là on se souvient d'un vague truc découvert sur le net, mais qui n'avait servi à rien le jour où on l'avait trouvé : "Raising Skinny Elephants Is Utterly Boring". Oui, c'est un peu débile je l'accorde, mais au moins je l'avais retenu. Après avoir vérifié la syntaxe en faisant une petite recherche, je me lance dans une gymnastique des doigts sur le clavier en réalisant quelques commandes assez acrobatiques. Et après quelques déchirures musculaires, mon serveur redémarre enfin, sans souci et j'ai pu passer mon après-midi à tenter de résoudre le problème lié à Oracle, chose accomplie en début de soirée.

Tout ça pour dire, que les lettres RSEIUB, pour un utilisateur GNU/Linux, peuvent se révéler très utile. Je ne rentrerai pas dans les détails que je ne maîtrise pas, et que d'autres sites exposent mieux que moi, mais pour simplifier, il s'agit de passer des commandes de bas niveau directement au noyau au moyen du clavier lorsque le système ne répond pas : [Alt] + [Syst] + [R], puis [Alt] + [Syst] + [S], ... Chose intéressante, si l'affichage graphique a freezé et empêche l'accès aux consoles, il suffit de taper les commandes à l'aveugle en faisant une pause de quelques secondes entre chaque.
Au final on aura dit à notre noyau de clôturer tout ce qui est en cours, de tuer tout ce qui reste, et enfin de redémarrer. Si vous voulez plus d'infos, je ne peux que vous rediriger vers Wikipédia : http://en.wikipedia.org/wiki/Magic_SysRq_key
Conclusion : même dans les situations les plus désespérées, n'écrasez pas le bouton d'extinction de la machine, et utilisez plutôt cette suite de commandes.

2 commentaires:

Unknown a dit…

C'est pas mal, effectivement... Fallait quand même s'en rappeler.

TeKa a dit…

Il y a des trucs comme ça qui restent gravés dans la tête. Pas eu de problèmes à m'en souvenir.
Ensuite chacun est libre d'inventer son propre moyen mnémotechnique pour le retenir. :D