Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à : ✔️ Machines virtuelles Linux ✔️ Machines virtuelles Windows ✔️ Ensembles d'échelle flexibles
Cet article explique comment charger un disque dur virtuel depuis votre machine locale vers un disque managé Azure ou copier un disque managé dans une autre région avec AzCopy. Ce processus, le chargement direct, vous permet de charger un VHD d’une taille maximale de 32 Tio directement sur un disque managé. Actuellement, le chargement direct est pris en charge pour les Disques Ultra, SSD Premium v2, SSD Premium, SSD Standard et HDD Standard.
Si vous fournissez une solution de sauvegarde pour les machines virtuelles IaaS dans Azure, vous devez utiliser le chargement direct afin de restaurer les sauvegardes des clients sur des disques managés. Lorsque vous chargez un VHD à partir d’une source externe à Azure, la vitesse dépend de votre bande passante locale. Lors du chargement ou de la copie à partir de votre machine virtuelle Azure, votre bande passante est identique à celle des disques durs standard.
Si vous utilisez l’ID Microsoft Entra pour contrôler l’accès aux ressources, vous pouvez l’utiliser pour restreindre le chargement des disques managés Azure. Pour plus d’informations, consultez Téléchargements sécurisés et chargements de disques managés Azure .
Préparer le chargement ou la copie d’un disque managé
Si vous préférez charger des disques via une interface graphique utilisateur, vous pouvez utiliser l’Explorateur Stockage Azure. Pour plus d’informations, consultez : Utiliser l’Explorateur Stockage Azure pour gérer des disques managés Azure
Prérequis
- Téléchargez la dernière version d’AzCopy v10.
- Installer l’interface de ligne de commande Microsoft Azure.
- Si vous envisagez de charger un VHD à partir d’un emplacement local : Un VHD de taille fixe qui a été préparé pour Azure et stocké localement.
- Ou un disque managé dans Azure, si vous envisagez d’effectuer une action de copie.
Pour charger votre VHD vers Azure, vous devez créer un disque managé vide configuré pour ce processus de chargement. Avant de créer un, il y a certaines informations supplémentaires que vous devriez connaître à propos de ces disques.
Ce type de disque managé présente deux états uniques :
- ReadyToUpload, ce qui signifie que le disque est prêt à recevoir un chargement, mais qu’aucune signature d’accès partagé n’a été générée.
- ActiveUpload, qui signifie que le disque est prêt à recevoir un chargement et que la SAS a été générée.
Note
Dans l’un de ces états, le disque managé est facturé à la tarification HDD Standard, quel que soit le type réel de disque. Par exemple, un P10 est facturé comme un S10. Ceci s’applique jusqu’à ce que revoke-access soit appelé sur le disque managé, ce qui est nécessaire pour joindre le disque à une machine virtuelle.
Créer un disque managé vierge
Avant de pouvoir créer un hdD Standard vide pour le chargement, vous avez besoin de la taille de fichier du disque dur virtuel que vous souhaitez charger, en octets. Pour obtenir cette valeur, utilisez wc -c <yourFileName>.vhd ou ls -al <yourFileName>.vhd. Utilisez cette valeur lors de la spécification du --upload-size-bytes paramètre.
Créez un HDD standard vide pour le chargement en spécifiant à la fois le --for-upload paramètre et le --upload-size-bytes paramètre dans la commande az disk create :
Remplacez <yourdiskname>, <yourresourcegroupname>, <yourregion> par les valeurs de votre choix. Le paramètre --upload-size-bytes contient un exemple de valeur : 34359738880. Remplacez cet exemple par la valeur appropriée.
Important
Si vous créez un disque de système d’exploitation, ajoutez --hyper-v-generation <yourGeneration> à az disk create.
Si vous utilisez l’ID Microsoft Entra pour sécuriser les chargements de disque, ajoutez --data-access-auth-mode AzureActiveDirectory.
Lors du chargement sur un disque Ultra ou un disque SSD Premium v2, vous devez sélectionner la taille de secteur appropriée du disque cible. Si vous utilisez un fichier VHDX avec une taille de secteur logique de 4 Ko, le disque cible doit être défini sur 4 Ko. Si vous utilisez un fichier VHD avec une taille de secteur logique de 512, le disque cible doit être configuré sur 512.
Les fichiers VHDX avec une taille de secteur logique de 512 ne sont pas pris en charge.
##For Ultra Disk or Premium SSD v2, add --logical-sector-size and specify either 512 or 4096, depending on if you're using a VHD or VHDX
az disk create -n <yourdiskname> -g <yourresourcegroupname> -l <yourregion> --os-type Linux --for-upload --upload-size-bytes 34359738880 --sku standard_lrs
Si vous souhaitez charger un autre type de disque, remplacez standard_lrs par premium_lrs, premium_zrs, standardssd_lrs, standardssd_zrs, premiumv2_lrs ou ultrassd_lrs.
Facultatif : Attribuer des autorisations RBAC pour Microsoft Entra ID
Si vous utilisez Microsoft Entra ID pour sécuriser les chargements de disques, vous devez attribuer des autorisations RBAC pour accorder l'accès au disque et générer une SAP accessible en écriture.
az role assignment create --assignee "{assignee}" \
--role "{Data Operator for managed disks}" \
--scope "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{providerName}/{resourceType}/{resourceSubType}/{diskName}"
Générer une SAP accessible en écriture
Maintenant que vous avez créé un disque managé vide configuré pour le processus de téléversement, vous pouvez y téléverser un VHD. Pour téléverser un VHD vers le disque, vous avez besoin d’un SAS avec autorisation d’écriture afin de pouvoir le référencer comme destination de votre téléversement.
Important
Le 15 février 2025, la durée d’accès à la signature d’accès partagé (SAP) pour les disques et les instantanés sera limitée à un maximum de 60 jours. Le fait d’essayer de générer une SAP avec une expiration dépassant 60 jours entraîne une erreur. Toute SAS de disque ou d’instantané existante créée avec une expiration de plus de 60 jours peut cesser de fonctionner 60 jours après la date de création et génère une erreur 403 lors de l'autorisation.
Si l’expiration de la SAP d’un disque managé ou d’un instantané est supérieure à 60 jours, révoquez son accès et générez une nouvelle SAP qui demande l’accès pendant 60 jours (5 184 000 secondes) ou moins. Améliorez votre sécurité globale à l’aide de SAP avec des dates d’expiration plus courtes. Apportez ces modifications avant le 15 février 2025 pour empêcher l’interruption des services. Les liens suivants peuvent être utilisés pour rechercher, révoquer et demander une nouvelle SAS.
- Pour vérifier si un disque dispose d’une SAP active, vous pouvez utiliser l’API REST, Azure CLIou le module Azure PowerShell et examiner la propriété DiskState.
- Pour révoquer une SAP, vous pouvez utiliser l’API REST, Azure CLIou le module Azure PowerShell.
- Pour créer une signature SAS, vous pouvez utiliser l’API REST, Azure CLI ou le module Azure PowerShell, et définir la durée d’accès sur 5 184 000 secondes ou moins.
Pour générer une signature SAS accessible en écriture de votre disque managé vierge, remplacez <yourdiskname> et <yourresourcegroupname>, puis utilisez la commande suivante :
az disk grant-access -n <yourdiskname> -g <yourresourcegroupname> --access-level Write --duration-in-seconds 86400
Exemple de valeur renvoyée :
{
"accessSas": "https://md-impexp-t0rdsfgsdfg4.blob.core.windows.net/w2c3mj0ksfgl/abcd?sv=2017-04-17&sr=b&si=600a9281-d39e-4cc3-91d2-923c4a696537&sig=xXaT6mFgf139ycT87CADyFxb%2BnPXBElYirYRlbnJZbs%3D"
}
Charger un VHD ou VHDX
Maintenant que vous disposez d'une SAS pour votre disque managé vierge, vous pouvez l'utiliser pour définir votre disque managé en tant que destination de votre commande de chargement.
Utilisez AzCopy v10 pour charger votre fichier VHD ou VHDX local sur un disque managé en spécifiant l’URI de la SAS que vous avez générée.
Ce chargement a le même débit que le HDD Standard équivalent. Par exemple, pour une taille correspondant à S4, vous aurez un débit allant jusqu'à 60 Mio/s. Mais, si vous avez une taille équivalente à S70, vous pouvez atteindre un débit de jusqu'à 500 Mio/s.
azcopy copy "<path-to-vhd-or-vhdx>" "<sas-uri>" --blob-type PageBlob
Lorsque vous avez terminé le chargement et que vous n’avez plus rien à écrire sur le disque, révoquez la SAS. La révocation de la signature SAP change l’état du disque managé et vous permet d’attacher le disque à une machine virtuelle.
Remplacez <yourdiskname> et <yourresourcegroupname>utilisez la commande suivante pour rendre le disque utilisable :
az disk revoke-access -n <yourdiskname> -g <yourresourcegroupname>
Copier un disque managé
Le chargement direct simplifie également le processus de copie d’un disque managé. Vous pouvez effectuer une copie au sein d’une même région ou entre des régions différentes (vers une autre région).
Le script suivant s’en charge pour vous. Le processus est similaire aux étapes décrites précédemment, à quelques différences près puisque vous utilisez un disque existant.
Le script utilise az disk show pour obtenir la taille du disque source et ajoute le décalage de 512 octets requis. Il utilise ensuite az disk create pour créer un disque cible prêt pour le chargement et az disk grant-access pour générer des URI SAS pour les disques source et cible. Après que AzCopy a copié les données du disque en tant qu’objet blob de pages, az disk revoke-access révoque les deux URI SAS.
Important
Vous devez ajouter un décalage de 512 quand vous fournissez la taille en octets d’un disque managé d’Azure. En effet, Azure omet le pied de page lors du retour de la taille du disque. Si vous ne le faites pas, la copie échouera. Le script suivant s’en charge pour vous.
Remplacez <sourceResourceGroupHere>, <sourceDiskNameHere>, <targetDiskNameHere>, <targetResourceGroupHere> et <yourTargetLocationHere> (la valeur d’emplacement pourrait par exemple être uswest2) par vos valeurs, puis exécutez le script suivant afin de copier un disque managé.
Conseil
Si vous créez un disque de système d’exploitation, ajoutez --hyper-v-generation <yourGeneration> à az disk create.
sourceDiskName=<sourceDiskNameHere>
sourceRG=<sourceResourceGroupHere>
targetDiskName=<targetDiskNameHere>
targetRG=<targetResourceGroupHere>
targetLocation=<yourTargetLocationHere>
#Expected value for OS is either "Windows" or "Linux"
targetOS=<yourOSTypeHere>
sourceDiskSizeBytes=$(az disk show -g $sourceRG -n $sourceDiskName --query '[diskSizeBytes]' -o tsv)
az disk create -g $targetRG -n $targetDiskName -l $targetLocation --os-type $targetOS --for-upload --upload-size-bytes $(($sourceDiskSizeBytes+512)) --sku standard_lrs
targetSASURI=$(az disk grant-access -n $targetDiskName -g $targetRG --access-level Write --duration-in-seconds 86400 --query [accessSas] -o tsv)
sourceSASURI=$(az disk grant-access -n $sourceDiskName -g $sourceRG --duration-in-seconds 86400 --query [accessSas] -o tsv)
azcopy copy "$sourceSASURI" "$targetSASURI" --blob-type PageBlob
az disk revoke-access -n $sourceDiskName -g $sourceRG
az disk revoke-access -n $targetDiskName -g $targetRG
Étapes suivantes
Maintenant que vous avez réussi à charger un disque dur virtuel sur un disque managé, vous pouvez joindre le disque en tant que disque de données à une machine virtuelle existante ou joindre le disque à une machine virtuelle en tant que disque de système d'exploitation pour créer une nouvelle machine virtuelle.
Si vous avez plus de questions, consultez la section chargement d’un disque managé dans le FAQ.