Actualización local de máquinas virtuales que ejecutan Windows Server en Azure

Una actualización local te permite pasar de un sistema operativo anterior a uno más reciente, y al mismo tiempo, mantener intactos la configuración, los roles de servidor y los datos. Este artículo explica cómo pasar las máquinas virtuales de Azure a una versión posterior de Windows Server mediante una actualización local. Actualmente, se admite la actualización a Windows Server 2012, Windows Server 2016, Windows Server 2019 y Windows Server 2022.

Antes de comenzar una actualización local:

  • Revise los requisitos de actualización del sistema operativo de destino:

    • Opciones de actualización para Windows Server 2012 desde Windows Server 2008 (64 bits) o Windows Server 2008 R2

    • Opciones de actualización para Windows Server 2016 desde Windows Server 2012 o Windows Server 2012 R2

    • Opciones de actualización de Windows Server 2019 desde Windows Server 2012 R2 o Windows Server 2016

    • Opciones de actualización de Windows Server 2022 desde Windows Server 2016 o Windows Server 2019

  • Compruebe que el disco del sistema operativo tiene suficiente espacio libre para realizar la actualización local. Si se necesita más espacio, siga estos pasos para expandir el disco del sistema operativo conectado a la máquina virtual.

  • Deshabilite el software antivirus y anti-spyware y los firewalls. Estos tipos de software pueden entrar en conflicto con el proceso de actualización. Vuelva a habilitar el software antivirus y anti-spyware y los firewalls una vez completada la actualización.

Actualización de una máquina virtual al modelo de licencia por volumen (activación del servidor KMS)

Los medios de actualización proporcionados por Azure requieren que la máquina virtual esté configurada para las licencias por volumen de Windows Server. Este es el comportamiento predeterminado de cualquier máquina virtual de Windows Server que se haya instalado desde una imagen generalizada en Azure. Si la máquina virtual se importó en Azure, es posible que tenga que convertirse a licencias por volumen para usar los medios de actualización que proporciona Azure. Para confirmar que la máquina virtual está configurada para la activación de licencias por volumen, siga estos pasos para configurar la clave de configuración del cliente de KMS adecuada. Si se cambió la configuración de activación, siga estos pasos para comprobar la conectividad con el servicio Azure KMS.

Actualización a Managed Disks

El proceso de actualización local requiere que se actualice el uso de Managed Disks en la máquina virtual. La mayoría de las máquinas virtuales de Azure usan Managed Disks y la retirada de la compatibilidad con discos no administrados se anunció en noviembre de 2022. Si la máquina virtual usa actualmente discos no administrados, siga estos pasos para migrar a Managed Disks.

Creación de una instantánea del disco del sistema operativo

Se recomienda crear una instantánea del disco del sistema operativo y de los discos de datos antes de iniciar el proceso de actualización local. Esto le permite revertir al estado anterior de la máquina virtual si se produce un error durante el proceso de actualización local. Para crear una instantánea en cada disco, siga estos pasos para crear una instantánea de un disco.

Creación de un disco de actualización

Para iniciar una actualización local, el disco de la actualización debe estar conectado a la máquina virtual como un disco administrado. Para crear el disco de actualización, modifique las variables en el siguiente script de PowerShell para Windows Server 2022. El disco de actualización se puede usar para actualizar varias máquinas virtuales, pero solo se puede usar para actualizar una sola máquina virtual a la vez. Para actualizar varias máquinas virtuales simultáneamente se deben crear varios discos de actualización para cada actualización simultánea.

Parámetro Definición
resourceGroup Nombre del grupo de recursos donde se creará el disco administrado de actualización. Si no existe, se crea el grupo de recursos con nombre.
ubicación Región de Azure en la que se crea el disco administrado de actualización. Debe ser la misma región que la máquina virtual que se va a actualizar.
zona Zona de Azure en la región seleccionada donde se creará el disco administrado de actualización. Debe estar en la misma zona que la máquina virtual que se va a actualizar. En el caso de las máquinas virtuales regionales (no zonales), el parámetro de zona debe ser "".
diskName Nombre del disco administrado que contendrá el disco de actualización
sku Versión del disco de actualización de Windows Server. Debe ser server2016Upgrade, server2019Upgrade, server2022Upgrade o server2012Upgrade

Si tiene más de una suscripción, debe ejecutar Set-AzContext -Subscription '<subscription name or id> para especificar qué suscripción se va a usar.

Script de PowerShell

#
# Customer specific parameters


# Resource group of the source VM
$resourceGroup = "WindowsServerUpgrades"

# Location of the source VM
$location = "WestUS2"

# Zone of the source VM, if any
$zone = "" 

# Disk name for the that will be created
$diskName = "WindowsServer2022UpgradeDisk"

# Target version for the upgrade - must be either server2022Upgrade, server2019Upgrade, server2016Upgrade or server2012Upgrade
$sku = "server2022Upgrade"


# Common parameters

$publisher = "MicrosoftWindowsServer"
$offer = "WindowsServerUpgrade"
$managedDiskSKU = "Standard_LRS"

#
# Get the latest version of the special (hidden) VM Image from the Azure Marketplace

$versions = Get-AzVMImage -PublisherName $publisher -Location $location -Offer $offer -Skus $sku | sort-object -Descending {[version] $_.Version	}
$latestString = $versions[0].Version


# Get the special (hidden) VM Image from the Azure Marketplace by version - the image is used to create a disk to upgrade to the new version


$image = Get-AzVMImage -Location $location `
                       -PublisherName $publisher `
                       -Offer $offer `
                       -Skus $sku `
                       -Version $latestString

#
# Create Resource Group if it doesn't exist
#

if (-not (Get-AzResourceGroup -Name $resourceGroup -ErrorAction SilentlyContinue)) {
    New-AzResourceGroup -Name $resourceGroup -Location $location    
}

#
# Create Managed Disk from LUN 0
#

if ($zone){
    $diskConfig = New-AzDiskConfig -SkuName $managedDiskSKU `
                                   -CreateOption FromImage `
                                   -Zone $zone `
                                   -Location $location
} else {
    $diskConfig = New-AzDiskConfig -SkuName $managedDiskSKU `
                                   -CreateOption FromImage `
                                   -Location $location
} 

Set-AzDiskImageReference -Disk $diskConfig -Id $image.Id -Lun 0

New-AzDisk -ResourceGroupName $resourceGroup `
           -DiskName $diskName `
           -Disk $diskConfig  

Conexión del disco de actualización a la máquina virtual

Conecte el disco de actualización de la versión de Windows Server de destino a la máquina virtual que se va a actualizar. Esto se puede hacer mientras la máquina virtual está en estado en ejecución o detenido.

Instrucciones de Azure Portal

  1. Inicie sesión en Azure Portal.

  2. Busque y seleccione Máquinas virtuales.

  3. Seleccione una máquina virtual para realizar la actualización local en la lista.

  4. En la página Máquina virtual, seleccione Discos.

  5. En la página Discos, seleccione Conectar discos existentes.

  6. En la lista desplegable Nombre del disco, seleccione el nombre del disco de actualización creado en el paso anterior.

  7. Seleccione Guardar para conectar el disco de actualización a la máquina virtual.

Realizar una actualización local a Windows Server 2016, 2019 o 2022

Para iniciar la actualización local, la máquina virtual debe estar en el estado Running. Una vez que la máquina virtual está en estado de ejecución, siga estos pasos para realizar la actualización.

  1. Conéctese a la máquina virtual mediante RDP o RDP-Bastion.

  2. Determine la letra de la unidad del disco de actualización (normalmente E: o F: si no hay otros discos de datos).

  3. Inicie Windows PowerShell.

  4. Cambie el directorio al único directorio del disco de actualización.

  5. Ejecute el siguiente comando para iniciar la actualización:

    .\setup.exe /auto upgrade /dynamicupdate disable 
    
  6. Seleccione la imagen correcta "Actualizar a" en función de la versión actual y la configuración de la máquina virtual mediante la matriz de actualización de Windows Server.

Durante el proceso de actualización, la máquina virtual se desconectará automáticamente de la sesión de RDP. Una vez desconectada la máquina virtual de la sesión RDP, el progreso de la actualización se puede supervisar mediante la funcionalidad de captura de pantalla disponible en Azure Portal.

Realizar una actualización local solo a Windows Server 2012

Para iniciar la actualización local, la máquina virtual debe estar en el estado Running. Una vez que la máquina virtual está en estado de ejecución, siga estos pasos para realizar la actualización.

  1. Conéctese a la máquina virtual mediante RDP o RDP-Bastion.

  2. Determine la letra de la unidad del disco de actualización (normalmente E: o F: si no hay otros discos de datos).

  3. Inicie Windows PowerShell.

  4. Cambie el directorio al único directorio del disco de actualización.

  5. Ejecute el siguiente comando para iniciar la actualización:

    .\setup.exe 
    
  6. Cuando se inicie el programa de instalación de Windows, seleccione Instalar ahora.

  7. Si desea Obtener actualizaciones importantes para el programa de instalación de Windows, seleccione No, gracias.

  8. Seleccione la imagen correcta "Actualizar a" de Windows Server 2012 en función de la versión actual y la configuración de la máquina virtual mediante la matriz de actualización de Windows Server.

  9. En la página Términos de licencia, seleccione Acepto los términos de licencia y, a continuación, seleccione Siguiente.

  10. En **¿Qué tipo de instalación desea?", seleccione Actualizar: Instalar Windows y mantener archivos, configuraciones y aplicaciones.

  11. El programa de instalación generará un Informe de compatibilidad. Puede omitir las advertencias y seleccionar Siguiente.

  12. Al terminar, la máquina se reiniciará y se desconectará automáticamente de la sesión de RDP. Una vez desconectada la máquina virtual de la sesión RDP, el progreso de la actualización se puede supervisar mediante la funcionalidad de captura de pantalla disponible en Azure Portal.

Pasos posteriores a la actualización

Una vez que el proceso de actualización se haya completado correctamente, se deben realizar los pasos siguientes para limpiar los artefactos que se crearon durante el proceso de actualización:

  • Elimine las instantáneas del disco del sistema operativo y de los discos de datos si se crearon.

  • Elimine el disco administrado de actualización.

  • Habilite cualquier software antivirus, anti spyware o de firewall que se haya deshabilitado al principio del proceso de actualización.

Importante

La información del plan de imagen no cambiará después del proceso de actualización.

Recuperación de un error

Si el proceso de actualización local no se pudo completar correctamente, puede volver a la versión anterior de la máquina virtual si se crearon instantáneas del disco del sistema operativo y de los discos de datos. Para revertir la máquina virtual al estado anterior mediante instantáneas, siga estos pasos:

  1. Cree un disco administrado a partir de la instantánea del disco del sistema operativo y cada instantánea de disco de datos siguiendo los pasos que se indican en Creación de un disco a partir de una instantánea, asegurándose de que crea los discos en la misma zona de disponibilidad que la máquina virtual si la máquina virtual está en una zona.

  2. Pare la VM.

  3. Intercambie el disco del sistema operativo de la máquina virtual.

  4. Desasocie todos los discos de datos de la máquina virtual.

  5. Conecte los discos de datos creados a partir de las instantáneas del paso 1.

  6. Reinicie la VM.

Pasos siguientes