Le
problème était le suivant : Le serveur avait eu une panne d'alimentation,
en attente d'une nouvelle alimentation de la part de Dell, les deux disques du
serveur avaient été déplacés dans un autre serveur. Le nouveau serveur a
fonctionné quelques temps, le serveur est monté en lamp et sert aussi de disque
de stockage. Puis le nouveau serveur a commencé à montrer des problèmes
d'erreurs disque. Comme l'alimentation est arrivée entre temps, les disques ont
été replacés dans le serveur d'origine avec la nouvelle alimentation. Dés lors
impossible de redémarrer comme avant. Le système ( une Ubuntu 8.04 LTS desktop
configurée à la main ) indique des erreurs dans le système ext3fs et ne se
monte qu'en lecture seule, ce qui empêche apache de se lancer.
C'est à ce moment que je suis appelé au téléphone pour aider. Mon
conseil : corriger les erreur avec un outil de réparation du disque ( fsck
) et remonter la partition / en rw. Mais je ne suis pas sur place. Il semble en
plus que du RAID1 soit impliqué.
Sur ce j'ai un train à prendre à Antibes pour me rendre à Paris pour les
fêtes. Rendez-vous le soir vers minuit pour une étude plus sérieuse. L'amorçage
de ce serveur est très lent, il commence toujours par une batterie
d'initialisation ( bien 20 secondes ) pendant laquelle une jolie barre blanche
progresse sur l'écran puis enfin propose F1/F2 Ctrl+A etc.. des options pour
activer des gestionnaires du système matériel.
La personne qui prend en charge le problème a déjà réussi à sauvegarder sur
un disque externe les contenus les plus importants ( ceux de /etc et ceux de
/var/lib/mysql ). Je frappe la touche Echappement pour pour choisir le système
que je désire lancer à partir de grub, je choisis le mode de maintenance avec
le dernier noyau ( la deuxième entrée dans le menu ). Première
déconvenue : le fsck est très lent et quelque soit le nombre de fsck
impossible de rectifier les erreurs, elles semblent revenir automatiquement.
Par contre il est possible une fois sur le compte root de monter un disque usb
externe ( par exemple dans /tmp/extern ) et de là de sauvegrader un maximum de
données. Mais cela n'aide pas vraiment, le disque externe n'est pas assez gros
pour contenir l'intégralité des 150Gb de cette partition ou bien même les 30Gb
utilisés de cette partition.
Je tente d'amrocer sur de version du noyau un peu plus anciens, en me disant
que peut-être le support du contrôleur avait peut-être été cassé dans une des
dernières versions... Mais sans succés ( d'ailleurs une petite recherche sur
internet ne donnait rien de concluant dans cette direction ).
Il faut investiguer s'il n'est pas possible de régler ce problème disque
depuis le niveau physique ( RAID ). On reboote et on utilise le gestionnaire de
configuration raid qui est Ctrl+A. En particulier le Ctrl+A doit se faire en
tapant Ctrl+Q puisque le clavier est français et qu'à ce niveau la machine de
comprend que les claviers US. Allons-y pour Ctrl+Q qui nous envoie dans le la
configuration des disques en RAID. Seconde déconvenue : les disques RAID1
n'indiquent aucun problème, le BIOS raid indique juste que les deux disques
sont dans un état optimal. Troisième déconvenue : il n'y a pas
d'utilitaire de reconstruction du disque dans ce BIOS.
Après avoir plusieurs fois lancé le test disque sur le début du disque car
il est extrémément lent, je le lance jusqu à 31% (20 minutes quand même), or
j'aiu la certitude qu'un problème d'inode avait été detecté bien avant 30%,
ceci indique que ce n'est pas le contenu physique du disque qui est en cause
mais son contenu logique. En fait fort probablement les deux disques RAID1 ne
sont plus synchronisés causant ce genre de problème, pourquoi le contrôleur ne
s'en s'aperçoit t'il pas ? mystère.
Tous ces tests disque on pris un temps monstrueux ( et je ne suis même pas
allé jusqu'à la fin du sique ). Si je n'avais pas été pris par le temps,
j'aurais lancé le test, et serait revenu voir le résultat le lendemain
matin...
il est trois heures trente du matin.
De mémoire Avec F1 on rentrer dans le BIOS standard.
Ici rien de spécial, un peu de nettoyage, je supprime la description du
lecteur de disquette puisque celui-ci a été retiré de la machine il y a bien
longtemps, mais rien de très intéressant.
Nous faisons de nombreuses tentatives pour réinstaller un nouveau système
depuis le lecteur de CDROM, mais sais-on pourquoi impossible de 'amrocer la
ubuntu 8.04.03 LTS depuis le CDROM, les menus s'affichent mais le choix live ou
install se solde par l'allumage et l'extinction de la led CD et c'est tout.
Seule une mandrake accepte de s'installer.
Il est 5 heures du matin, comme le temps passe vite.
Finalement j'emploie les grands moyens étant donné que les deux disques sont
en RAID1 ils contiennent théoriquement la même chose, donc on peux n'en garder
qu'un ( ici je n'ai aucun matériel de rechange, il faut donc faire avec les
moyens du bord ).
- j'ouvre la boite
- je reconnecte le controleur RAID sur le port PCI-X. il était sur le port
PCI normal avec la partie étendue juste dans le vide ... Cela marchait avant
donc cela n'est certainemnt pas la cause du problème, mais tant qu'à faire
autant le brancher au mieux surout qu'il n'y a pas d'autre carte qui nécessite
l'utilisation de ce connecteur.
- je déconnecte le second disque dur et je ne laisse que le premier
je reboote, j'entre dans la gestion du RAID on détruit la définition des
deux disque, et en créé une nouvelle en RAID-0 avec un seul disque. On
ré-installe la mandrake sur les 10 premiers Gigas je tente d'installer la
ubuntu 8.04 cdrom qui refusait de démarrer en la copier sur cette partition et
en la référençant dans grub avec un ( .. casper=/root/ubuntu/casper/vmlinuz )
mais dans grub le format de ce fichier n'est pas reconnu. A rebooter sur la
mandrake un file sur ce fichier indique aussi data ( alors que l'on
s'attendrait à un "Linux kernel x86 boot executable"' ... )... Bon donc ce
noyau n'est réellement pas bon ? on abandonne cette solution,
Le temps s'ecoule encore et je tente encore une chose : je rebranche le
second disque (qui étant RAID1 doit être un mirroir du premier ) mais ce
coup-ci pas sur le contrôleur RAID mais sur le contrôleur SATA interne.
- je le connecte d'abord sur le SATA-1 et finalement sur le SATA-0 car sur le
SATA-1 le bios refuse de démarrer. Et on reboote.
- je remonte ce disque en read-only et je copie l'intégralité de son contenu
avec un banal cp -a sur une partition de 40Go créée sur le premier disque.
Il est 6h30 du matin.
Et... Miracle après avoir reconfiguré le contenu de /boot/grub/menu.lst de
la mandriva pour pointer sur le second disque et utilisé /dev/sda2 au lieu de
l'UUID de disque précédant... tout redémarre, et sans erreur.
Maintenant il me reste à bien analyser ce dépannage afin d'en tirer le
maximum d'informations.