Effectuer une mise à niveau automatisée sur place de Windows Server 2008 R2


Si vous avez des instances de machine virtuelle (VM) qui exécutent Windows Server 2008 R2, vous pouvez utiliser gcloud CLI pour les mettre à niveau automatiquement vers Windows Server 2012 R2.

L'utilisation de gcloud CLI pour effectuer une mise à niveau sur place est une alternative à l'exécution d'une mise à niveau manuelle. En automatisant le processus de mise à niveau, gcloud CLI vous permet de réduire les efforts requis pour chaque VM à mettre à niveau.

Lors d'une mise à niveau sur place d'une VM, gcloud CLI effectue les étapes suivantes :

  1. Arrête la VM.
  2. Création d'un instantané de disque persistant standard en tant que sauvegarde.
  3. Crée une copie du disque de démarrage en conservant le disque de démarrage d'origine en tant que sauvegarde.
  4. Association d'un disque d'installation contenant le support d'installation de Windows 2012 R2.
  5. Lancement du programme d'installation de Windows (setup.exe) à partir du disque d'installation pour effectuer une mise à niveau en mode sans assistance.
  6. Application de la configuration postérieure à la mise à niveau.
  7. dissocie le disque d'installation.
  8. Arrête la VM.

Limites

Vous pouvez utiliser gcloud CLI pour effectuer des mises à niveau depuis Windows Server 2008 R2 vers Windows Server 2012 R2. Cette approche n'est compatible qu'avec les instances de VM basées sur une image de système d'exploitation publique fournie par Google. Pour mettre à niveau d'autres configurations de Windows Server ou pour mettre à niveau des instances de VM pour lesquelles vous importez votre propre licence (BYOL, Bring Your Own License), consultez la page Effectuer une mise à niveau sur place de Windows Server.

Coûts

La mise à jour sur place de Windows Server est gratuite. Vous êtes facturé uniquement pour les ressources utilisées lors de la mise à niveau, y compris :

Obtenez une estimation des coûts en fonction de votre utilisation prévue à l'aide du simulateur de coût.

Avant de commencer

Démarrer la mise à niveau

Les sections suivantes vous guident dans le processus de mise à niveau de votre instance de VM.

  1. Dans Google Cloud Console, ouvrez Cloud Shell en cliquant sur le bouton Activer Cloud Shell Activez Cloud Shell..

    Accédez à Google Cloud Console.

  2. Définissez l'ID de projet par défaut. Remplacez PROJECT_ID par le nom de votre projet Compute Engine :

    gcloud config set project PROJECT_ID
    
  3. Exécutez la commande suivante pour lancer la mise à niveau :

    gcloud beta compute os-config os-upgrade VM_NAME \
      --zone=ZONE \
      --source-os=windows-2008r2 \
      --target-os=windows-2012r2 \
      --async \
      --auto-rollback
    

    Remplacez les éléments suivants :

    • VM_NAME : le nom de l'instance de VM à mettre à jour.
    • ZONE : la zone dans laquelle l'instance de VM est en cours d'exécution.

    L'option --async indique à gcloud CLI d'exécuter la mise à niveau en arrière-plan en utilisant Cloud Build. L'exécution de la mise à niveau en arrière-plan vous permet de mettre à niveau plusieurs instances de VM en parallèle et garantit également que l'opération se poursuit même si vous fermez votre session Cloud Shell. Vous trouverez un lien vers la tâche Cloud Build dans le résultat de la commande :

    Created [https://cloudbuild.googleapis.com/v1/projects/...].
    ...
    logUrl: https://console.cloud.google.com/build/builds/...
    ...
    status: QUEUED
    ...
    
    

Observer le processus de mise à niveau

Selon la configuration de votre instance de VM, la mise à niveau peut prendre de 40 à 90 minutes. Vous pouvez vérifier l'état de l'opération de mise à niveau en ouvrant le journal Cloud Build :

  1. Cliquez sur l'URL affichée à côté de logUrl dans le résultat de commande de gcloud CLI.
  2. Sous Journal des builds, vous pouvez consulter l'état actuel de l'opération de mise à niveau.

Une fois la mise à niveau terminée, le build présente l'état Réussi et le résultat suivant s'affiche dans le journal des builds :

Successfully upgraded instance 'projects/...!'

Si gcloud CLI rencontre un problème lors de la mise à niveau, le build affiche l'état Échec. Si l'option --auto-rollback est spécifiée, gcloud CLI lance également un rollback automatique. Vous trouverez plus de détails sur le problème rencontré dans le journal des builds.

Si la mise à niveau est toujours en cours d'exécution après 90 minutes et que vous pensez qu'elle ne progresse pas, utilisez l'une des approches décrites sur la page Résoudre les problèmes liés à la mise à niveau sur place pour vérifier si l'opération de mise à niveau a échoué ou si elle a rencontré une erreur.

Terminer la mise à niveau

Une fois la mise à niveau terminée, démarrez l'instance de VM et exécutez Windows Update pour télécharger et installer les dernières mises à jour de sécurité :

  1. Démarrez l'instance de VM :

    gcloud compute instances start VM_NAME --zone=ZONE
    

    Remplacez les éléments suivants :

    • VM_NAME : nom de l'instance de VM
    • ZONE : la zone dans laquelle l'instance de VM est en cours d'exécution.
  2. Connectez-vous à la machine à l'aide d'un client RDP. Pour en savoir plus, consultez Se connecter à des instances.

  3. À l'aide de Windows Update, installez les dernières mises à jour Windows. Vous devrez peut-être redémarrer l'instance de VM plusieurs fois au cours de ce processus.

  4. Vérifiez que toutes vos applications fonctionnent comme prévu.

Effectuer un rollback de la mise à niveau

Si la mise à niveau échoue, gcloud CLI lance automatiquement un rollback. Si la mise à niveau aboutit, il est possible que l'une de vos applications ne fonctionne pas comme prévu. Dans ce cas, effectuez un rollback de la mise à niveau en modifiant l'instance de VM de manière à utiliser à nouveau le disque de démarrage d'origine :

  1. Arrêtez l'instance de VM :

    gcloud compute instances stop VM_NAME --zone=ZONE
    

    Remplacez les éléments suivants :

    • VM_NAME : nom de l'instance de VM
    • ZONE : la zone dans laquelle l'instance de VM est en cours d'exécution.
  2. Dans le journal des builds, recherchez les lignes indiquant le nom du disque de démarrage d'origine et le nom du rattachement :

    4. Original boot disk: ORIGINAL_DISK_NAME
        - Device name of the attachment: DEVICE_NAME
    
  3. Dissociez le disque contenant le système d'exploitation défaillant de votre instance :

    gcloud compute instances detach-disk VM_NAME \
      --device-name=DEVICE_NAME \
      --zone=ZONE
    

    Remplacez les éléments suivants :

    • VM_NAME : nom de l'instance de VM
    • DEVICE_NAME : nom de l'appareil tel qu'indiqué par le journal des builds
    • ZONE : la zone dans laquelle l'instance de VM est en cours d'exécution.
  4. Réassociez le disque de démarrage d'origine :

    gcloud compute instances attach-disk VM_NAME \
      --disk=ORIGINAL_DISK_NAME \
      --device-name=DEVICE_NAME \
      --zone=ZONE
    

    Remplacez les éléments suivants :

    • VM_NAME : nom de l'instance de VM
    • ORIGINAL_DISK_NAME : nom du disque de démarrage d'origine, tel qu'indiqué par le journal des builds
    • DEVICE_NAME : nom de l'appareil tel qu'indiqué par le journal des builds
    • ZONE : la zone dans laquelle l'instance de VM est en cours d'exécution.
  5. Démarrez l'instance de VM :

    gcloud compute instances start VM_NAME --zone=ZONE
    

    Remplacez les éléments suivants :

    • VM_NAME : nom de l'instance de VM
    • ZONE : la zone dans laquelle l'instance de VM est en cours d'exécution.

Effectuer un nettoyage

Pour éviter des frais supplémentaires, supprimez les sauvegardes créées automatiquement par gcloud CLI avant la mise à niveau :

  1. Dans le journal des builds, recherchez la ligne indiquant le nom de l'instantané de disque et du disque de démarrage d'origine :

    3. Snapshot for original boot disk: SNAPSHOT_NAME
    4. Original boot disk: DISK_NAME
       - Device name of the attachment: ...
       - AutoDelete setting of the attachment: true
    5. Name of the new boot disk: ...
    
  2. Revenez à Cloud Shell et supprimez l'instantané de disque :

    gcloud compute snapshots delete SNAPSHOT_NAME
    
  3. Supprimez le disque de démarrage d'origine en remplaçant ZONE par la zone dans laquelle la VM est déployée :

    gcloud compute disks delete DISK_NAME --zone=ZONE
    

Étape suivante