Attacher un disque non managé à une machine virtuelle pour une réparation hors connexion
S’applique à : ✔️ Machine virtuelles Windows
Certains scénarios de résolution des problèmes pour les machines virtuelles Windows, comme lorsqu’une machine virtuelle ne démarre pas, nécessitent la réparation de son disque de système d’exploitation hors connexion. Cet article explique comment effectuer ce type de réparation hors connexion lorsque le disque du système d’exploitation défaillant n’est pas géré.
Déterminer si le disque du système d’exploitation est géré ou non géré
Portail Azure
Ouvrez le panneau Vue d’ensemble de la machine virtuelle. Si le disque du système d’exploitation n’est pas géré, une bannière d’information indique que la machine virtuelle n’utilise pas de disques managés.
En outre, le panneau Vue d’ensemble du disque du système d’exploitation ajoute « (non managé) » au nom du disque si le disque n’est pas géré, comme indiqué ci-dessous :
Si le disque est géré, le panneau Vue d’ensemble du disque du système d’exploitation affiche un champ Géré par champ, comme indiqué ci-dessous :
PowerShell
Vous pouvez vérifier que le disque du système d’exploitation n’est pas géré en entrant la commande suivante. (Veillez à remplacer « MyResourceGroup » par le nom de votre groupe de ressources et « MyVM » par le nom de votre machine virtuelle.)
(get-azvm -ResourceGroupName MyResourceGroup -Name MyVM).StorageProfile.OsDisk
Si le disque n’est pas géré, aucune valeur n’apparaît dans la sortie en regard de ManagedDisk, comme dans l’exemple suivant :
OsType : Windows
EncryptionSettings :
Name : MyVM-Disk1
Vhd : Microsoft.Azure.Management.Compute.Models.VirtualHardDisk
Image :
Caching : ReadWrite
WriteAcceleratorEnabled :
DiffDiskSettings :
CreateOption : FromImage
DiskSizeGB : 127
ManagedDisk :
Si le disque est un disque managé, vous verrez une valeur dans la sortie en regard de ManagedDisk, comme dans l’exemple suivant :
OsType : Windows
EncryptionSettings :
Name : MyVM2-Disk1
Vhd :
Image :
Caching : ReadWrite
WriteAcceleratorEnabled :
DiffDiskSettings :
CreateOption : FromImage
DiskSizeGB :
ManagedDisk : Microsoft.Azure.Management.Compute.Models.ManagedDiskParameters
Interface de ligne de commande Azure (Azure CLI)
Vous pouvez utiliser la commande az vm show avec la requête ajoutée « storageProfile.osDisk.managedDisk » pour déterminer si le disque a des disques managés, comme dans l’exemple suivant :
az vm show -n MyVM -g MyResourceGroup --query "storageProfile.osDisk.managedDisk"
Si les disques ne sont pas gérés, la commande ne génère aucune sortie. Si les disques sont gérés, il génère une sortie comme dans l’exemple suivant :
{
"diskEncryptionSet": null,
"id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/MyResourceGroup/providers/Microsoft.Compute/disks/MyVm_OsDisk_1",
"resourceGroup": "MyResourceGroup",
"storageAccountType": null
}
Créer une copie du disque de système d’exploitation non managé attaché à la machine virtuelle source (échec)
Dans le Portail Azure, arrêtez la machine virtuelle source dont le disque du système d’exploitation n’est pas géré.
Sur votre ordinateur local, téléchargez, installez, puis démarrez Microsoft Explorateur Stockage Azure. Fournissez vos informations d’identification Azure lorsque vous y êtes invité.
Dans le volet de navigation Explorateur Stockage, développez l’abonnement approprié.
Sélectionnez le compte de stockage dans lequel se trouve le disque dur virtuel, puis sélectionnez le conteneur approprié pour le disque. Par défaut, les disques de système d’exploitation non managés sont stockés dans le conteneur vhds (Baild).
Dans le volet droit, sélectionnez le disque dur virtuel attaché à la machine virtuelle source que vous souhaitez réparer, puis sélectionnez Copier en haut. Notez que le disque copié ne peut être collé que dans un autre conteneur d’objets blob.
Créez un conteneur d’objets blob en cliquant avec le bouton droit sur Conteneur d’objets blob dans le volet de navigation, puis en sélectionnant Créer un conteneur d’objets blob. Attribuez au nouveau conteneur d’objets blob un nom de votre choix, par exemple « disk-copies ».
Sélectionnez Coller pour coller le disque copié dans le nouveau conteneur d’objets blob.
Créer une machine virtuelle de réparation avec un disque de système d’exploitation non managé
Dans le Portail Azure, commencez le processus de création d’une machine virtuelle basée sur Windows Server 2019. Cette nouvelle machine virtuelle agit comme votre machine virtuelle de réparation et son propre disque de système d’exploitation doit être non géré.
Dans la page Informations de base de l’Assistant « Créer une machine virtuelle », sélectionnez Aucune redondance d’infrastructure requise dans la liste des options de disponibilité.
Dans la page Disques, développez Avancé sous Disques de données, puis décochez la case Utiliser les disques managés. Sélectionnez un compte de stockage pour le disque du système d’exploitation non managé. Ne sélectionnez pas l’attachement d’un disque existant. Si l’option Utiliser des disques managés ne peut pas être désélectionnée, essayez de créer la machine virtuelle à l’aide des commandes suivantes :
## 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
Terminez l’Assistant « Créer une machine virtuelle » en spécifiant les détails de configuration appropriés pour votre organisation.
Attacher une copie du disque non managé à la machine virtuelle de réparation
Dans le Portail Azure, ouvrez le panneau Disques pour la nouvelle machine virtuelle de réparation que vous venez de créer.
Sélectionnez + Ajouter un disque de données.
Dans la page Attacher un disque non managé, sélectionnez Objet blob existant comme type de source.
Sous l’objet blob source, sélectionnez Parcourir, puis recherchez la copie du disque du système d’exploitation que vous avez créée précédemment.
Dans la page Attacher un disque non managé, acceptez le nom d’objet blob de stockage par défaut, puis sélectionnez OK.
Dans le panneau Disques de la nouvelle machine virtuelle de réparation, sélectionnez Enregistrer.
Déverrouiller le disque s’il est chiffré
Si le disque est chiffré avec Azure Disk Encryption (ADE), vous devez le déverrouiller avant de pouvoir le réparer. Pour ce faire, utilisez les étapes décrites dans Résolution #3 : Méthode manuelle pour déverrouiller un disque chiffré sur une machine virtuelle de réparation.
Vous pouvez déterminer si le disque est chiffré à l’aide de la procédure ici : vérifiez que ADE est activé sur le disque
Remplacer le disque du système d’exploitation sur la machine virtuelle source
Une fois que vous avez terminé la réparation du disque, procédez comme suit :
Détachez le disque du système d’exploitation de machine virtuelle source à l’aide d’Azure CLI ou de PowerShell.
Azure CLI
Utilisez la commande az vm unmanaged-disk detach , comme dans l’exemple suivant :
az vm unmanaged-disk detach -g MyResourceGroup --vm-name MyVm -n disk_name
PowerShell
Entrez les commandes suivantes dans Azure Cloud Shell, une à la fois :
$VirtualMachine = Get-AzVM -ResourceGroupName "MyResourceGroup" -Name "MyVm" Remove-AzVMDataDisk -VM $VirtualMachine -Name "disk_name" Update-AzVM -ResourceGroupName "MyResourceGroup" -VM $VirtualMachine
Après avoir détacher le disque, vous pouvez remplacer le disque du système d’exploitation sur la machine virtuelle source.
Lorsque l’invite est retournée, ouvrez un éditeur de texte, tel que le Bloc-notes, et enregistrez les valeurs suivantes :
- ID d’abonnement ($subscriptionID) : identificateur global unique à 32 chiffres (GUID) associé à votre abonnement Azure.
- Nom du groupe de ressources ($rgname) : groupe de ressources de la machine virtuelle source.
- Nom de la machine virtuelle ($vmname) : nom de la machine virtuelle source (échec).
- URI du disque dur virtuel du disque système d’exploitation ($vhduri) : URI de la copie du disque de système d’exploitation non managé que vous venez de détacher de la machine virtuelle de réparation. (Vous pouvez copier cette valeur en cliquant avec le bouton droit sur le disque dans Explorateur Stockage, puis en sélectionnant Copier l’URL.)
Entrez les commandes suivantes à l’invite de commandes PowerShell dans Azure Cloud Shell, une par une. Dans chaque commande, remplacez les valeurs « ID d’abonnement », « Nom du groupe de ressources », « Nom de la machine virtuelle » et « URI du disque dur virtuel du disque système d’exploitation » par les valeurs correspondantes que vous venez d’enregistrer à partir de votre environnement.
$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
Une fois l’opération terminée, la sortie suivante doit s’afficher :
RequestId IsSuccessStatusCode StatusCode ReasonPhrase --------- ------------------- ---------- ------------ True OK OK
Dans Portail Azure, ouvrez le panneau Disques sur la machine virtuelle. Sélectionnez le disque du système d’exploitation, puis vérifiez que l’URI du disque dur virtuel correspond à la valeur que vous avez fournie à la dernière étape.
Étapes suivantes
Pour lire une vue d’ensemble d’ADE, consultez Activer Azure Disk Encryption pour les machines virtuelles Windows. Pour plus d’informations sur les commandes que vous pouvez utiliser pour gérer les disques non managés, consultez az vm unmanaged-disk.
Contactez-nous pour obtenir de l’aide
Pour toute demande ou assistance, créez une demande de support ou posez une question au support de la communauté Azure. Vous pouvez également soumettre des commentaires sur les produits à la communauté de commentaires Azure.