Подключение неуправляемого диска к виртуальной машине для автономного восстановления
Область применения: ✔️ Виртуальные машины Windows
Некоторые сценарии устранения неполадок для виртуальных машин Windows (виртуальных машин), например при не запуске виртуальной машины, требуют восстановления диска ОС в автономном режиме. В этой статье описывается, как выполнить такое автономное восстановление при неуправляемом диске ОС.
Определение управляемого или неуправляемого диска ОС
Портал Azure
Откройте колонку "Обзор " для виртуальной машины. Если диск ОС неуправляем, информационный баннер указывает, что виртуальная машина не использует управляемые диски.
Кроме того, колонка "Обзор " диска ОС добавляет "(неуправляемый)" к имени диска, если диск неуправляем, как показано ниже:
Если диск управляется, колонка "Обзор" для диска ОС отображает поле "Управляемый по ", как показано ниже:
PowerShell
Вы можете убедиться, что диск ОС неуправляем, введя следующую команду. (Обязательно замените MyResourceGroup именем группы ресурсов и MyVM именем виртуальной машины.)
(get-azvm -ResourceGroupName MyResourceGroup -Name MyVM).StorageProfile.OsDisk
Если диск неуправляем, в выходных данных рядом с ManagedDisk не отображается значение, как показано в следующем примере:
OsType : Windows
EncryptionSettings :
Name : MyVM-Disk1
Vhd : Microsoft.Azure.Management.Compute.Models.VirtualHardDisk
Image :
Caching : ReadWrite
WriteAcceleratorEnabled :
DiffDiskSettings :
CreateOption : FromImage
DiskSizeGB : 127
ManagedDisk :
Если диск является управляемым диском, вы увидите значение в выходных данных рядом с ManagedDisk, как показано в следующем примере:
OsType : Windows
EncryptionSettings :
Name : MyVM2-Disk1
Vhd :
Image :
Caching : ReadWrite
WriteAcceleratorEnabled :
DiffDiskSettings :
CreateOption : FromImage
DiskSizeGB :
ManagedDisk : Microsoft.Azure.Management.Compute.Models.ManagedDiskParameters
Интерфейс командной строки Azure (Azure CLI)
Команду az vm show можно использовать с добавленным запросом storageProfile.osDisk.managedDisk, чтобы определить, имеет ли диск управляемые диски, как показано в следующем примере:
az vm show -n MyVM -g MyResourceGroup --query "storageProfile.osDisk.managedDisk"
Если диски неуправляемы, команда не создаст выходные данные. Если диски управляются, он создаст выходные данные, как показано в следующем примере:
{
"diskEncryptionSet": null,
"id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/MyResourceGroup/providers/Microsoft.Compute/disks/MyVm_OsDisk_1",
"resourceGroup": "MyResourceGroup",
"storageAccountType": null
}
Создайте копию неуправляемого диска ОС, подключенного к исходной (неудачной) виртуальной машине.
В портал Azure остановите исходную виртуальную машину, диск операционной системы которой неуправляем.
На локальном компьютере скачайте, установите и запустите Microsoft служба хранилища Azure Explorer. При появлении запроса укажите учетные данные Azure.
В области навигации Обозреватель службы хранилища разверните соответствующую подписку.
Выберите учетную запись хранения, в которой находится виртуальный жесткий диск, а затем выберите соответствующий контейнер для диска. По умолчанию неуправляемые диски ОС хранятся в контейнере виртуальных жестких дисков (арендованных).
В правой области выберите виртуальный жесткий диск, подключенный к исходной виртуальной машине, которую требуется восстановить, и выберите " Копировать " в верхней части. Обратите внимание, что скопированный диск можно вставить только в другой контейнер BLOB-объектов.
Создайте контейнер BLOB-объектов, щелкнув правой кнопкой мыши контейнер BLOB-объектов в области навигации, а затем выбрав "Создать контейнер BLOB-объектов". Назначьте новый контейнер BLOB-объектов выбранным именем, например "диски-копии".
Выберите "Вставить" , чтобы вставить скопированный диск в новый контейнер BLOB-объектов.
Создание виртуальной машины восстановления с неуправляемым диском ОС
В портал Azure начните процесс создания новой виртуальной машины, основанной на Windows Server 2019. Эта новая виртуальная машина будет выступать в качестве виртуальной машины восстановления, а собственный диск ОС должен быть неуправляем.
На странице "Основы" мастера "Создание виртуальной машины" выберите "Нет избыточности инфраструктуры", необходимой в списке параметров доступности.
На странице "Диски" разверните раздел "Дополнительно " ниже "Диски данных", а затем снимите флажок "Использовать управляемые диски". Выберите учетную запись хранения для неуправляемого диска ОС. Не выбирайте подключение существующего диска.
Если параметр "Использовать управляемые диски" не может быть выбран, попробуйте создать виртуальную машину с помощью следующих команд:
## Get the subnet ID of the VM $SubnetID = az network vnet subnet show --resource-group <RG name> --name <Subnet name> --vnet-name <VNet name> --query id -o tsv ## Create a VM with the unmanaged disk az vm create \ --resource-group <RG name>\ --name <VM name>\ --image <Image name>\ --location <location of the VM>\ --admin-username <Admin name>\ --subnet $SubnetID\ --size <VM size>\ --use-unmanaged-disk
Выполните мастер создания виртуальной машины, указав сведения о конфигурации, соответствующие вашей организации.
Присоединение копии неуправляемого диска к виртуальной машине восстановления
В портал Azure откройте колонку "Диски" для созданной виртуальной машины восстановления.
Выберите и добавьте диск данных.
На странице "Присоединение неуправляемого диска" выберите существующий большой двоичный объект в качестве типа источника.
Под исходным BLOB-объектом нажмите кнопку "Обзор", а затем выберите созданную ранее копию диска ОС.
На странице "Присоединение неуправляемого диска " примите имя BLOB-объекта хранилища по умолчанию и нажмите кнопку "ОК".
В колонке "Диски " новой виртуальной машины восстановления нажмите кнопку "Сохранить".
Разблокируйте диск, если он зашифрован
Если диск зашифрован с помощью Шифрование дисков Azure (ADE), необходимо разблокировать его, прежде чем восстановить его. Для этого выполните действия, описанные в разделе "Разрешение 3. Ручной метод для разблокировки зашифрованного диска на виртуальной машине восстановления".
Вы можете определить, зашифрован ли диск с помощью процедуры : убедитесь, что ADE включен на диске.
Замена диска ОС на исходной виртуальной машине
После завершения восстановления диска выполните следующие действия.
Отключите исходный диск ОС виртуальной машины с помощью Azure CLI или PowerShell.
Azure CLI
Используйте команду az vm unmanaged-disk detach, как показано в следующем примере:
az vm unmanaged-disk detach -g MyResourceGroup --vm-name MyVm -n disk_name
PowerShell
Введите следующие команды в Azure Cloud Shell одновременно:
$VirtualMachine = Get-AzVM -ResourceGroupName "MyResourceGroup" -Name "MyVm" Remove-AzVMDataDisk -VM $VirtualMachine -Name "disk_name" Update-AzVM -ResourceGroupName "MyResourceGroup" -VM $VirtualMachine
После отключения диска можно заменить диск ОС на исходной виртуальной машине.
Когда запрос возвращается, откройте текстовый редактор, например Блокнот, и запишите следующие значения:
- Идентификатор подписки ($subscriptionID): 32-значный глобальный уникальный идентификатор (GUID), связанный с подпиской Azure.
- Имя группы ресурсов ($rgname): группа ресурсов исходной виртуальной машины.
- Имя виртуальной машины ($vmname): имя исходной (неудачной) виртуальной машины.
- URI виртуального жесткого диска ОС ($vhduri): URI копии неуправляемого диска ОС, который вы только что отсоединили от виртуальной машины восстановления. (Это значение можно скопировать, щелкнув диск правой кнопкой мыши в Обозреватель службы хранилища и выбрав URL-адрес копирования.)
Введите следующие команды в командной строке PowerShell в Azure Cloud Shell одновременно. В каждой команде замените значения "Идентификатор подписки", "Имя группы ресурсов", "Имя виртуальной машины" и "URI виртуального жесткого диска ОС" соответствующими значениями, записанными из среды.
$subscriptionID = "Subscription ID" $rgname = "Resource group name" $vmname = "VM Name" $vhduri = "OS disk VHD URI" #Add-AzAccount Select-AzSubscription -SubscriptionID $subscriptionID Set-AzContext -SubscriptionID $subscriptionID $vm = Get-AzVM -ResourceGroupName $rgname -Name $vmname $vm.StorageProfile.OsDisk.Vhd.Uri = $vhduri Update-AzVM -ResourceGroupName $rgname -VM $vm
После завершения операции вы увидите следующие выходные данные:
RequestId IsSuccessStatusCode StatusCode ReasonPhrase --------- ------------------- ---------- ------------ True OK OK
В портал Azure откройте колонку "Диски" на виртуальной машине. Выберите диск ОС, а затем убедитесь, что универсальный код ресурса (URI) VHD соответствует значению, предоставленному на последнем шаге.
Next Steps
Общие сведения о ADE см. в статье "Включение Шифрование дисков Azure для виртуальных машин Windows". Дополнительные сведения о командах, которые можно использовать для управления неуправляемых дисков, см. в статье az vm unmanaged-disk.
Свяжитесь с нами для получения помощи
Если у вас есть вопросы или вам нужна помощь, создайте запрос в службу поддержки или обратитесь за поддержкой сообщества Azure. Вы также можете отправить отзыв о продукте в сообщество отзывов Azure.