Обновление на месте для виртуальных машин под управлением Windows Server в Azure

При обновлении на месте вы переходите с более старой версии операционной системы на более новую, сохраняя свои параметры, роли сервера и данные. В этой статье описано, как переместить виртуальные машины Azure в более позднюю версию Windows Server с помощью обновления на месте. В настоящее время поддерживается обновление до Windows Server 2012, Windows Server 2016, Windows Server 2019 и Windows Server 2022.

Перед началом обновления на месте выполните указанные ниже действия.

  • Ознакомьтесь с требованиями к обновлению для целевой операционной системы:

    • Параметры обновления Для Windows Server 2012 из Windows Server 2008 (64-разрядная версия) или Windows Server 2008 R2

    • Варианты обновления до Windows Server 2016 с Windows Server 2012 или Windows Server 2012 R2

    • Варианты обновления до Windows Server 2019 с Windows Server 2012 R2 или Windows Server 2016

    • Варианты обновления до Windows Server 2022 с Windows Server 2016 или Windows Server 2019

  • Убедитесь в том, что на диске операционной системы достаточно свободного места для обновления на месте. Если требуется больше места, выполните следующие действия , чтобы развернуть диск операционной системы, подключенный к виртуальной машине.

  • Отключите антивирусную программу, антишпионское ПО и брандмауэры. Эти типы программного обеспечения могут конфликтовать с процессом обновления. Повторно включите антивирусное и антишпионское ПО и брандмауэры после завершения обновления.

Обновление виртуальной машины до корпоративной лицензии (активация сервера KMS)

Носитель обновления, предоставляемый Azure, требует, чтобы виртуальная машина была настроена для корпоративного лицензирования Windows Server. Это поведение по умолчанию для любой виртуальной машины Windows Server, установленной из обобщенного образа в Azure. Если виртуальная машина была импортирована в Azure, может потребоваться преобразовать ее в корпоративное лицензирование, чтобы использовать носитель обновления, предоставляемый Azure. Чтобы убедиться, что виртуальная машина настроена для активации корпоративной лицензии, выполните следующие действия, чтобы настроить соответствующий ключ установки клиента KMS. Если конфигурация активации была изменена, выполните следующие действия, чтобы проверить подключение к службе KMS Azure.

Обновление до Управляемые диски

Процесс обновления на месте требует использования Управляемые диски на виртуальной машине для обновления. Большинство виртуальных машин в Azure используют Управляемые диски, а поддержка неуправляемых дисков была объявлена в ноябре 2022 года. Если виртуальная машина в настоящее время использует неуправляемые диски, выполните следующие действия, чтобы перейти к Управляемые диски.

Создание моментального снимка диска операционной системы

Рекомендуется создать моментальный снимок диска операционной системы и всех дисков данных перед началом процесса обновления на месте. Это позволяет отменить изменения к предыдущему состоянию виртуальной машины, если во время процесса обновления на месте произойдет сбой. Чтобы создать моментальный снимок на каждом диске, выполните следующие действия, чтобы создать моментальный снимок диска.

Создание диска мультимедиа обновления

Чтобы запустить обновление на месте, необходимо подключить носитель обновления к виртуальной машине в качестве управляемого диска. Чтобы создать носитель обновления, измените переменные в следующем скрипте PowerShell для Windows Server 2022. Диск носителя обновления можно использовать для обновления нескольких виртуальных машин, но его можно использовать только для обновления одной виртуальной машины одновременно. Для одновременного обновления нескольких виртуальных машин необходимо создать несколько дисков обновления для каждого одновременного обновления.

Параметр Определение
resourceGroup Имя группы ресурсов, в которой будет создан управляемый диск носителя обновления. Именованной группы ресурсов создается, если она не существует.
Расположение Регион Azure, в котором создается управляемый диск обновления. Это должен быть тот же регион, что и для обновления виртуальной машины.
зона Зона Azure в выбранном регионе, где будет создан управляемый носитель обновления. Это должна быть та же зона, что и для обновления виртуальной машины. Для региональных виртуальных машин (не зональных) параметр зоны должен иметь значение "".
diskName Имя управляемого диска, содержащего носитель обновления
sku Версия носителя обновления Windows Server. Это должно быть либо: server2016Upgrade или server2019Upgrade или server2022Upgradeserver2012Upgrade

Если у вас несколько подписок, необходимо указать Set-AzContext -Subscription '<subscription name or id> , какую подписку следует использовать.

Сценарий 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  

Подключение носителя обновления к виртуальной машине

Подключите носитель обновления для целевой версии Windows Server к виртуальной машине, которая будет обновлена. Это можно сделать, пока виртуальная машина находится в состоянии выполнения или остановки.

Инструкции по работе на портале

  1. Войдите на портал Azure.

  2. Найдите и щелкните Виртуальные машины.

  3. Выберите виртуальную машину, чтобы выполнить обновление на месте из списка.

  4. На странице Виртуальная машина выберите Диски.

  5. На странице "Диски" выберите "Подключить существующие диски".

  6. В раскрывающемся списке для имени диска выберите имя диска обновления, созданного на предыдущем шаге.

  7. Нажмите кнопку "Сохранить", чтобы подключить диск обновления к виртуальной машине.

Выполните обновление на месте до Windows Server 2016, 2019 или 2022

Чтобы инициировать обновление на месте, виртуальная машина должна находиться в Running состоянии. После того как виртуальная машина находится в состоянии выполнения, выполните следующие действия, чтобы выполнить обновление.

  1. Подключение на виртуальную машину с помощью RDP или RDP-Бастион.

  2. Определите букву диска обновления (обычно E: или F: если нет других дисков данных).

  3. Запустите Windows PowerShell.

  4. Измените каталог на единственный каталог на диске обновления.

  5. Выполните следующую команду, чтобы запустить обновление:

    .\setup.exe /auto upgrade /dynamicupdate disable 
    
  6. Выберите правильный образ "Обновить до" на основе текущей версии и конфигурации виртуальной машины с помощью матрицы обновления Windows Server.

Во время обновления виртуальная машина автоматически отключится от сеанса RDP. После отключения виртуальной машины от сеанса RDP ход обновления можно отслеживать с помощью функциональных возможностей снимка экрана, доступных в портал Azure.

Обновление на месте до Windows Server 2012 только

Чтобы инициировать обновление на месте, виртуальная машина должна находиться в Running состоянии. После того как виртуальная машина находится в состоянии выполнения, выполните следующие действия, чтобы выполнить обновление.

  1. Подключение на виртуальную машину с помощью RDP или RDP-Бастион.

  2. Определите букву диска обновления (обычно E: или F: если нет других дисков данных).

  3. Запустите Windows PowerShell.

  4. Измените каталог на единственный каталог на диске обновления.

  5. Выполните следующую команду, чтобы запустить обновление:

    .\setup.exe 
    
  6. При запуске программы установки Windows нажмите кнопку "Установить сейчас".

  7. Чтобы получить важные обновления для установки Windows, выберите "Нет спасибо".

  8. Выберите правильный образ Windows Server 2012 "Обновление до" на основе текущей версии и конфигурации виртуальной машины с помощью матрицы обновления Windows Server.

  9. На странице условий лицензии выберите "Я принимаю условия лицензии" и нажмите кнопку "Далее".

  10. Для **Какой тип установки требуется?" выберите "Обновить": установить Windows и сохранить файлы, параметры и приложения.

  11. Программа установки будет продуктом отчета о совместимости, вы можете игнорировать любые предупреждения и нажать кнопку "Далее".

  12. По завершении компьютер перезагрузится, и вы автоматически отключитесь от сеанса RDP. После отключения виртуальной машины от сеанса RDP ход обновления можно отслеживать с помощью функциональных возможностей снимка экрана, доступных в портал Azure.

Шаги после обновления

После успешного завершения процесса обновления необходимо выполнить следующие действия, чтобы очистить все артефакты, созданные во время процесса обновления:

  • Удалите моментальные снимки диска ОС и дисков данных, если они были созданы.

  • Удалите управляемый диск носителя обновления.

  • Включите любую антивирусную программу, анти-шпионскую программу или брандмауэр, которая может быть отключена в начале процесса обновления.

Важно!

Сведения о плане образа не изменятся после процесса обновления.

Восстановление после сбоя

Если процесс обновления на месте завершился успешно, вы можете вернуться к предыдущей версии виртуальной машины, если были созданы моментальные снимки диска операционной системы и дисков данных. Чтобы отменить изменения виртуальной машины в предыдущее состояние с помощью моментальных снимков, выполните следующие действия:

  1. Создайте новый управляемый диск из моментального снимка диска ОС и каждый моментальный снимок диска данных, описанный в разделе "Создание диска из моментального снимка ", чтобы создать диски в той же зоне доступности, что и виртуальная машина, если виртуальная машина находится в зоне.

  2. Остановите работу виртуальной машины.

  3. Переключите диск ОС виртуальной машины.

  4. Отключите все диски данных от виртуальной машины.

  5. Подключите диски данных, созданные на основе моментальных снимков на шаге 1.

  6. Перезапустите виртуальную машину.

Следующие шаги