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

Si des instances de machine virtuelle (VM) sont exécutées sur Windows Server 2008 R2, vous pouvez les mettre à niveau vers Windows Server 2012 R2.

Pour les instances de VM exécutant Windows Server 2008 R2, le seul chemin de mise à niveau disponible consiste à passer à Windows Server 2012 R2. Pour plus d'informations, consultez la section Mettre à niveau à partir de Windows Server 2008 R2 ou Windows Server 2008.

Si vous envisagez de passer de Windows Server 2008 R2 à une version ultérieure à Windows Server 2012 R2, vous devez :

  1. effectuer une mise à niveau initiale vers Windows Server 2012 R2 ;
  2. effectuer une deuxième mise à niveau vers Windows Server 2016 ou Windows Server 2019.

Objectifs

Ce guide décrit comment effectuer une mise à niveau sur place de Windows Server 2008 Datacenter Edition ou Windows Server 2008 R2 Datacenter Edition vers Windows Server 2012 R2 Datacenter Edition en effectuant les étapes suivantes :

  1. Planification de la mise à niveau sur place
  2. Effectuer la mise à niveau sur place
  3. Dépannage de la mise à niveau sur place
  4. Nettoyage après la mise à niveau sur place

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

Ce guide part du principe que vous disposez des connaissances de base suivantes :

Planification de la mise à niveau sur place

Effectuer une mise à niveau sur place d'une instance de machine virtuelle (VM) exécutée sur Windows Server 2008 R2 peut être un moyen pragmatique de moderniser votre infrastructure et de réduire les risques d'atteindre la fin du cycle de vie de l'assistance de Windows Server 2008.

Alternatives à prendre en compte

Avant de décider d'utiliser une mise à niveau sur place pour migrer vers une version plus récente de Windows Server, tenez compte des restrictions suivantes :

  • Temps d'arrêt : Selon la configuration et le logiciel installé, la mise à niveau peut prendre une heure ou plus. Lors de la mise à niveau, l'accès à l'instance de VM est limité pour les raisons suivantes :

    • Les charges de travail exécutées sur l'instance de VM ne sont pas disponibles pour les utilisateurs.
    • Le protocole RDP (Remote Desktop Protocol) n'est pas disponible.
    • Les moyens de vérifier l'avancement de la mise à niveau et le temps restant avant son exécution complète sont limités.
  • Risque : En fonction des configurations de vos instances existantes et du logiciel installé :

    • La mise à niveau peut échouer.
    • Certaines options de configuration peuvent être remplacées.
    • Des incompatibilités peuvent entraîner le dysfonctionnement de votre charge de travail sur l'instance mise à niveau.

En fonction de la charge de travail exécutée sur votre instance Windows Server 2008 R2, vous pouvez réduire les temps d'arrêt et les risques en adoptant différentes approches.

Charge de travail Méthode
Votre instance de VM exécute une charge de travail compatible avec la réplication, telle que :
  • Les services de domaine Active Directory
  • DNS
  • SQL Server
Envisagez de configurer une nouvelle instance de VM qui exécute une version plus récente de Windows Server, puis utilisez la réplication pour déplacer la charge de travail de votre instance de VM existante vers la nouvelle instance de VM.
Vous disposez d'une instance de VM qui exécute une multitude de charges de travail. Envisagez de migrer ces charges de travail vers des instances de VM distinctes afin que chaque instance de VM n'exécute qu'une seule charge de travail. Même si vous ne pouvez pas migrer toutes les charges de travail, la réduction du nombre de charges de travail s'exécutant sur une instance de VM unique permet de réduire les risques lors d'une mise à niveau sur place.

Éditions Server et conversion de licences

Google fournit Windows Server 2008 R2 Datacenter Edition en tant qu'image du système d'exploitation public. Vous pouvez mettre à niveau des instances de VM basées sur cette image vers Windows Server 2012 R2 Datacenter Edition sans frais supplémentaires.

Si votre instance de VM utilise une licence existante (BYOL), consultez la documentation Microsoft pour déterminer vers quelle édition vous pouvez effectuer la mise à niveau et si vous êtes éligible pour la conversion de licence.

Clés de produit

Une clé de produit Windows Server n'est valide que pour une version spécifique. Lorsque vous effectuez une mise à niveau vers une version ultérieure de Windows Server, vous devez fournir une nouvelle clé de produit. Il existe deux scénarios principaux :

  • Vous mettez à niveau une instance de VM en fonction de l'image Windows Server 2008 R2 fournie par Google  : Dans ce scénario, vous devez utiliser les clés de configuration du client KMS prédéfinies pour Windows Server 2012 R2 Datacenter, car les licences en volume de Google gèrent l'activation des images en fonction de ces instances de VM

  • Vous mettez à niveau une instance de VM pour laquelle vous avez apporté une licence existante : Dans BYOL, vous devez acquérir une clé de produit personnalisée auprès de votre fournisseur de licence afin de procéder à la mise à niveau.

Support d'installation

Pour mettre à niveau une instance de VM créée avec image Windows Server 2008 R2 fournie par Google, vous devez utiliser un support de licence Windows Server 2012 en volume. Vous pouvez accéder au support de licence en volume Windows Server 2012 en créant un disque persistant en fonction d'une image publique de la famille d'images windows-install-media. Ensuite, avant de lancer la mise à niveau, associez ce disque à une ou plusieurs de vos instances de VM, puis effectuez la mise à niveau. Pour plus d'informations, consultez Associer le support d'installation.

Si vous utilisez une licence existante et que votre instance de VM utilise un disque ou une image importé, utilisez le support d'installation correspondant au type de support que vous avez utilisé pour installer Windows Server 2008 R2 sur le disque ou l'image importés.

Autres conditions préalables

Avant de commencer la mise à niveau consultez la documentation Microsoft relative aux conditions préalables et aux limitations potentielles :

Effectuer la mise à niveau sur place

Les sections suivantes vous guident dans le processus de mise à niveau de votre instance de VM vers Windows Server 2012 R2.

Création d'un instantané…

Avant de commencer la mise à niveau, nous vous recommandons de créer un instantané de votre instance de VM afin de pouvoir rétablir un état sûr en cas de problème :

Blocage du trafic entrant lors de la mise à niveau

Depuis la version en disponibilité générale Windows Server 2012 R2, Microsoft a publié un certain nombre de mises à jour de sécurité. Lorsque vous passez à Windows Server 2012 R2, il est possible que ces mises à jour de sécurité ne soient pas installées automatiquement. Une fois la mise à jour terminée, vous devez télécharger et installer les mises à jour de sécurité manquantes à l'aide de Windows Update.

Le téléchargement et l'installation des mises à jour de sécurité peuvent prendre beaucoup de temps. Pendant ce temps, l'instance Windows Server peut être vulnérable aux attaques de sécurité. Pour réduire les risques, pensez à bloquer tout trafic non essentiel entrant vers l'instance de VM. Procédez comme suit :

  1. Désactivez temporairement les règles de pare-feu qui autorisent l'accès à des services externes tels que les services IIS ou RDP.

  2. Utilisez la connectivité hybride ou l'acheminement TCP Cloud IAP pour accéder à RDP, afin de ne pas avoir à exposer le port 3389.

  3. Créez des règles de pare-feu pour bloquer temporairement l'accès aux ports non essentiels depuis votre cloud privé virtuel (VPC).

Préparer la configuration de Windows Server

Vérifiez la configuration de votre instance de VM Windows Server 2008 R2 :

  1. Connectez-vous à votre instance de VM avec un client RDP.

  2. Vérifiez que Windows Server est à jour à l'aide de Windows Update.

  3. Désactivez ou désinstallez tout antivirus, antispyware ou autre agent susceptible d'interférer avec la mise à niveau ou incompatible avec Windows Server 2012 R2.

Associer le support d'installation

Avant de procéder à la mise à niveau, joignez le support d'installation de Windows Server 2012 R2 à l'instance de VM. Google Cloud ne permet pas d'installer directement un CD ou un fichier ISO. Vous devez donc utiliser une image fournie par Google :

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

    Accéder à 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. Créez un disque en fonction du support d'installation. Remplacez [ZONE] par le nom de la zone où se trouve l'instance de VM :

    gcloud compute disks create win-installers --image-family=windows-install-media --image-project=compute-image-tools --zone=[ZONE]
    

    Cette commande ajoute un disque nommé win-installers à votre projet. Ce disque n'est associé à aucune instance de VM.

  4. Associez le disque à votre instance de VM en utilisant le mode lecture seule (ro) pour pouvoir l'associer à plusieurs instances de VM, si nécessaire. Remplacez [INSTANCE_NAME] par le nom de l'instance de VM à mettre à niveau, et remplacez [ZONE] par le nom de la zone où se trouve l'instance de VM :

    gcloud compute instances attach-disk [INSTANCE_NAME] --disk=win-installers --mode=ro --zone=[ZONE]
    

Préparation d'un fichier de réponses

Par défaut, le programme d'installation de Windows vous invite à effectuer des saisies à différents moments d'une mise à jour. Étant donné que vous ne pouvez pas vous connecter à l'instance de VM en utilisant RDP lors de la mise à niveau, vous ne pouvez pas fournir l'entrée demandée, ce qui peut risque de bloquer la mise à niveau. Pour supprimer ces invites, fournissez un fichier de réponses pour effectuer la mise à jour en mode sans assistance.

Le fichier de réponses envoie les instructions suivantes au programme d'installation de Windows :

  • Supprimer toutes les invites de saisie utilisateur
  • Sélectionner la version correcte de Windows Server 2012 R2
  • Indiquer une clé de produit adaptée à Windows Server 2012 R2

Préparez le fichier de réponses comme suit :

  1. Connectez-vous à votre instance de VM avec un client RDP. Pour en savoir plus, consultez Se connecter à des instances.

  2. Ouvrez l'Explorateur Windows.

  3. Dans le répertoire racine du lecteur C:, créez un dossier Windows.setup.

  4. Configurez l'Explorateur Windows pour afficher les extensions de fichier.

  5. Dans le dossier C:\Windows.setup, utilisez le Bloc-notes ou un autre éditeur de texte pour créer un fichier nommé unattend.xml avec le contenu suivant :

    <?xml version="1.0" encoding="utf-8"?>
      <unattend xmlns="urn:schemas-microsoft-com:unattend">
        <settings pass="windowsPE">
          <component name="Microsoft-Windows-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State">
            <UpgradeData>
              <Upgrade>true</Upgrade>
                <WillShowUI>Never</WillShowUI>
            </UpgradeData>
            <ImageInstall>
              <OSImage>
                <WillShowUI>OnError</WillShowUI>
                <InstallTo>
                  <DiskID>0</DiskID>
                  <PartitionID>1</PartitionID>
                </InstallTo>
                <InstallFrom>
                  <Path>install.wim</Path>
                  <MetaData>
                    <Key>/IMAGE/NAME</Key>
                    <Value>Windows Server 2012 R2 SERVERDATACENTER</Value>
                  </MetaData>
                </InstallFrom>
              </OSImage>
          </ImageInstall>
          <ComplianceCheck>
            <DisplayReport>OnError</DisplayReport>
          </ComplianceCheck>
          <UserData>
            <AcceptEula>true</AcceptEula>
            <ProductKey>
              <!-- See https://docs.microsoft.com/en-us/windows-server/get-started/kmsclientkeys -->
              <Key>W3GGN-FT8W3-Y4M27-J84CP-Q3VJ9</Key>
            </ProductKey>
          </UserData>
        </component>
      </settings>
    </unattend>
    
  6. Dans le dossier C:\Windows.setup, utilisez le Bloc-notes ou un autre éditeur de texte pour créer un fichier nommé setup-prep.ps1 avec le contenu suivant :

    $ErrorActionPreference = "Stop"
    Write-Host "== Enabling EMS access ===================================" `
         -ForegroundColor Black -BackgroundColor Yellow
    
    $SvchostPath = 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Svchost'
    $SvchostServices = (Get-ItemProperty -Path $SvchostPath).netsvcs
    $SvchostServices += 'sacsvr'
    Set-ItemProperty -Path $SvchostPath -name netsvcs `
        -value $SvchostServices -type MultiString
    
    & bcdedit /emssettings EMSPORT:2 EMSBAUDRATE:115200 | Out-Default
    & bcdedit /ems on  | Out-Default
    
    Write-Host "== Updating Google drivers and packages ==================" `
         -ForegroundColor Black -BackgroundColor Yellow
    
    & googet -noconfirm install google-compute-engine-auto-updater  | Out-Default
    & googet -noconfirm install google-compute-engine-driver-gga    | Out-Default
    & googet -noconfirm install google-compute-engine-driver-gvnic  | Out-Default
    & googet -noconfirm install google-compute-engine-driver-netkvm | Out-Default
    & googet -noconfirm install google-compute-engine-driver-pvpanic| Out-Default
    & googet -noconfirm install google-compute-engine-driver-vioscsi| Out-Default
    & googet -noconfirm install google-compute-engine-sysprep       | Out-Default
    & googet -noconfirm install google-compute-engine-vss           | Out-Default
    
    Write-Host "== Synchronizing time ====================================" `
         -ForegroundColor Black -BackgroundColor Yellow
    
    Start-Service W32time
    & w32tm /resync | Out-Default
    
    Write-Host "== Restoring TCP timeout and route to metadata server ====" `
         -ForegroundColor Black -BackgroundColor Yellow
    
    $TcpParams = 'HKLM:\System\CurrentControlSet\Services\Tcpip\Parameters'
    New-ItemProperty -Force -Path $TcpParams -Name 'KeepAliveTime' `
       -Value 300000 -PropertyType DWord
    
    & route add 169.254.169.254 mask 255.255.255.255 0.0.0.0 -p | Out-Default
    
    Write-Host "== Refreshing Windows license ============================" `
         -ForegroundColor Black -BackgroundColor Yellow
    & 'C:\Program Files\Google\Compute Engine\sysprep\activate_instance.ps1' | Out-Default
    
    Write-Host "== Completed =============================================" `
         -ForegroundColor Black -BackgroundColor Yellow
    

Démarrer la mise à niveau

Pour lancer la mise à niveau :

  1. Ouvrez une invite de commande avec privilèges élevés :

    • Dans le menu Démarrer, faites un clic droit sur Invite de commandes, puis sélectionnez Exécuter en tant qu'administrateur.
  2. Exécutez le script setup-prep.ps1 que vous avez créé précédemment. Le script installe les derniers packages de pilotes Google, qui sont essentiels à la réussite de la mise à niveau de Windows Server. En outre, le script applique des paramètres Compute Engine spécifiques et permet d'accéder à la console des services de gestion d'urgence (EMS).

    powershell -ExecutionPolicy Bypass -file c:\Windows.setup\setup-prep.ps1
    

    Le processus de mise à niveau peut afficher l'avertissement suivant : Le cas échéant, vous pouvez l'ignorer :

    [package name] or a newer version is already installed on the system
    
  3. Remplacez le répertoire de travail par le support d'installation :

    cd /d d:\*2012*\sources
    
  4. Démarrez le programme d'installation de Windows en lui transmettant le fichier unattend.xml créé précédemment :

    setup.exe /unattend:c:\Windows.setup\unattend.xml /EMSPort:COM2 /emsbaudrate:115200
    

    Étant donné que vous exécutez la mise à niveau en mode sans surveillance, l'assistant de configuration commence immédiatement à copier les fichiers.

    Au bout de cinq minutes environ, la machine redémarre et RDP se déconnecte.

Observer le processus de mise à niveau

En fonction du type de machine de votre instance de VM et de votre configuration Windows Server, la mise à niveau peut prendre de 10 à 60 minutes. Au cours de cette période, vous pouvez observer l'état via la sortie du port série :

  1. Dans Cloud Shell, observez le processus de démarrage en exécutant la commande suivante :

    gcloud compute instances tail-serial-port-output [INSTANCE] --zone=[ZONE]
    

    Remplacez [INSTANCE] par l'ID de votre instance de VM et [ZONE] par le nom de la zone où se trouve l'instance de VM.

  2. Attendez que l'ordinateur ait redémarré quatre fois. Selon la configuration de votre instance de VM, il peut s'écouler 30 minutes, voire plus, avant que ces redémarrages ne se produisent. Vous pouvez reconnaître un redémarrage par une sortie semblable à celle-ci :

    SeaBIOS (version 1.8.2-20190620_103534-google)
    Total RAM Size = 0x00000001e0000000 = 7680 MiB
    CPUs found: 2     Max CPUs supported: 2
    
  3. Après le quatrième redémarrage, attendez que la ligne suivante s'affiche :

    GCEMetadataScripts: Finished running startup scripts.
    

Exécuter les étapes postérieures à la mise à niveau

Vous pouvez maintenant vous connecter à l'instance de VM pour vérifier que la mise à niveau a bien été effectuée.

  1. Connectez-vous à l'instance de VM à l'aide d'un client RDP. Pour en savoir plus, consultez la page Se connecter à des instances.

  2. Connectez-vous à l'aide d'un compte utilisateur doté des droits d'administrateur local.

  3. Vérifiez que l'ordinateur exécute désormais Windows Server 2012 R2 :

    1. Cliquez avec le bouton droit sur le bouton Démarrer.
    2. Sélectionnez Run (Exécuter).
    3. Saisissez winver et cliquez sur OK.
  4. Vérifiez que la boîte de dialogue À propos de Windows indique que l'instance de VM exécute Windows Server 2012 R2.

  5. Ouvrez une invite de commande avec privilèges élevés :

    1. Cliquez avec le bouton droit sur le bouton Démarrer.

    2. Sélectionnez Invite de commande (Admin).

  6. Exécutez le script setup-prep.ps1 pour appliquer de nouveau les paramètres spécifiques de Compute Engine qui auraient pu être perdus lors de la mise à niveau :

    powershell -ExecutionPolicy Bypass -file c:\Windows.setup\setup-prep.ps1
    

    La mise à jour peut générer l'avertissement suivant, que vous pouvez ignorer :

    [package name] or a newer version is already installed on the system
    
  7. Vous n'avez plus besoin du fichier unattend.xml ni du script setup-prep.ps1. Vous pouvez donc supprimer le dossier C:\Windows.setup.

  8. Redémarrez l'instance de VM pour que toutes les modifications soient prises en compte. Lors du redémarrage, vous devrez patienter une à deux minutes avant de pouvoir vous reconnecter à l'instance de VM.

Dissocier le disque d'installation

Vous pouvez maintenant dissocier le disque d'installation de l'instance de VM :

  • Dans Cloud Shell, dissociez le disque d'installation de votre instance de VM :

    gcloud compute instances detach-disk [INSTANCE_NAME] --disk=win-installers
    

    Remplacez [INSTANCE_NAME] par le nom de votre instance de VM :

Installer des mises à jour et restaurer l'accès

Une fois la mise à niveau terminée, exécutez Windows Update pour télécharger et installer les mises à jour de sécurité. Pour installer ces mises à jour, procédez comme suit :

  1. Connectez-vous à la machine à l'aide d'un client RDP. Pour en savoir plus, consultez Se connecter à des instances.

  2. À 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.

  3. Réactivez tous les agents, logiciels antivirus ou logiciels anti-programme malveillant que vous avez désactivés avant la mise à niveau.

  4. Si vous avez précédemment bloqué le trafic entrant à destination de l'instance de VM, vous pouvez maintenant restaurer les règles de pare-feu d'origine.

Dépannage de la mise à niveau sur place

Vous ne pouvez pas vous connecter à l'instance de VM avec RDP pendant que l'installation de Windows est en cours d'exécution. Si vous pensez que la mise à jour a échoué ou qu'elle ne progresse pas, aidez-vous des approches suivantes, dans l'ordre, pour diagnostiquer la situation :

Vérifier la sortie du port série

Le programme d'installation de Windows n'émet aucun journal sur le port série, mais vous pouvez utiliser la sortie du port série pour observer les redémarrages et l'état de démarrage de l'instance de VM.

Au cours de la mise à niveau, vous devez normalement observer quatre redémarrages. Si vous n'observez aucune progression pendant plus de 30 minutes après le premier redémarrage, il est probable que la mise à niveau ait échoué.

Contrôler les statistiques du processeur et des E/S

La mise à niveau de Windows Server est une opération intensive au niveau du processeur et des E/S disque. En contrôlant les statistiques du processeur et des E/S, vous pouvez déduire la progression de l'installation.

Affichez les statistiques du processeur et des E/S dans Google Cloud Console :

  1. Dans Cloud Console, cliquez sur l'instance que vous mettez à niveau.

    Accéder à Cloud Console

  2. Cliquez sur l'onglet Surveillance.

Se connecter à la console des services de gestion d'urgence

Pendant et après l'exécution de l'installation de Windows, vous pouvez vous connecter à la console des services de gestion d'urgence (EMS). À l'aide de la console EMS, consultez les fichiers journaux de configuration Windows et le journal des événements pour des indications permettant de déterminer si la mise à niveau est toujours en cours ou pour obtenir des informations sur les éventuelles erreurs qui auraient pu se produire.

Se connecter à distance à l'aide de WinRM

Si la connexion via RDP ou EMS échoue, essayez d'utiliser WinRM pour établir une session PowerShell distante :

  1. Connectez-vous à une autre instance Windows Server dans le même VPC.

  2. Ouvrez PowerShell.

  3. Créez une session PowerShell distante :

    Enter-PSSession -ComputerName [INSTANCE-NAME] -UseSSL -SessionOption (New-PsSessionOption -SkipCACheck) -Credential (Get-Credential)
    

    Remplacez [INSTANCE-NAME] par le nom de l'instance que vous essayez de mettre à niveau.

  4. Lorsque vous y êtes invité, saisissez le nom d'utilisateur et le mot de passe d'un compte administrateur.

  5. Utilisez la session PowerShell distante pour vérifier les fichiers journaux d'installation de Windows et le journal des événements.

Analyser les fichiers journaux hors connexion

Si vous ne pouvez pas vous connecter à l'instance à l'aide de WinRM (Windows Remote Management), vous pouvez annuler la mise à niveau et analyser les fichiers journaux d'une autre instance de VM. Procédez comme suit :

  1. Arrêtez l'instance de VM.

    Cette opération peut prendre plusieurs minutes si Windows Server ne répond pas.

  2. Dissociez le disque de démarrage de l'instance.

  3. Créez une instance Windows Server temporaire et associez le disque de démarrage de l'instance d'origine en tant que disque supplémentaire.

  4. Utilisez l'instance Windows Server temporaire pour analyser le journal de l'installation et les fichiers journaux de l'événement de l'instance que vous essayez de mettre à niveau.

  5. Une fois l'analyse terminée, dissociez le disque de l'instance temporaire et reconnectez-le en tant que disque de démarrage à l'instance de VM d'origine.

Résoudre les problèmes de protocole RDP

Pour plus d'informations sur la résolution des problèmes de RDP, consultez Résoudre les problèmes de protocole RDP.

Résoudre les problèmes liés à vos instances Windows Server

Pour plus d'informations sur le dépannage de vos instances Windows Server, consultez la section Conseils et résolution des problèmes liés aux instances Windows.

Nettoyer

Pour éviter de payer des coûts supplémentaires une fois ce processus terminé, supprimez le disque d'installation.

Suppression du disque d'installation

Vous pouvez créer un disque d'installation basé sur l'image fournie par Google à tout moment. Si vous n'envisagez pas de mettre à niveau d'autres instances de VM dans la même zone, supprimez le disque d'installation :

  • Dans Cloud Shell, supprimez le disque win-installers que vous avez créé précédemment :

    gcloud compute disks delete win-installers
    

Étapes suivantes