Travailler avec le Rescue System Linux

Dans cet article, nous vous montrons comment utiliser le système de secours de votre serveur dédié.

Le Rescue System est un outil important pour diagnostiquer et réparer votre système.

Remarque

Pour savoir comment démarrer votre serveur dans le Rescue System, cliquez ici.

Afficher le partitionnement

Vous pouvez utiliser la commande df pour afficher votre système de fichiers :

df
Filesystem 1k-blocks Used Available Use% Mounted on
/dev/ram0 31729 26640 5089 84% /

Dans le Rescue System, vous pouvez partitionner le disque dur interne ou corriger des paramètres incorrects. Voici à quoi ressemble le partitionnement par défaut du disque dur de votre serveur racine :

Remarque

L'exemple suivant montre une session de sauvetage sur des serveurs root avec raid logiciel. Pour les serveurs avec raid matériel, le résultat de fdisk -l peut différer.

fdisk -l
Disk /dev/sda: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sda1 1 123 987966 fd Linux raid autodetect
/dev/sda2 124 367 1959930 82 Linux swap / Solaris
/dev/sda4 368 30401 241248105 5 Extended
/dev/sda5 368 976 4891761 fd Linux raid autodetect
/dev/sda6 977 3409 19543041 fd Linux raid autodetect
/dev/sda7 3410 4018 4891761 fd Linux raid autodetect
/dev/sda8 4019 30401 211921416 fd Linux raid autodetect

Disk /dev/sdb: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sdb1 1 123 987966 fd Linux raid autodetect
/dev/sdb2 124 367 1959930 82 Linux swap / Solaris
/dev/sdb4 368 30401 241248105 5 Extended
/dev/sdb5 368 976 4891761 fd Linux raid autodetect
/dev/sdb6 977 3409 19543041 fd Linux raid autodetect
/dev/sdb7 3410 4018 4891761 fd Linux raid autodetect
/dev/sdb8 4019 30401 211921416 fd Linux raid autodetect

Disk /dev/md8: 217.0 GB, 217007456256 bytes
2 heads, 4 sectors/track, 52980336 cylinders
Units = cylinders of 8 * 512 = 4096 bytes

Disk /dev/md8 doesn't contain a valid partition table

Disk /dev/md7: 5009 MB, 5009047552 bytes
2 heads, 4 sectors/track, 1222912 cylinders
Units = cylinders of 8 * 512 = 4096 bytes

Disk /dev/md7 doesn't contain a valid partition table

Disk /dev/md6: 20.0 GB, 20012007424 bytes
2 heads, 4 sectors/track, 4885744 cylinders
Units = cylinders of 8 * 512 = 4096 bytes

Disk /dev/md6 doesn't contain a valid partition table

Disk /dev/md5: 5009 MB, 5009047552 bytes
2 heads, 4 sectors/track, 1222912 cylinders
Units = cylinders of 8 * 512 = 4096 bytes

Disk /dev/md5 doesn't contain a valid partition table

Disk /dev/md1: 1011 MB, 1011548160 bytes
2 heads, 4 sectors/track, 246960 cylinders
Units = cylinders of 8 * 512 = 4096 bytes

Disk /dev/md1 doesn't contain a valid partition table

Si fdisk ne fournit pas de liste, il peut y avoir un problème avec le contrôleur, les disques durs ou le câblage. Dans ce cas, veuillez contacter le Service Client IONOS.

Analyser le système de fichiers

Tout d'abord, vous devez effectuer une vérification du système de fichiers sur vos partitions Linux pour corriger toute erreur dans la structure des fichiers. Veuillez noter que les partitions ne doivent pas être montées, sinon des pertes de données pourraient se produire.

fsck -f /dev/md1

Le résultat d'une structure de fichiers non défectueuse ressemble à ceci :

fsck -f /dev/md1
fsck 1.40-WIP (07-Apr-2007)
e2fsck 1.40-WIP (07-Apr-2007)
/: recovering journal
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information

/: ***** FILE SYSTEM WAS MODIFIED *****
/: 7628/123648 files (0.5% non-contiguous), 83136/246960 blocks

md5, md6 et md7 sont XFS et n'ont pas besoin d'être vérifiés. Si vous voulez les vérifier quand même, vous pouvez utiliser la commande rescue:~# xfs_check /dev/mdX. Si vous recevez un message d'erreur, montez et démontez la partition, puis effectuez à nouveau la vérification :

xfs_check /dev/md5
ERROR: The filesystem has valuable metadata changes in a log which needs to
be replayed. Mount the filesystem to replay the log, and unmount it before
re-running xfs_check. If you are unable to mount the filesystem, then use
the xfs_repair -L option to destroy the log and attempt a repair.
Note that destroying the log may cause corruption -- please attempt a mount
of the filesystem before doing this.
mount /dev/md5 /mnt
umount /dev/md5
xfs_check /dev/md5

Si le contrôle ne s'exécute pas correctement à nouveau, la partition peut être réparée avec xfs_repair. Veuillez noter que l'option -L peut entraîner une perte totale de données. Par conséquent, vous devez toujours créer une sauvegarde d'abord.

xfs_repair -L /dev/mdx

Monter le disque dur interne

Vous pouvez maintenant monter le disque dur interne dans le répertoire /mnt :

mount /dev/md1 /mnt
Remarque

Si votre serveur dédié est un Serveur Cloud Dynamique, la commande pour monter le disque interne est la suivante :

mount /dev/sda1 /mnt 

Obtenir la liste des systèmes de fichiers

Pour visualiser les systèmes de fichiers disponibles, la liste correspondante (fstab) doit être appelée :

cat /mnt/etc/fstab
/dev/md1 / ext3 defaults 1 1
/dev/sda2 none swap sw
/dev/sdb2 none swap sw
/dev/vg00/usr /usr xfs defaults 0 2
/dev/vg00/var /var xfs defaults,usrquota 0 2
/dev/vg00/home /home xfs defaults,usrquota 0 2
devpts /dev/pts devpts gid=5,mode=620 0 0
none /proc proc defaults 0 0
none /tmp tmpfs defaults 0 0

Monter les systèmes de fichiers

Montez maintenant les systèmes de fichiers et passez au système qui s'y trouve :

mount /dev/vg00/usr /mnt/usr
mount /dev/vg00/var /mnt/var
mount /dev/vg00/home /mnt/home
for f in proc sys dev ; do mount --bind /$f /mnt/$f ; done
# Monte les systèmes de fichiers /proc, /sys, et /dev avec une commande sous /mnt

Images sans LVM jusqu'en décembre 2010

Pour les images sans Logical Volume Manager (LVM) des offres serveur jusqu'en décembre 2010, vous devez monter le disque dur interne dans le répertoire /mnt et passer directement au système qui s'y trouve :

mount /dev/md1 /mnt
mount /dev/md5 /mnt/usr
mount /dev/md6 /mnt/var
mount /dev/md7 /mnt/home

Passer à l'environnement chroot

Après avoir monté les partitions, vous pouvez faire un chroot sur le système installé sur les disques durs. Le répertoire /mnt est alors le système de fichiers racine du shell et tous les programmes démarrés à partir de celui-ci. Après le passage à chroot, /mnt devient /, /mnt/var/log devient donc /var/log etc. Cela signifie que certains programmes du système normal fonctionnent également, puisque le point de référence / correspond à celui du système normal.

chroot /mnt

Vous avez maintenant accès à votre système complet et pouvez réparer et/ou configurer votre système de serveur racine.

pwd
/
ll
total 112
drwxr-xr-x 2 root root 4096 Jun 15 17:05 bin
drwxr-xr-x 4 root root 4096 Jun 15 17:07 boot
drwxr-xr-x 10 root root 12288 Jun 15 17:05 dev
drwxr-xr-x 75 root root 4096 Jun 30 06:32 etc
drwxr-xr-x 6 root root 66 Jun 30 12:25 home
drwxr-xr-x 9 root root 4096 Jul 2 2008 lib
drwx------ 2 root root 49152 Jun 15 17:07 lost+found
drwxr-xr-x 2 root root 4096 Sep 22 2007 mnt
drwxr-xr-x 4 root root 4096 Jul 2 2008 opt
drwxr-xr-x 2 root root 4096 Jul 9 2008 proc
drwx------ 10 root root 4096 Jun 16 13:35 root
drwxr-xr-x 3 root root 4096 Jun 19 10:13 sbin
drwxr-xr-x 2 root root 4096 Jun 15 16:52 srv
drwxr-xr-x 2 root root 4096 Aug 14 2008 sys
drwxrwxrwt 2 root root 4096 Jun 15 17:07 tmp
drwxr-xr-x 12 root root 141 Jun 15 17:05 usr
drwxr-xr-x 17 root root 4096 Jun 15 17:07 var
lrwxrwxrwx 1 root root 12 Jun 15 17:05 vmlinuz -> boot/vmlinuz
lrwxrwxrwx 1 root root 16 Jun 15 17:05 vmlinuz.old -> boot/vmlinuz.old

Fonctionnement provisoire des services du serveur dans l'environnement chroot

Vous pouvez également démarrer certains services du serveur via les scripts start/stop ci-dessous depuis /etc/init.d/ du système chroot. Vous pouvez démarrer le système de base de données MySQL avec /etc/init.d/mysql start, par exemple. Une fois le travail terminé, arrêtez à nouveau les services avec l'argument stop au lieu de start (donc pour Mysql avec /etc/init.d/mysql stop).

Remarque

Tous les services du serveur ne peuvent pas fonctionner dans l'environnement chroot. Le système de secours ne doit pas non plus remplacer un système normal qui fonctionne normalement. Vous ne devez démarrer les services du serveur dans l'environnement chroot qu'à des fins de réparation.

Démontage des systèmes de fichiers, arrêt de la session de maintenance

Après avoir terminé la maintenance de votre serveur racine, quittez l'environnement chroot et démontez les systèmes de fichiers dans l'ordre inverse.

Remarque

Un redémarrage avec des systèmes de fichiers montés peut entraîner une perte de données !

exit
umount /mnt/home
umount /mnt/var
umount /mnt/usr
umount /mnt

Test de la mémoire

Le test de mémoire memtest86 est également installé dans le système de secours : vous pouvez vérifier la mémoire principale installée sur votre serveur.

Veuillez noter que le système de secours lui-même utilise déjà une certaine quantité de mémoire principale. Cette mémoire occupée ne peut donc pas être vérifiée avec memtest86.

memtest all
[...]
_

Passer le mode de démarrage à "normal"

N'oubliez pas de repasser le mode de démarrage de votre serveur racine en mode normal dans le menu de configuration avant le prochain redémarrage. Le changement ne prend que quelques minutes.

Redémarrer le serveur

Il est préférable de redémarrer le serveur racine via le shell (démarrage à chaud) que d'activer une réinitialisation via l'outil de récupération depuis le menu de configuration (démarrage à froid). Il suffit donc de changer le mode de démarrage via l'outil de récupération et de redémarrer via le shell avec shutdown :

shutdown -rn now
shutdown: sending all processes the TERM signal...
Connection to ihrunternehmen.de closed by remote host.
$ _