Hochladen einer VHD in Azure oder Kopieren eines verwalteten Datenträgers in eine andere Region – Azure-Befehlszeilenschnittstelle
Gilt für: ✔️ Linux-VMs ✔️ Windows-VMs ✔️ Flexible Skalierungsgruppen
In diesem Artikel wird erläutert, wie Sie mithilfe von AzCopy eine VHD von Ihrem lokalen Computer auf einen verwalteten Azure-Datenträger hochladen oder einen verwalteten Datenträger in eine andere Region kopieren. Im Rahmen dieses Vorgangs (des direkten Uploads) können Sie eine VHD mit einer Größe von bis zu 32 TiB direkt auf einen verwalteten Datenträger hochladen. Derzeit wird der direkte Upload für Disk Ultra, SSD Premium v2, SSD Premium, SSD Standard und HDD Standard unterstützt.
Wenn Sie eine Sicherungslösung für IaaS-VMs in Azure bereitstellen, sollten Sie einen direkten Upload verwenden, um Kundensicherungen auf verwalteten Datenträgern wiederherzustellen. Beim Hochladen einer VHD von einem Computer, der sich außerhalb von Azure befindet, hängt die Geschwindigkeit von der lokalen Bandbreite ab. Beim Hochladen oder Kopieren von einer Azure-VM entspricht die Bandbreite der von Standard-Festplattenlaufwerken.
Schützen von Uploads mit Microsoft Entra ID
Wenn Sie Microsoft Entra ID zur Steuerung des Ressourcenzugriffs verwenden, können Sie damit nun das Hochladen von in Azure verwalteten Datenträgern einschränken. Dieses Feature ist als GA-Angebot in allen Regionen verfügbar. Beim Versuch, einen Datenträger hochzuladen, überprüft Azure die Identität der anfordernden Benutzer*innen in Microsoft Entra ID, um sicherzustellen, dass sie über die erforderlichen Berechtigungen verfügen. Auf höherer Ebene können Systemadministrator*innen eine Richtlinie auf Ebene des Azure-Kontos oder -Abonnements festlegen, um sicherzustellen, dass eine Microsoft Entra-Identität über die erforderlichen Berechtigungen zum Hochladen verfügt, bevor ein Datenträger oder eine Datenträgermomentaufnahme hochgeladen werden kann. Wenn Sie Fragen zum Schützen von Uploads mit Microsoft Entra ID haben, wenden Sie sich an folgende E-Mail-Adresse: azuredisks@microsoft.com.
Voraussetzungen
Beschränkungen
- VHDs können nicht in leere Momentaufnahmen hochgeladen werden.
- Azure Backup unterstützt derzeit keine mit Microsoft Entra ID geschützten Datenträger.
- Azure Site Recovery unterstützt derzeit keine mit Microsoft Entra ID geschützten Datenträger.
Zuweisen einer RBAC-Rolle
Um auf mit Microsoft Entra ID geschützte verwaltete Datenträger zuzugreifen, müssen anfordernde Benutzer*innen entweder die Rolle Datenoperator für verwaltete Datenträger oder eine benutzerdefinierte Rolle mit den folgenden Berechtigungen haben:
- Microsoft.Compute/disks/download/action
- Microsoft.Compute/disks/upload/action
- Microsoft.Compute/snapshots/download/action
- Microsoft.Compute/snapshots/upload/action
Ausführliche Schritte zum Zuweisen einer Rolle finden Sie unter Zuweisen von Azure-Rollen mithilfe der Azure CLI. Informationen zum Erstellen oder Aktualisieren einer benutzerdefinierten Rolle finden Sie unter Erstellen oder Aktualisieren benutzerdefinierter Azure-Rollen mithilfe der Azure CLI.
Erste Schritte
Wenn Sie es vorziehen, Datenträger über eine grafische Benutzeroberfläche hochzuladen, können Sie dazu Azure Storage-Explorer verwenden. Ausführliche Informationen finden Sie unter: Verwenden von Azure Storage-Explorer zum Verwalten von verwalteten Azure-Datenträgern
Voraussetzungen
- Laden Sie die neueste Version von AzCopy V10 herunter.
- Installieren Sie die Azure-Befehlszeilenschnittstelle.
- Wenn Sie beabsichtigen, eine VHD aus der lokalen Umgebung hochzuladen: Eine VHD fester Größe, die für Azure vorbereitet wurde und lokal gespeichert ist.
- Oder ein verwalteter Datenträger in Azure, wenn Sie eine Kopieraktion ausführen möchten.
Wenn Sie Ihre VHD in Azure hochladen möchten, müssen Sie einen leeren verwalteten Datenträger erstellen, der für diesen Uploadvorgang konfiguriert ist. Bevor Sie einen solchen Datenträger erstellen, sollten Sie einige zusätzliche Informationen über diese Datenträger wissen.
Diese Art des verwalteten Datenträgers verfügt über zwei eindeutige Zustände:
- „ReadyToUpload“: Der Datenträger ist für den Upload bereit, jedoch wurde keine SAS (Shared Access Signature) generiert.
- „ActiveUpload“: Der Datenträger ist für den Upload bereit, und die SAS wurde generiert.
Hinweis
Für den verwalteten Datenträger fallen in beiden Zuständen Kosten an, die sich aus den Preisen für HDD Standard-Datenträger ergeben. Welcher Art von Datenträger verwendet wird, spielt keine Rolle. Das bedeutet, dass beispielsweise der Abrechnungsvorgang für P10 und S10 identisch ist. Dies ist solange der Fall, bis revoke-access
für den verwalteten Datenträger aufgerufen wird. Dieser Vorgang ist erforderlich, um den Datenträger an eine VM anzufügen.
Erstellen eines leeren verwalteten Datenträgers
Bevor Sie eine leere HDD Standard zum Hochladen erstellen können, benötigen Sie die Dateigröße in Byte der VHD, die Sie hochladen möchten. Um diese abzurufen, können Sie wc -c <yourFileName>.vhd
oder ls -al <yourFileName>.vhd
verwenden. Dieser Wert wird verwendet, wenn der Parameter --upload-size-bytes angegeben wird.
Erstellen Sie für das Hochladen eine leere HDD Standard, indem Sie in einem Datenträgererstellungs-Cmdlet sowohl den --for-upload- als auch den --upload-size-bytes-Parameter angeben:
Ersetzen Sie <yourdiskname>
, <yourresourcegroupname>
, <yourregion>
durch Werte Ihrer Wahl. Der Parameter --upload-size-bytes
enthält einen Beispielwert von 34359738880
, ersetzen Sie ihn durch einen für Sie geeigneten Wert.
Wichtig
Wenn Sie einen Betriebssystemdatenträger erstellen, fügen Sie --hyper-v-generation <yourGeneration>
zu az disk create
hinzu.
Wenn Sie Microsoft Entra ID zum Schützen von Datenträgeruploads verwenden, fügen Sie -dataAccessAuthmode 'AzureActiveDirectory'
hinzu.
Beim Hochladen auf Disk Ultra oder SSD Premium v2 müssen Sie die richtige Sektorgröße des Zieldatenträgers auswählen. Wenn Sie eine VHDX-Datei mit einer logischen Sektorgröße von 4k verwenden, muss der Zieldatenträger auf 4k festgelegt werden. Wenn Sie eine VHD-Datei mit einer logischen Sektorgröße von 512 verwenden, muss der Zieldatenträger auf 512 festgelegt werden.
VHDX-Dateien mit einer logischen Sektorgröße von 512k werden nicht unterstützt.
##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
Wenn Sie einen anderen Datenträgertyp hochladen möchten, ersetzen Sie standard_lrs durch premium_lrs, premium_zrs, standardssd_lrs, standardssd_zrs, premiumv2_lrs oder ultrassd_lrs.
(Optional) Gewähren des Zugriffs auf den Datenträger
Wenn Sie Microsoft Entra ID zum Schützen von Uploads verwenden, müssen Sie RBAC-Berechtigungen zuweisen, um Zugriff auf den Datenträger zu gewähren, und eine beschreibbare SAS generieren.
az role assignment create --assignee "{assignee}" \
--role "{Data Operator for Managed Disks}" \
--scope "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{providerName}/{resourceType}/{resourceSubType}/{diskName}"
Generieren einer schreibbaren SAS
Nachdem Sie einen leeren verwalteten Datenträger erstellt haben, der für den Hochladevorgang konfiguriert ist, können Sie jetzt eine VHD auf diesen Datenträger hochladen. Um eine VHD auf den Datenträger hochzuladen, benötigen Sie eine beschreibbare SAS, mit der Sie auf den Datenträger als Uploadziel verweisen können.
Wichtig
Am 15. Februar 2025 wird die SAS-Zugriffszeit (Shared Access Signature) für Datenträger und Momentaufnahmen auf maximal 60 Tage beschränkt. Wenn Sie versuchen, eine SAS mit einem Ablauf von mehr als 60 Tagen zu generieren, tritt ein Fehler auf. Jede vorhandene Datenträger- oder Snapshot-SAS, die mit einem Ablauf von mehr als 60 Tagen erstellt wurde, funktioniert möglicherweise 60 Tage nach dem Erstellungsdatum nicht mehr und führt bei der Autorisierung zu einem 403-Fehler.
Wenn der Ablauf einer SAS für einen verwalteten Datenträger oder einer Momentaufnahme mehr als 60 Tage beträgt, widerrufen Sie den Zugriff, und generieren Sie eine neue SAS, die den Zugriff für 60 Tage (5.184.000 Sekunden) oder weniger anfordert. Verbessern Sie Ihre allgemeine Sicherheit, indem Sie SAS mit früheren Ablaufdaten verwenden. Nehmen Sie diese Änderungen vor dem 15. Februar 2025 vor, um Dienstunterbrechungen zu vermeiden. Die folgenden Links können verwendet werden, um eine neue SAS zu suchen, zu widerrufen und anzufordern.
- Um zu überprüfen, ob ein Datenträger über eine aktive SAS verfügt, können Sie die REST-API, die Azure CLI oder das Azure PowerShell-Modul verwenden und die DiskState-Eigenschaft untersuchen.
- Um eine SAS zu widerrufen, können Sie die REST-API, die Azure CLIoder das Azure PowerShell-Modul verwenden.
- Um eine SAS zu erstellen, können Sie die REST-API, die Azure-Befehlszeilenschnittstelle oder das Azure PowerShell-Modul verwenden und die Zugriffsdauer auf 5.184.000 Sekunden oder weniger festlegen.
Ersetzen Sie <yourdiskname>
und <yourresourcegroupname>
, und verwenden Sie dann den folgenden Befehl, um eine beschreibbare SAS für Ihren leeren verwalteten Datenträger zu generieren:
az disk grant-access -n <yourdiskname> -g <yourresourcegroupname> --access-level Write --duration-in-seconds 86400
Beispiel eines Rückgabewerts:
{
"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"
}
Hochladen einer VHD oder VHDX
Sie verfügen nun über eine SAS für Ihren leeren verwalteten Datenträger und können diese verwenden, um diesen Datenträger als Ziel für den Uploadbefehl anzugeben.
Verwenden Sie AzCopy v10, um Ihre lokale VHD- oder VHDX-Datei auf einen verwalteten Datenträger hochzuladen. Dabei müssen Sie den von Ihnen generierten SAS-URI angeben.
Der Durchsatz für diesen Upload entspricht dem des gleichwertigen HDD Standard-Datenträgers. Wenn Sie beispielsweise als Größe S4 verwenden, beträgt der Durchsatz bis zu 60 MiB/s. Verwenden Sie hingegen als Größe S70, beträgt der Durchsatz bis zu 500 MiB/s.
AzCopy.exe copy "c:\somewhere\mydisk.vhd" "sas-URI" --blob-type PageBlob
Nachdem der Upload abgeschlossen wurde und Sie keine Daten mehr auf den Datenträger schreiben müssen, widerrufen Sie die SAS. Durch Widerrufen einer SAS ändert sich der Zustand des verwalteten Datenträgers, und Sie können ihn an eine VM anfügen.
Ersetzen Sie <yourdiskname>
und <yourresourcegroupname>
, und verwenden Sie dann den folgenden Befehl, damit der Datenträger verwendet werden kann:
az disk revoke-access -n <yourdiskname> -g <yourresourcegroupname>
Kopieren eines verwalteten Datenträgers
Der direkte Upload vereinfacht auch das Kopieren eines verwalteten Datenträgers. Sie können entweder innerhalb der gleichen Region oder regionsübergreifend (in eine andere Region) kopieren.
Das folgende Skript erledigt das für Sie. Der Vorgang ähnelt mit einigen Unterschieden den zuvor beschriebenen Schritten, da Sie nun mit einem vorhandenen Datenträger arbeiten.
Wichtig
Sie müssen ein Offset von 512 hinzufügen, wenn Sie die Datenträgergröße eines verwalteten Datenträgers aus Azure in Byte bereitstellen. Dies liegt daran, dass Azure die Fußzeile beim Zurückgeben der Datenträgergröße auslässt. Der Kopiervorgang schlägt fehl, wenn Sie nicht so vorgehen. Das folgende Skript fügt dieses Offset bereits für Sie ein.
Ersetzen Sie <sourceResourceGroupHere>
, <sourceDiskNameHere>
, <targetDiskNameHere>
, <targetResourceGroupHere>
und <yourTargetLocationHere>
(ein Beispiel für einen Standortwert ist „uswest2“) durch Ihre Werte, und führen Sie dann das folgende Skript aus, um einen verwalteten Datenträger zu kopieren.
Tipp
Wenn Sie einen Betriebssystemdatenträger erstellen, fügen Sie --hyper-v-generation <yourGeneration>
in az disk create
hinzu.
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
Nächste Schritte
Nachdem Sie nun erfolgreich eine VHD auf einen verwalteten Datenträger hochgeladen haben, können Sie den Datenträger als Datenträger für Daten an eine vorhandene VM anfügen oder den Datenträger als Betriebssystemdatenträger an eine VM anfügen, um eine neue VM zu erstellen.
Wenn Sie weitere Fragen haben, lesen Sie den Abschnitt Hochladen eines verwalteten Datenträgers in den häufig gestellten Fragen.