Bildexport aus Azure Marketplace
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.
Sie müssen die erforderlichen Programme auf Ihrem System installieren.
-
Azure CLI ist installiert oder Azure Cloud Shell ist über das Azure-Portal jederzeit verfügbar.
Weitere Informationen zur Installation von Azure CLI finden Sie unter "Azure-Dokumentation: Installieren von Azure CLI".
-
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" } ]
-
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.
-
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 ...
-
-
Ü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
-
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
-
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
-
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