Conexión de un disco no administrado a una máquina virtual para la reparación sin conexión
Se aplica a: ✔️ Máquinas virtuales de Windows
Algunos escenarios de solución de problemas para máquinas virtuales Windows, como cuando una máquina virtual no se inicia, requieren que repare su disco del sistema operativo sin conexión. En este artículo se describe cómo realizar este tipo de reparación sin conexión cuando el disco del sistema operativo con errores no está administrado.
Determinar si el disco del sistema operativo está administrado o no administrado
Azure Portal
Abra la hoja Información general de la máquina virtual. Si el disco del sistema operativo no está administrado, un banner informativo indica que la máquina virtual no usa discos administrados.
Además, la hoja Información general del disco del sistema operativo anexa "(no administrado)" al nombre del disco si el disco no está administrado, como se muestra a continuación:
Si el disco está administrado, la hoja Información general del disco del sistema operativo muestra un campo Administrado por , como se muestra a continuación:
PowerShell
Para comprobar que el disco del sistema operativo no está administrado, escriba el comando siguiente. (Asegúrese de reemplazar "MyResourceGroup" por el nombre del grupo de recursos y "MyVM" por el nombre de la máquina virtual).
(get-azvm -ResourceGroupName MyResourceGroup -Name MyVM).StorageProfile.OsDisk
Si el disco no está administrado, no aparece ningún valor en la salida junto a ManagedDisk, como en el ejemplo siguiente:
OsType : Windows
EncryptionSettings :
Name : MyVM-Disk1
Vhd : Microsoft.Azure.Management.Compute.Models.VirtualHardDisk
Image :
Caching : ReadWrite
WriteAcceleratorEnabled :
DiffDiskSettings :
CreateOption : FromImage
DiskSizeGB : 127
ManagedDisk :
Si el disco es un disco administrado, verá un valor en la salida junto a ManagedDisk, como en el ejemplo siguiente:
OsType : Windows
EncryptionSettings :
Name : MyVM2-Disk1
Vhd :
Image :
Caching : ReadWrite
WriteAcceleratorEnabled :
DiffDiskSettings :
CreateOption : FromImage
DiskSizeGB :
ManagedDisk : Microsoft.Azure.Management.Compute.Models.ManagedDiskParameters
Interfaz de la línea de comandos de Azure (CLI de Azure)
Puede usar el comando az vm show con la consulta anexada "storageProfile.osDisk.managedDisk" para determinar si el disco tiene discos administrados, como en el ejemplo siguiente:
az vm show -n MyVM -g MyResourceGroup --query "storageProfile.osDisk.managedDisk"
Si los discos no están administrados, el comando no generará ninguna salida. Si se administran los discos, generará una salida como en el ejemplo siguiente:
{
"diskEncryptionSet": null,
"id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/MyResourceGroup/providers/Microsoft.Compute/disks/MyVm_OsDisk_1",
"resourceGroup": "MyResourceGroup",
"storageAccountType": null
}
Creación de una copia del disco del sistema operativo no administrado conectado a la máquina virtual de origen (con errores)
En Azure Portal, detenga la máquina virtual de origen cuyo disco del sistema operativo no está administrado.
En el equipo local, descargue, instale e inicie Microsoft Explorador de Azure Storage. Proporcione las credenciales de Azure cuando se le solicite.
En el panel de navegación Explorador de Storage, expanda la suscripción adecuada.
Seleccione la cuenta de almacenamiento en la que se encuentra el disco duro virtual y, a continuación, seleccione el contenedor adecuado para el disco. De forma predeterminada, los discos del sistema operativo no administrados se almacenan en el contenedor vhds (concedido).
En el panel derecho, seleccione el disco duro virtual que está conectado a la máquina virtual de origen que desea reparar y, a continuación, seleccione Copiar en la parte superior. Observe que el disco copiado solo se puede pegar en un contenedor de blobs diferente.
Cree un contenedor de blobs; para ello, haga clic con el botón derecho en Contenedor de blobs en el panel de navegación y, a continuación, seleccione Crear contenedor de blobs. Asigne al nuevo contenedor de blobs un nombre de su elección, como "copias de disco".
Seleccione Pegar para pegar el disco copiado en el nuevo contenedor de blobs.
Creación de una máquina virtual de reparación con un disco del sistema operativo no administrado
En Azure Portal, comience el proceso de creación de una máquina virtual basada en Windows Server 2019. Esta nueva máquina virtual actuará como la máquina virtual de reparación y su propio disco del sistema operativo debe no administrarse.
En la página Aspectos básicos del asistente "Crear una máquina virtual", seleccione No se requiere redundancia de infraestructura en la lista Opciones de disponibilidad.
En la página Discos, expanda Avanzados debajo de Discos de datos y, a continuación, desactive la casilla Usar discos administrados. Seleccione una cuenta de almacenamiento para el disco del sistema operativo no administrado. No seleccione para conectar un disco existente. Si no se puede seleccionar la opción Usar discos administrados , intente crear la máquina virtual mediante los comandos siguientes:
## 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
Complete el Asistente para crear una máquina virtual especificando los detalles de configuración adecuados para su organización.
Conexión de una copia del disco no administrado a la máquina virtual de reparación
En Azure Portal, abra la hoja Discos de la nueva máquina virtual de reparación que acaba de crear.
Seleccione + Agregar disco de datos.
En la página Adjuntar disco no administrado, seleccione Blob existente como tipo de origen.
Debajo del blob de origen, seleccione Examinar y, a continuación, busque la copia del disco del sistema operativo que creó anteriormente.
En la página Asociar disco no administrado, acepte el nombre del blob de almacenamiento predeterminado y, a continuación, seleccione Aceptar.
En la hoja Discos de la nueva máquina virtual de reparación, seleccione Guardar.
Desbloquee el disco si está cifrado
Si el disco está cifrado con Azure Disk Encryption (ADE), deberá desbloquearlo antes de poder repararlo. Para ello, siga los pasos descritos en Resolución #3: Método manual para desbloquear un disco cifrado en una máquina virtual de reparación.
Puede determinar si el disco está cifrado mediante el procedimiento siguiente: Confirme que ADE está habilitado en el disco.
Reemplazo del disco del sistema operativo en la máquina virtual de origen
Después de terminar de reparar el disco, siga estos pasos:
Desasocie el disco del sistema operativo de la máquina virtual de origen mediante la CLI de Azure o PowerShell.
CLI de Azure
Use el comando az vm unmanaged-disk detach , como en el ejemplo siguiente:
az vm unmanaged-disk detach -g MyResourceGroup --vm-name MyVm -n disk_name
PowerShell
Escriba los siguientes comandos en Azure Cloud Shell, de uno en uno:
$VirtualMachine = Get-AzVM -ResourceGroupName "MyResourceGroup" -Name "MyVm" Remove-AzVMDataDisk -VM $VirtualMachine -Name "disk_name" Update-AzVM -ResourceGroupName "MyResourceGroup" -VM $VirtualMachine
Después de desasociar el disco, puede reemplazar el disco del sistema operativo en la máquina virtual de origen.
Cuando se devuelva el símbolo del sistema, abra un editor de texto, como el Bloc de notas, y registre los valores siguientes:
- Identificador de suscripción ($subscriptionID): identificador único global (GUID) de 32 dígitos asociado a la suscripción de Azure.
- Nombre del grupo de recursos ($rgname): el grupo de recursos de la máquina virtual de origen.
- Nombre de máquina virtual ($vmname): nombre de la máquina virtual de origen (con errores).
- URI del disco del sistema operativo VHD ($vhduri):el URI de la copia del disco del sistema operativo no administrado que acaba de desasociar de la máquina virtual de reparación. (Para copiar este valor, haga clic con el botón derecho en el disco en Explorador de Storage y seleccione Copiar dirección URL).
Escriba los comandos siguientes en el símbolo del sistema de PowerShell en Azure Cloud Shell, de uno en uno. En cada comando, reemplace los valores "Id. de suscripción", "Nombre del grupo de recursos", "Nombre de máquina virtual" y "URI del disco del sistema operativo" por los valores correspondientes que acaba de registrar desde su entorno.
$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
Una vez finalizada la operación, debería ver la siguiente salida:
RequestId IsSuccessStatusCode StatusCode ReasonPhrase --------- ------------------- ---------- ------------ True OK OK
En Azure Portal, abra la hoja Discos en la máquina virtual. Seleccione el disco del sistema operativo y compruebe que el URI del disco duro virtual coincide con el valor proporcionado en el último paso.
Pasos siguientes
Para obtener información general sobre ADE, consulte Habilitación de Azure Disk Encryption para máquinas virtuales Windows. Para obtener más información sobre los comandos que puede usar para administrar discos no administrados, consulte az vm unmanaged-disk.
Ponte en contacto con nosotros para obtener ayuda
Si tiene preguntas o necesita ayuda, cree una solicitud de soporte o busque consejo en la comunidad de Azure. También puede enviar comentarios sobre el producto con los comentarios de la comunidad de Azure.