Skip to main content

Mode sauvetage

Il arrive qu'un serveur devienne inaccessible par SSH à cause d'un réseau défectueux, d'une mauvaise installation, d'une mauvaise configuration, d'une mise à jour du noyau, de mauvaises règles de pare-feu, etc. Lorsque vous ne pouvez pas vous connecter à votre serveur (vous n'avez pas le mot de passe root ou le serveur ne démarre pas), vous pouvez utiliser notre Rescue Mode, qui charge une image Alpine Linux vanille dans la RAM de votre serveur.

Si vous avez le mot de passe root de votre serveur et votre clé SSH, vous devriez utiliser notre [console Serial Over SSH] (serial-over-ssh.mdx).

Exigences

Réseau de couche 3 - Pour que nous puissions charger le système d'exploitation Rescue sur votre serveur, celui-ci doit être accessible à une adresse IP. Par conséquent, votre serveur doit être en mode réseau de couche 3 ou hybride. Si votre serveur est actuellement dans une configuration de couche 2 pure, vous devez le convertir en mode réseau de couche 3 ou hybride pour utiliser le mode Rescue.

Clés SSH - Pour accéder au serveur après son démarrage dans le Rescue OS, vous devez disposer d'une clé SSH valide. Rescue OS utilise les clés publiques SSH associées à votre serveur lors de son provisionnement initial.

Partition racine - Selon le type d'opérations de réparation ou de récupération que vous devez effectuer, vous aurez besoin de l'emplacement de la partition racine du système d'exploitation d'origine. La meilleure façon de trouver cette information est de le faire avant d'avoir recours au mode de secours, à partir du système d'exploitation lui-même. Par exemple, dans Ubuntu, vous pouvez trouver la partition racine avec df -h.

Démarrage en mode de secours

Pour entrer en mode Rescue, vous pouvez trouver le mode Rescue à partir de la page principale Overview de votre serveur. Cliquez sur Server Actions, et sélectionnez Rescue OS dans la liste déroulante.

Rescue OS in the Server Actions Menu

Cette opération redémarre le serveur, charge l'image Rescue OS Alpine Linux dans la RAM, puis démarre le serveur sous Alpine Linux. L'adresse IPv4 publique du serveur reste inchangée.

Une fois que le serveur a démarré, vous pouvez vous connecter en SSH en tant que root en utilisant les clés SSH autorisées. Si vous avez déjà utilisé SSH pour vous connecter au serveur, il se peut que vous receviez un avertissement indiquant que la clé d'hôte a changé et que vous devez supprimer la clé d'hôte de votre fichier d'hôtes connus sur la machine locale avant de pouvoir vous connecter.

ssh root@<server_ip_address>

Lorsque vous avez réussi à vous connecter au serveur par SSH, vous voyez apparaître l'introduction de Rescue OS et l'invite de ligne de commande.

,------. ,--. ,--.
| .---' ,---. ,--.,--.`--',--,--, `--',--. ,--.
| `--, | .-. || || |,--.| \,--. \ `' /
| `---.' '-' |' '' '| || || || | / /. \
`------' `-| | `----' `--'`--''--'`--''--' '--'
`--'
===============================================
OS Rescue Environment
Commit: dd4b2268 (main) BuildNo: unknown
===============================================
Based on Alpine Linux 3.18.4

Use "apk" package manager for additional utilities.
See docs at http://wiki.alpinelinux.org
localhost:~#

Montage de la partition racine d'origine

Pour résoudre de nombreux problèmes, vous devez monter la partition racine du système d'exploitation d'origine. Si vous ne savez pas encore où se trouve la partition racine du système d'exploitation d'origine, vous pouvez essayer de deviner. Il s'agit souvent de dev/sda3 ou dev/sdc3. Pour certains de nos serveurs, elle peut se trouver dans dev/mdxxxxxx est le numéro du périphérique md.

Les exemples de cette page montent de dev/sda3 à /mnt.

mount -t ext4 /dev/sda3 /mnt

Une fois que vous avez réussi à monter une partition, cd s'y trouve.

cd /mnt

Exécutez ls pour voir le système de fichiers du système d'exploitation d'origine.

localhost:/mnt# ls

Cet exemple provient d'Ubuntu 20.04.

bin home libx32 opt sbin tmp
boot lib lost+found proc snap usr
dev lib32 media root srv var
etc lib64 mnt run sys

Si vous avez réussi à accéder à la partition racine, vous pouvez la réparer.

Cas d'utilisation courants et réparations

Réinitialisation du mot de passe racine

Dans les cas où vous pouvez normalement accéder à votre serveur par SSH mais ne pouvez pas utiliser la console SOS/OOB parce que vous avez oublié ou n'avez pas sauvegardé le mot de passe root, vous pouvez le réinitialiser par le biais du mode Rescue.

Après avoir monté le système de fichiers racine sur /mnt, nous pouvons utiliser chroot pour charger le système de fichiers monté et utiliser directement la commande passwd pour modifier le mot de passe racine existant.

chroot /mnt /bin/bash
>
passwd

Récupération des fichiers

Si le serveur ne peut plus démarrer dans le système d'exploitation d'origine et que vous devez récupérer des fichiers importants, vous pouvez utiliser scp à partir du mode Rescue pour les déplacer ailleurs.

Ainsi, si vous avez un dossier de démonstration situé dans un dossier /demo de votre répertoire personnel, vous pouvez utiliser scp pour l'enregistrer sur votre machine locale.

scp -r root@<server_ip_address>:/mnt/home/demo /User/Downloads

Redimensionner ou ajouter des partitions

Par défaut, le disque de démarrage comporte une partition racine qui utilise tout l'espace du disque. Certains serveurs disposent de disques supplémentaires non formatés, mais si vous devez créer plusieurs partitions sur le même disque de démarrage, vous pouvez passer en mode Rescue pour réduire la partition racine et en créer de nouvelles.

La procédure à suivre peut varier en fonction du système de fichiers que vous utilisez, mais si vous utilisez un système d'exploitation avec ext4 tel qu'Ubuntu, vous pouvez utiliser resize2fs et gdisk pour redimensionner votre système de fichiers/partition et en créer d'autres.

Il convient de noter que le fichier de configuration cloud-init par défaut de nos images contient les modules growpart et resizefs, qui redimensionneront votre partition racine à sa taille maximale si vous ne faites que réduire la partition sans en créer d'autres. Si vous souhaitez éviter ce comportement, vous pouvez éditer le fichier de configuration de cloud-init qui se trouve à /etc/cloud/cloud.cfg pour supprimer les modules -growpart et -resizefs. Une fois le fichier sauvegardé, cloud-init ne devrait plus tenter de redimensionner la partition à chaque démarrage du système d'exploitation.

Paquets supplémentaires pour Alpine Linux

L'image Alpine Linux utilisée pour le mode sauvetage peut ne pas contenir les paquets nécessaires aux opérations spéciales. Par exemple, pour exécuter fsck, vous devez installer le paquet e2fsprogs.

apk add e2fsprogs

Une fois l'installation réussie, vous pouvez exécuter fsck sur sda1 par exemple.

fsck.ext4 -f -y /dev/sda1

Vous pouvez avoir besoin d'autres paquets, comme zfs si vous formatez une partition avec un système de fichiers autre que ext4. Vous trouverez tous les paquets disponibles à installer dans le [répertoire des paquets de Linux Alpin.

Retour au système d'exploitation d'origine

Pour revenir au système d'exploitation d'origine, il suffit de redémarrer le serveur.

De Alpine Linux :

Pour redémarrer Alpine Linux, utilisez la commande reboot.

reboot

Depuis la console :

Pour redémarrer votre serveur à partir de sa page Overview, cliquez sur Server Actions, et sélectionnez Reboot dans la liste déroulante.

Rebooting a Server from the Console

Une fois que le serveur a terminé le redémarrage de l'un ou l'autre processus, il redémarre avec votre système d'exploitation d'origine.

Cette page vous a-t-elle été utile ?