Prérequis
- Récupérer les infos IP de la machine : adresse IP, masque, gateway
- Monter le fichier ISO sur la carte ILO ou DRAC (via le web), récupérer la Knoppix 5.1.1.
Boot sur le CD
Dans cet exemple j'ai utilisé un CD Knoppix avec le même kernel que celui tournant sur le serveur (2.6), on peut aussi booter avec le cd de l'OS (Red Hat, dans ce cas à l'invite tapez linux rescue, la suite est identique).
On boote sur le CD avec les options ci-dessous :
- lang=fr : pour avoir le clavier en français et éviter des galères
- 2 : pour bosser en init 2, on n'a pas besoin du serveur X
Quelques minutes plus tard on obtient l'écran ci-dessous avec la main sur le shell pour pouvoir enfin s'amuser :
Conf réseau
Cette partie n'est pas obligatoire mais peut être utile si on doit récupérer des fichiers via le réseau.
- Définition de la conf IP de base
ifconfig eth0 10.251.10.162 netmask 255.255.252.0 up
- Ajout de la gateway par défaut
route add default gw 10.251.8.1
- Check de la conf
netstat -rn
Conf SSH
Cette partie est facultative mais peut être utile si on veut pouvoir utiliser un vrai terminal, faire du copier/coller, transférer des fichiers, etc.
- On arrête et on relance ssh, on note au passage que les clés sont générées correctement :
- On spécifie un password root avec passwd après avoir modifié PermitRootLogin no par PermitRootLogin yes dans /etc/ssh/sshd_config + reload SSH → /etc/init.d/ssh restart).
Ensuite on peut se logger avec PuTTY directement en ssh sur la machine et disposer d'un environnement de travail efficace.
Vif du sujet
Maintenant on fait quoi ? Le plus simple c'est de monter les partitions et de chrooter l'environnement pour voir ce qui se passe.
On check si on a du LVM ou pas :
root@Knoppix:~# vgscan Reading all physical volumes. This may take a while... Found volume group "rootvg" using metadata type lvm2
Tiens, c'est notre système. On active le VG :
root@Knoppix:~# vgchange -ay rootvg 5 logical volume(s) in volume group "rootvg" now active
On liste les LVs :
root@Knoppix:~# vgdisplay -v rootvg 2>/dev/null|grep "LV Name" LV Name /dev/rootvg/lv_root LV Name /dev/rootvg/lv_usr LV Name /dev/rootvg/lv_var LV Name /dev/rootvg/lv_tmp LV Name /dev/rootvg/lv_mondo
Le /boot n'est pas forcément dans le VG. La plupart du temps il est positionné sur /dev/sda1.
On peut déjà, à ce stade, faire un fsck préventif :
root@Knoppix:~# vgdisplay -v rootvg 2>/dev/null|grep "LV Name"|awk '{print "fsck -fy "$NF}' |sh fsck 1.40-WIP (14-Nov-2006) e2fsck 1.40-WIP (14-Nov-2006) Adding dirhash hint to système de fichiers. Passe 1 : vérification des i-noeuds, des blocs et des tailles Passe 2 : vérification de la structure des répertoires Passe 3 : vérification de la connectivité des répertoires Passe 4 : vérification des compteurs de référence Passe 5 : vérification de l'information du sommaire de groupe ... /dev/rootvg/lv_mondo: ***** LE SYSTÈME DE FICHIERS A ÉTÉ MODIFIÉ ***** /dev/rootvg/lv_mondo: 18/524288 files (11.1% non-contiguous), 434005/1048576 blocks
Puis on les monte :
root@Knoppix:~# mount /dev/rootvg/lv_root /mnt root@Knoppix:~# mount /dev/sda1 /mnt/boot/ root@Knoppix:~# mount /dev/rootvg/lv_usr /mnt/usr/ root@Knoppix:~# mount /dev/rootvg/lv_var /mnt/var/
Enfin on chroote tout ça pour se retrouver “comme sur l'OS” :
root@Knoppix:~# chroot /mnt/ [root@Knoppix /]#
On monte /proc et /sys :
[root@Knoppix boot]# mount /proc/ [root@Knoppix boot]# mount /sys => inutile en kernel 2.4
Correction du fstab
Sous Linux si le fstab contient des entrées incorrectes la machine ne bootera pas complètement. On corrige le fichier via un vi /etc/fstab.
Réinstall du GRUB
grub-install /dev/sda
Réinstall du LILO
lilo -v
Regénération de l'initrd
⇒ Ouvrir/Modifier un initrd.
On check le kernel utilisé ainsi pour obtenir l'initrd utilisé en regardant le /boot/grub/menu.lst ou /etc/lilo.conf :
default=1 timeout=5 splashimage=(hd0,0)/grub/splash.xpm.gz hiddenmenu title Fedora Core (2.6.18-1.2798.fc6) root (hd0,0) kernel /vmlinuz-2.6.18-1.2798.fc6 ro root=/dev/rootvg/lv_root initrd /initrd-2.6.18-1.2798.fc6.img title Fedora Core (2.6.18-1.2798.fc6PAE) root (hd0,0) kernel /vmlinuz-2.6.18-1.2798.fc6PAE ro root=/dev/rootvg/lv_root initrd /initrd-2.6.18-1.2798.fc6PAE.img
Donc ici initrd-2.6.18-1.2798.fc6PAE.img. On le backupe :
[root@Knoppix boot]# cd /boot [root@Knoppix boot]# cp initrd-2.6.18-1.2798.fc6PAE.img initrd-2.6.18-1.2798.fc6PAE.img.backup
Et on regénère le bouzin :
[root@Knoppix boot]# mkinitrd -f /boot/initrd-2.6.18-1.2798.fc6PAE 2.6.18-1.2798.fc6PAE
On peut rajouter des drivers spécifiques si besoin :
[root@Knoppix boot]# mkinitrd -f /boot/initrd-2.6.18-1.2798.fc6PAE 2.6.18-1.2798.fc6PAE --with=ext3 --with=qla2300
On sort et on reboote :
root@Knoppix:~# umount /dev/sda1 /mnt/boot/ root@Knoppix:~# umount /dev/rootvg/lv_usr /mnt/usr/ root@Knoppix:~# umount /dev/rootvg/lv_var /mnt/var/ root@Knoppix:~# umount /dev/rootvg/lv_root /mnt root@Knoppix:~# vgchange -an rootvg root@Knoppix:~# reboot