Freigeben über


Verschieben einer VM aus Azure in Azure Stack Hub

Sie können eine virtuelle Festplatte (Virtual Hard Drive, VHD) von einem in Azure erstellten virtuellen Computer (Virtual Machine, VM) in Ihre Azure Stack Hub-Instanz hochladen.

Vorbereiten und Herunterladen der VHD aus Azure

Informieren Sie sich im Abschnitt, der sich speziell auf Ihre Anforderungen bei der Vorbereitung Ihrer VHD bezieht.

  • Führen Sie die Schritte im Artikel Erstellen einer Windows-VM von einem speziellen Datenträger mithilfe von PowerShell aus.
  • Stellen Sie sicher, dass der VM-Agent (MSI) verfügbar ist, um VM-Erweiterungen bereitzustellen.
    Weitere Informationen und Anweisungen finden Sie unter Übersicht über den Agent für virtuelle Azure-Computer. Stellen Sie sicher, dass die Erweiterung auf der VM installiert ist, bevor Sie sie verschieben. Wenn der VM-Agent auf der virtuellen Festplatte nicht vorhanden ist, tritt bei der Erweiterungsbereitstellung ein Fehler auf. Die Festlegung des Betriebssystemprofils oder von $vm.OSProfile.AllowExtensionOperations = $true ist nicht bei der Bereitstellung erforderlich.

Überprüfen der VHD

Vor dem Hochladen der VHD müssen Sie prüfen, ob die VHD die Anforderungen erfüllt. VHDs, die die Anforderungen nicht erfüllen, können nicht in Azure Stack Hub geladen werden.

  1. Sie verwenden die PowerShell-Module in Hyper-V. Beim Aktivieren von Hyper-V wird Unterstützung für PowerShell-Module installiert. Sie können prüfen, ob Sie über das Modul verfügen, indem Sie PowerShell an einer Eingabeaufforderung mit erhöhten Rechten öffnen und das folgende Cmdlet ausführen:

    Get-Command -Module hyper-v
    

    Wenn Ihnen die Hyper-V-Befehle nicht zur Verfügung stehen, finden Sie weitere Informationen unter Arbeiten mit Hyper-V und Windows PowerShell.

  2. Ermitteln Sie den Pfad zu Ihrer VHD auf Ihrem Computer. Führen Sie das folgende Cmdlet aus:

    get-vhd <path-to-your-VHD>
    

    Das Cmdlet gibt das VHD-Objekt zurück und zeigt die Attribute an, wie z. B.:

    ComputerName            : YOURMACHINENAME
    Path                    : <path-to-your-VHD>
    VhdFormat               : VHD
    VhdType                 : Fixed
    FileSize                : 68719477248
    Size                    : 68719476736
    MinimumSize             : 32212254720
    LogicalSectorSize       : 512
    PhysicalSectorSize      : 512
    BlockSize               : 0
    ParentPath              :
    DiskIdentifier          : 3C084D21-652A-4C0E-B2D1-63A8E8E64C0C
    FragmentationPercentage : 0
    Alignment               : 1
    Attached                : False
    DiskNumber              :
    IsPMEMCompatible        : False
    AddressAbstractionType  : None
    Number                  :
    
  3. Prüfen Sie beim VHD-Objekt, ob es die Anforderungen für Azure Stack Hub erfüllt.

    Darüber hinaus unterstützt Azure Stack Hub nur Images von VMs der 1. Generation.

  4. Wenn Ihre VHD nicht mit Azure Stack Hub kompatibel ist, müssen Sie zum Quellimage und Hyper-V zurückkehren, eine den Anforderungen entsprechende VHD erstellen und diese dann hochladen. Um mögliche Beschädigungen beim Hochladen zu minimieren, verwenden Sie AzCopy.

Festlegen der festen Größe der VHD

Die folgenden Anforderungen müssen für die Kompatibilität Ihrer VHD mit Azure Stack Hub erfüllt sein.

VHD hat einen Typ mit fester Größe

Ermitteln Sie Folgendes: Verwenden Sie das Cmdlet get-vhd zum Abrufen des VHD-Objekts.
Problemlösung: Sie können eine VHDX-Datei in das VHD-Format und einen dynamisch erweiterbaren Datenträger in einen Datenträger mit fester Größe konvertieren, die Generation eines virtuellen Computers kann jedoch nicht geändert werden. Verwenden Sie Hyper-V-Manager oder PowerShell, um den Datenträger zu konvertieren.

VHD hat eine minimale virtuelle Größe von mindestens 20 MB

Ermitteln Sie Folgendes: Verwenden Sie das Cmdlet get-vhd zum Abrufen des VHD-Objekts.
Problemlösung: Verwenden Sie Hyper-V-Manager oder PowerShell, um die Größe des Datenträgers zu ändern.

VHD ist ausgerichtet

Ermitteln Sie Folgendes: Verwenden Sie das Cmdlet get-vhd zum Abrufen des VHD-Objekts.
Problemlösung: Die virtuelle Größe muss ein Vielfaches von 1 MB sein.

Datenträger benötigen eine virtuelle Größe, die auf 1 MiB ausgerichtet ist. Wenn die Größe Ihrer VHD ein Bruchteil von 1 MiB ist, muss die Größe des Datenträgers in ein Vielfaches von 1 MiB geändert werden. Bei Datenträgern mit einem MiB-Bruchteil treten Fehler auf, wenn Images auf der Grundlage der hochgeladenen VHD erstellt werden. Verwenden Sie zur Überprüfung der Größe das PowerShell-Cmdlet Get-VHD, und sehen Sie sich den Wert von „Size“ an. Der Wert in Azure muss ein Vielfaches von 1 MiB sein. Sehen Sie sich außerdem den Wert von „FileSize“ an. Dieser Wert muss der Summe aus dem Wert von „Size“ plus 512 Bytes für die VHD-Fußzeile entsprechen.

Verwenden Sie Hyper-V-Manager oder PowerShell, um die Größe des Datenträgers zu ändern.

VHD-Bloblänge

Ermitteln Sie Folgendes: Verwenden Sie das Cmdlet get-vhd zum Anzeigen von Size
Problemlösung: VHD-Bloblänge = virtuelle Größe + VHD-Fußzeilenlänge (512). Die Eigenschaften der VHD werden in einer kleinen Fußzeile am Ende des Blobs beschrieben. Size muss in Azure ein Vielfaches von 1 MiB und FileSize sein, das Size + 512 Bytes für die VHD-Fußzeile entspricht.

Verwenden Sie Hyper-V-Manager oder PowerShell, um die Größe des Datenträgers zu ändern.

VMs der 1. Generation

Ermitteln Sie Folgendes: Bestätigen Sie mit dem Cmdlet Get-VM | Format-Table Name, Generation, ob es sich bei Ihrem virtuellen Computer um die 1. Generation handelt.
Problemlösung: Sie müssen Ihre VM in Ihrem Hypervisor (Hyper-V) neu erstellen.

Hochladen in ein Speicherkonto

Sie können Ihre VHD im Portal hochladen oder mithilfe des Containers, den Sie im Portal erstellt haben. Verwenden Sie dazu AzCopy.

Portal zum Generieren der SAS-URL und Hochladen der VHD

  1. Melden Sie sich beim Azure Stack Hub-Benutzerportal an.

  2. Wählen Sie unter Speicherkonten ein vorhandenes Speicherkonto aus, oder erstellen Sie ein neues.

  3. Wählen Sie auf dem Blatt „Speicherkonto“ für Ihr Speicherkonto Blobs aus. Wählen Sie Container, um einen neuen Container zu erstellen.

  4. Geben Sie den Namen Ihres Containers ein, und wählen Sie dann Blob (anonymer Lesezugriff nur für Blobs) aus.

  5. Wenn Sie AzCopy zum Hochladen Ihres Images statt des Portals verwenden möchten, erstellen Sie einen SAS-Token. Wählen Sie im Speicherkonto Shared Access Signature und dann SAS und Verbindungszeichenfolge generieren aus. Kopieren und notieren Sie die SAS-URL des Blob-Diensts. Sie nutzen diese URL bei Verwendung von AzCopy zum Hochladen der VHD.

  6. Wählen Sie Ihren Container und dann Hochladen aus. Laden Sie Ihre VHD hoch.

AzCopy für VHD

Verwenden Sie Azure Storage-Explorer oder AzCopy, um die Wahrscheinlichkeit zu verringern, dass Ihre VHD beim Hochladen beschädigt wird, und das Hochladen zu beschleunigen. In den folgenden Schritten wird AzCopy auf einem Computer mit Windows 10 ausgeführt. AzCopy ist ein Befehlszeilenhilfsprogramm, das Sie verwenden können, um Blobs oder Dateien in oder aus einem Speicherkonto zu kopieren.

  1. Wenn Sie AzCopy nicht installiert haben, installieren Sie das Tool. Anweisungen zum Herunterladen und zum Einstieg finden Sie im Artikel Erste Schritte mit AzCopy. Notieren Sie sich, wo Sie die Binärdatei speichern. Sie können AzCopy Ihrem Pfad hinzufügen, um es an der PowerShell-Befehlszeile zu verwenden.

  2. Öffnen Sie PowerShell, um AzCopy auf der Shell zu verwenden.

  3. Laden Sie mit AzCopy Ihre VHD in Ihren Container im Speicherkonto hoch.

    $env:AZCOPY_DEFAULT_SERVICE_API_VERSION = "2017-11-09"
    azcopy cp "/path/to/file.vhd" "https://[account].blob.core.windows.net/[container]/[path/to/blob]?[SAS] --blob-type=PageBlob
    

Hinweis

Laden Sie Ihre VHD mit einer Syntax hoch, die dem Hochladen einer einzelnen Datei in ein virtuelles Verzeichnis ähnelt. Fügen Sie --blob-type=PageBlob hinzu, um sicherzustellen, dass die VHD als Seitenblob hochgeladen wird, anstatt standardmäßig als Block.

Weitere Informationen zum Einsatz von AzCopy und anderen Speichertools finden Sie unter Verwenden der Datenübertragungstools im Azure Stack Hub-Speicher.

Erstellen des virtuellen Computers

Es gibt zwei Arten benutzerdefinierter Images: Spezialisiert und Generalisiert.

  1. Melden Sie sich beim Azure Stack Hub-Benutzerportal an.

    Wenn Sie ein Cloudbetreiber sind, der einen Plattformdatenträger erstellt, befolgen Sie die Anweisungen unter Hinzufügen eines Plattformimages, um die VHD über das Administratorportal oder mit den Administratorendpunkten hinzuzufügen.

  2. Wählen Sie im Benutzerportal Alle Dienste>Datenträger>Hinzufügen aus.

  3. Gehen Sie unter Verwalteten Datenträger erstellen so vor:

    1. Geben Sie den Namen Ihres Images ein.

    2. Wählen Sie Ihr Abonnement aus.

    3. Erstellen Sie das Image, oder fügen Sie es einer Ressourcengruppe hinzu.

    4. Wählen Sie den Speicherort, auch als Region bezeichnet, Ihres Azure Stack Hub Development Kit (ASDK) aus.

    5. Wählen Sie den Kontotyp aus.

      • Premium-Datenträger (SSD) basieren auf Solid State Drives und bieten konsistente Leistung mit geringen Wartezeiten. Sie bieten das beste Preis-Leistungs-Verhältnis und eignen sich ideal für E/A-intensive Anwendungen und Produktionsworkloads.
      • Standard-Datenträger (HDD) basieren auf magnetischen Laufwerken und werden für Anwendungen bevorzugt, in denen nur selten auf Daten zugegriffen wird. Zonenredundante Datenträger basieren auf zonenredundantem Speicher, der Ihre Daten in mehreren Zonen repliziert, und sind auch dann verfügbar, wenn eine einzelne Zone ausfällt.
    6. Wählen Sie unter Quelltyp die Option Speicherblob aus. Sie erstellen einen Datenträger aus einem Blob in einem Speicherkonto.

    7. Wählen Sie für die VHD-Quelle Folgendes aus:

      1. Das Quellabonnement, in dem sich das Speicherkonto befindet.
      2. Wählen Sie Durchsuchen aus, und navigieren Sie zu Ihrem Speicherkonto, Container und Ihrer VHD. Klicken Sie auf Auswählen.
      3. Wählen Sie den Betriebssystemtyp aus, der der VHD entspricht.
    8. Wählen Sie eine Datenträgergröße (GiB) aus, die mindestens der Größe Ihrer VHD entspricht.

    9. Klicken Sie auf Erstellen.

  4. Nachdem der Datenträger erstellt wurde, können Sie ihn nutzen, um eine neue VM zu erstellen.

Nächste Schritte

Verschieben einer VM in Azure Stack Hub: Übersicht