Si votre VM Linux est inaccessible pour une raison quelconque, vous pouvez essayer de la sauver en procédant comme suit :
Rôles requis
Pour obtenir les autorisations nécessaires pour sauver une VM, demandez à votre administrateur de vous accorder les rôles IAM suivants sur le projet :
-
Administrateur d'instances Compute (v1) (
roles/compute.instanceAdmin.v1
) - VM utilisant un compte de service : Utilisateur de compte de service (
roles/iam.serviceAccountUser
)
Pour en savoir plus sur l'attribution de rôles, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations.
Ces rôles prédéfinis contiennent les autorisations requises pour récupérer une VM. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
Les autorisations suivantes sont requises pour récupérer une VM :
compute.instances.create
sur le projetcompute.disks.create
sur le projetcompute.instances.get
sur le projetcompute.disks.createSnapshot
sur les disquescompute.instances.attachDisk
sur la nouvelle VM-
compute.disks.use
sur le disque compute.instances.start
sur une VM nouvelle et inaccessiblecompute.instances.stop
sur une VM nouvelle et inaccessible
Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.
Sauver une VM
Si vous ne pouvez pas vous connecter à votre VM ou si votre disque de démarrage est saturé, vous devez créer une VM temporaire pour sauver la VM inaccessible.
- (Facultatif) Arrêtez la VM inaccessible.
- Créez un instantané à partir du disque de démarrage de la VM inaccessible.
- Créez une VM temporaire à l'aide d'une image publique la plus proche du système d'exploitation de la VM inaccessible.
- Vérifiez si vous êtes en mesure de vous connecter à la VM temporaire à l'aide de SSH.
Ajoutez un disque supplémentaire à la VM temporaire en procédant comme suit :
Dans Google Cloud Console, accédez à la page Instances de VM.
Cliquez sur le nom de la VM temporaire que vous avez créée.
Cliquez sur
Modifier.Sous Disques supplémentaires, cliquez sur
Ajouter un disque, puis procédez comme suit :- Ajoutez le nom du disque, comme my-recovery-disk.
- Pour Type de source, sélectionnez l'onglet Instantané.
- Dans le menu déroulant Instantané source, sélectionnez l'instantané de la VM source que vous avez créée précédemment dans ces étapes.
- Cliquez sur OK.
Cliquez sur Enregistrer.
exécutez la commande suivante :
ls -l /dev/disk/by-id/google-*
Le résultat doit ressembler à ce qui suit :
/dev/disk/by-id/google-my-vm -> ../../sda /dev/disk/by-id/google-my-vm-part1 -> ../../sda1 /dev/disk/by-id/google-my-vm-part14 -> ../../sda14 /dev/disk/by-id/google-my-vm-part15 -> ../../sda15 /dev/disk/by-id/google-my-recovery-disk -> ../../sdb /dev/disk/by-id/google-my-recovery-disk-part1 -> ../../sdb1 /dev/disk/by-id/google-my-recovery-disk-part2 -> ../../sdb2 /dev/disk/by-id/google-my-recovery-disk-part5 -> ../../sdb5
Utilisez les liens symboliques (
/dev/disk/by-id/google-my-recovery-disk-partN
) pour localiser l'appareil et les partitions sous-jacents du disque nouvellement ajouté, par exemple/dev/sdb1
.Le lien symbolique pour le disque est google-DISK_NAME ou, si vous avez spécifié un nom d'appareil personnalisé pour le disque, google-DEVICE_NAME. Notez le nom de l'appareil ciblé par le nouveau lien symbolique de disque.
Créez un point d'installation à l'emplacement
/mnt/newdisk
:sudo mkdir /mnt/newdisk
Installez la partition de disque supplémentaire sur le point d'installation
/mnt/newdisk
:sudo mount -o discard,defaults DISK_NAME /mnt/newdisk
Remplacez DISK_NAME par le nom d'appareil que vous avez noté précédemment dans ces étapes, par exemple
/dev/sdb1
.Si vous voyez l'erreur
Filesystem has duplicate UUID XXXXXX - can't mount
,mount: /mnt/newdisk: wrong fs type, bad option
oubad superblock on /dev/sdb
, utilisez la commande suivante :sudo mount -o nouuid DISK_NAME /mnt/newdisk
Le système de fichiers de la VM inaccessible est maintenant associé dans
/mnt/newdisk
. Vous pouvez parcourir le système de fichiers, modifier des fichiers de configuration, résoudre des problèmes ou récupérer les données.
Annuler les modifications et redémarrer la VM inaccessible
Une fois le problème résolu ou les données récupérées, vous devez rétablir la VM réelle. Pour restaurer la VM d'origine, procédez comme suit :
Désinstallez le disque supplémentaire installé dans
/mnt/newdisk
dans la VM temporaire :cd ~ sudo umount /mnt/newdisk
Dans Google Cloud Console, accédez à la page Instances de VM.
Accéder à la page "Instances de VM"
Sélectionnez la VM temporaire que vous avez créée.
Cliquez sur Modifier (
).Sous Disques supplémentaires, cliquez sur
pour le disque créé précédemment afin de dissocier le disque supplémentaire de la VM temporaire.Cliquez sur Enregistrer.
Accédez à la page Instances de VM de la console Google Cloud.
Accéder à la page "Instances de VM"
Si la VM inaccessible est toujours en cours d'exécution, arrêtez-la.
Cliquez sur le nom de la VM que vous venez d'arrêter, puis sur
Modifier.Sous Disque de démarrage, cliquez sur
Dissocier le disque de démarrage pour dissocier le disque de démarrage sortant de la VM inaccessible.Cliquez ensuite sur sauver une VM de la présente page.
CONFIGURER LE DISQUE DE DÉMARRAGE pour associer le disque que vous avez créé et corrigé précédemment dans la section- Dans la section Disque de démarrage, cliquez sur l'onglet Disques existants.
- Dans la liste déroulante, sélectionnez le disque que vous avez créé dans la section précédente, par exemple
my-recovery-disk
. - Cliquez sur Sélectionner, puis sur Enregistrer.
Vous devriez maintenant pouvoir vous connecter à la VM en SSH.