Skip to main content
Alle Cloud-Provider
  • Amazon Web Services
  • Google Cloud
  • Microsoft Azure
  • Alle Cloud-Provider
Die deutsche Sprachversion wurde als Serviceleistung für Sie durch maschinelle Übersetzung erstellt. Bei eventuellen Unstimmigkeiten hat die englische Sprachversion Vorrang.

Bildexport aus Azure Marketplace

Beitragende

Nachdem das VHD-Image in der Azure Cloud veröffentlicht wurde, wird das Image nicht mehr von NetApp gemanagt. Stattdessen wird das veröffentlichte Bild auf dem Azure Marketplace platziert. Die Änderung der führenden 1 MB und der letzten 512 B der VHD durch Azure tritt auf, wenn das Image bereitgestellt und auf dem Azure Marketplace veröffentlicht wird. Um die Signatur der VHD-Datei zu überprüfen, muss das von Azure geänderte VHD-Image zuerst aus dem Azure Marketplace exportiert werden.

Was Sie benötigen

Sie müssen die erforderlichen Programme auf Ihrem System installieren.

Schritte
  1. Ordnen Sie die ONTAP-Version mithilfe des Inhalts der Datei „Version_readme“ der Azure Marketplace-Bildversion zu.

    Für jede Versionszuordnung, die in der Datei Version_readme aufgeführt ist, wird die ONTAP-Version durch „buildname“ und die Azure Marketplace Image-Version durch „Version“ dargestellt.

    In der folgenden Datei „Version_readme“ ist beispielsweise die ONTAP-Version „915.0P1“ der Azure Marketplace-Image-Version „9150.01000024.05090105“ zugeordnet. Diese Azure Marketplace-Image-Version wird später verwendet, um die Image-URN festzulegen.

    [
        {
            "buildname": "9.15.0P1",
            "publisher": "netapp",
            "version": "9150.01000024.05090105"
        }
    ]
  2. Geben Sie den Namen der Region an, in der Sie VMs erstellen möchten.

    Dieser Name der Region wird als Wert für die Variable „locName“ verwendet, wenn die URN des Marktplatzbildes festgelegt wird.

    1. Um eine Liste der verfügbaren Regionen zu erhalten, geben Sie den ein az account list-locations -o table Befehl.

      In der folgenden Tabelle wird der Name der Region als Feld „Name“ bezeichnet.

    $ az account list-locations -o table
    DisplayName               Name                 RegionalDisplayName
    ------------------------  -------------------  -------------------------------------
    East US                   eastus               (US) East US
    East US 2                 eastus2              (US) East US 2
    South Central US          southcentralus       (US) South Central US
    ...
  3. Überprüfen Sie die SKU-Namen für die entsprechenden Cloud Volumes ONTAP-Versionen und VM-Bereitstellungstypen aus der folgenden Tabelle.

    Der SKU-Name wird als Wert für die Variable „skuName“ verwendet, wenn die URN des Marketplace-Images festgelegt wird.

    Beispielsweise sollten alle Single-Node-Implementierungen mit Cloud Volumes ONTAP 9.15.0 als SKU-Name verwendet werden ontap_cloud_byol.

    Cloud Volumes ONTAP-Version

    Typ der VM-Bereitstellung

    SKU-Name

    9.15.1

    Alle Bereitstellungen sind über BlueXP  möglich

    ONTAP_Cloud

    9.15.0

    Single Node

    ontap_Cloud_byol

    9.15.0

    Hochverfügbarkeit

    ontap_Cloud_byol_ha

  4. Sobald die ONTAP Version und das Azure Marketplace Image zugeordnet sind, exportieren Sie die VHD-Datei aus dem Azure Marketplace über die Azure Cloud Shell oder die Azure CLI.

Exportieren Sie die VHD-Datei über Azure Cloud Shell im Azure-Portal

  1. Exportieren Sie das Marketplace-Image von Azure Cloud Shell in ein vhd (image2, z. B. 9150.01000024.05090105.vhd), und laden Sie es auf Ihren lokalen Rechner (z. B. einen Linux-Rechner oder einen Windows-PC) herunter.

    Schritte anzeigen
    #Azure Cloud Shell on Azure portal to get VHD image from Azure Marketplace
    a) Set the URN and other parameters of the marketplace image. URN is with format "<publisher>:<offer>:<sku>:<version>". Optionally, a user can list NetApp marketplace images to confirm the proper image version.
    PS /home/user1> $urn="netapp:netapp-ontap-cloud:ontap_cloud_byol:9150.01000024.05090105"
    PS /home/user1> $locName="eastus2"
    PS /home/user1> $pubName="netapp"
    PS /home/user1> $offerName="netapp-ontap-cloud"
    PS /home/user1> $skuName="ontap_cloud_byol"
    PS /home/user1> Get-AzVMImage -Location $locName -PublisherName $pubName -Offer $offerName -Sku $skuName |select version
    ...
    141.20231128
    9.141.20240131
    9.150.20240213
    9150.01000024.05090105
    ...
    
    b) Create a new managed disk from the Marketplace image with the matching image version
    PS /home/user1> $diskName = “9150.01000024.05090105-managed-disk"
    PS /home/user1> $diskRG = “fnf1”
    PS /home/user1> az disk create -g $diskRG -n $diskName --image-reference $urn
    PS /home/user1> $sas = az disk grant-access --duration-in-seconds 3600 --access-level Read --name $diskName --resource-group $diskRG
    PS /home/user1> $diskAccessSAS = ($sas | ConvertFrom-Json)[0].accessSas
    
    c) Export a VHD from the managed disk to Azure Storage
    Create a container with proper access level. As an example, a container named 'vm-images' with 'Container' access level is used here.
    Get storage account access key, on Azure portal, 'Storage Accounts'/'examplesaname'/'Access Key'/'key1'/'key'/'show'/<copy>.
    PS /home/user1> $storageAccountName = “examplesaname”
    PS /home/user1> $containerName = “vm-images”
    PS /home/user1> $storageAccountKey = "<replace with the above access key>"
    PS /home/user1> $destBlobName = “9150.01000024.05090105.vhd”
    PS /home/user1> $destContext = New-AzureStorageContext -StorageAccountName $storageAccountName -StorageAccountKey $storageAccountKey
    PS /home/user1> Start-AzureStorageBlobCopy -AbsoluteUri $diskAccessSAS -DestContainer $containerName -DestContext $destContext -DestBlob $destBlobName
    PS /home/user1> Get-AzureStorageBlobCopyState –Container $containerName –Context $destContext -Blob $destBlobName
    
    d) Download the generated image to your server, e.g., a Linux machine.
    Use "wget <URL of file examplesaname/Containers/vm-images/9150.01000024.05090105.vhd>".
    The URL is organized in a formatted way. For automation tasks, the following example could be used to derive the URL string. Otherwise, Azure CLI 'az' command could be issued to get the URL, which is not covered in this guide. URL Example:
    https://examplesaname.blob.core.windows.net/vm-images/9150.01000024.05090105.vhd
    
    e) Clean up the managed disk
    PS /home/user1> Revoke-AzDiskAccess -ResourceGroupName $diskRG -DiskName $diskName
    PS /home/user1> Remove-AzDisk -ResourceGroupName $diskRG -DiskName $diskName

Exportieren Sie die VHD-Datei über die Azure CLI von einem lokalen Linux-Computer

  1. Exportieren Sie das Marketplace-Image über die Azure CLI von einem lokalen Linux-Rechner in ein VHD.

    Schritte anzeigen
    #Azure CLI on local Linux machine to get VHD image from Azure Marketplace
    a) Login Azure CLI and list marketplace images
    % az login --use-device-code
    To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code XXXXXXXXX to authenticate.
    
    % az vm image list --all --publisher netapp --offer netapp-ontap-cloud --sku ontap_cloud_byol
    ...
    {
    "architecture": "x64",
    "offer": "netapp-ontap-cloud",
    "publisher": "netapp",
    "sku": "ontap_cloud_byol",
    "urn": "netapp:netapp-ontap-cloud:ontap_cloud_byol:9150.01000024.05090105",
    "version": "9150.01000024.05090105"
    },
    ...
    
    b) Create a new managed disk from the Marketplace image with the matching image version
    % export urn="netapp:netapp-ontap-cloud:ontap_cloud_byol:9150.01000024.05090105"
    % export diskName="9150.01000024.05090105-managed-disk"
    % export diskRG="new_rg_your_rg"
    % az disk create -g $diskRG -n $diskName --image-reference $urn
    % az disk grant-access --duration-in-seconds 3600 --access-level Read --name $diskName --resource-group $diskRG
    {
      "accessSas": "https://md-xxxxxx.blob.core.windows.net/xxxxxxx/abcd?sv=2018-03-28&sr=b&si=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxx&sigxxxxxxxxxxxxxxxxxxxxxxxx"
    }
    
    % export diskAccessSAS="https://md-xxxxxx.blob.core.windows.net/xxxxxxx/abcd?sv=2018-03-28&sr=b&si=xxxxxxxx-xxxx-xx-xx-xx&sigxxxxxxxxxxxxxxxxxxxxxxxx"
    #To automate the process, the SAS needs to be extracted from the standard output. This is not included in this guide.
    
    c) export vhd from managed disk
    Create a container with proper access level. As an example, a container named 'vm-images' with 'Container' access level is used here.
    Get storage account access key, on Azure portal, 'Storage Accounts'/'examplesaname'/'Access Key'/'key1'/'key'/'show'/<copy>. There should be az command that can achieve the same, but this is not included in this guide.
    % export storageAccountName="examplesaname"
    % export containerName="vm-images"
    % export storageAccountKey="xxxxxxxxxx"
    % export destBlobName="9150.01000024.05090105.vhd"
    
    % az storage blob copy start --source-uri $diskAccessSAS --destination-container $containerName --account-name $storageAccountName --account-key $storageAccountKey --destination-blob $destBlobName
    
    {
      "client_request_id": "xxxx-xxxx-xxxx-xxxx-xxxx",
      "copy_id": "xxxx-xxxx-xxxx-xxxx-xxxx",
      "copy_status": "pending",
      "date": "2022-11-02T22:02:38+00:00",
      "etag": "\"0xXXXXXXXXXXXXXXXXX\"",
      "last_modified": "2022-11-02T22:02:39+00:00",
      "request_id": "xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx",
      "version": "2020-06-12",
      "version_id": null
    }
    
    #to check the status of the blob copying
    % az storage blob show --name $destBlobName --container-name $containerName --account-name $storageAccountName
    
    ....
        "copy": {
          "completionTime": null,
          "destinationSnapshot": null,
          "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx",
          "incrementalCopy": null,
          "progress": "10737418752/10737418752",
          "source": "https://md-xxxxxx.blob.core.windows.net/xxxxx/abcd?sv=2018-03-28&sr=b&si=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
          "status": "success",
          "statusDescription": null
        },
    ....
    
    d) Download the generated image to your server, e.g., a Linux machine.
    Use "wget <URL of file examplesaname/Containers/vm-images/9150.01000024.05090105.vhd>".
    The URL is organized in a formatted way. For automation tasks, the following example could be used to derive the URL string. Otherwise, Azure CLI 'az' command could be issued to get the URL, which is not covered in this guide. URL Example:
    https://examplesaname.blob.core.windows.net/vm-images/9150.01000024.05090105.vhd
    
    e) Clean up the managed disk
    az disk revoke-access --name $diskName --resource-group $diskRG
    az disk delete --name $diskName --resource-group $diskRG --yes