Używanie obrazu witryny Azure Marketplace do tworzenia obrazu maszyny wirtualnej dla procesora GPU usługi Azure Stack Edge Pro
DOTYCZY: Azure Stack Edge Pro — GPUAzure Stack Edge Pro 2Azure Stack Edge Pro R Azure Stack Edge Mini R
Aby wdrożyć maszyny wirtualne na urządzeniu z procesorem GPU Usługi Azure Stack Edge Pro, należy utworzyć obraz maszyny wirtualnej, którego można użyć do tworzenia maszyn wirtualnych. W tym artykule opisano kroki wymagane do utworzenia obrazu maszyny wirtualnej, zaczynając od obrazu witryny Azure Marketplace. Następnie możesz użyć tego obrazu maszyny wirtualnej do wdrożenia maszyn wirtualnych na urządzeniu z procesorem GPU Usługi Azure Stack Edge Pro.
Przepływ pracy obrazu maszyny wirtualnej
W poniższych krokach opisano przepływ pracy obrazu maszyny wirtualnej przy użyciu przepływu pracy witryny Azure Marketplace:
- Połącz się z usługą Azure Cloud Shell lub klientem z zainstalowanym interfejsem wiersza polecenia platformy Azure.
- Przeszukaj witrynę Azure Marketplace i zidentyfikuj preferowany obraz.
- Utwórz nowy dysk zarządzany na podstawie obrazu witryny Marketplace.
- Wyeksportuj dysk VHD z dysku zarządzanego do konta usługi Azure Storage.
- Wyczyść dysk zarządzany.
Aby uzyskać więcej informacji, zobacz Wdrażanie maszyny wirtualnej na urządzeniu Azure Stack Edge Pro przy użyciu programu Azure PowerShell.
Wymagania wstępne
Przed użyciem obrazów witryny Azure Marketplace dla usługi Azure Stack Edge upewnij się, że masz połączenie z platformą Azure w jeden z następujących sposobów.
Użyj środowiska powłoki Bash w usłudze Azure Cloud Shell. Aby uzyskać więcej informacji, zobacz Szybki start dotyczący powłoki Bash w usłudze Azure Cloud Shell.
Jeśli wolisz uruchamiać polecenia referencyjne interfejsu wiersza polecenia lokalnie, zainstaluj interfejs wiersza polecenia platformy Azure. Jeśli korzystasz z systemu Windows lub macOS, rozważ uruchomienie interfejsu wiersza polecenia platformy Azure w kontenerze Docker. Aby uzyskać więcej informacji, zobacz Jak uruchomić interfejs wiersza polecenia platformy Azure w kontenerze platformy Docker.
Jeśli korzystasz z instalacji lokalnej, zaloguj się do interfejsu wiersza polecenia platformy Azure za pomocą polecenia az login. Aby ukończyć proces uwierzytelniania, wykonaj kroki wyświetlane w terminalu. Aby uzyskać inne opcje logowania, zobacz Logowanie się przy użyciu interfejsu wiersza polecenia platformy Azure.
Po wyświetleniu monitu zainstaluj rozszerzenie interfejsu wiersza polecenia platformy Azure podczas pierwszego użycia. Aby uzyskać więcej informacji na temat rozszerzeń, zobacz Korzystanie z rozszerzeń w interfejsie wiersza polecenia platformy Azure.
Uruchom polecenie az version, aby znaleźć zainstalowane wersje i biblioteki zależne. Aby uaktualnić do najnowszej wersji, uruchom polecenie az upgrade.
Wyszukiwanie obrazów witryny Azure Marketplace
Zidentyfikuj konkretny obraz witryny Azure Marketplace, którego chcesz użyć. Witryna Azure Marketplace hostuje tysiące obrazów maszyn wirtualnych.
Aby znaleźć niektóre z najczęściej używanych obrazów witryny Marketplace spełniających kryteria wyszukiwania, uruchom następujące polecenie.
az vm image list --all [--publisher <Publisher>] [--offer <Offer>] [--sku <SKU>]
Ostatnie trzy flagi są opcjonalne, ale z wyłączeniem ich zwraca długą listę.
Oto przykładowe zapytania:
#Returns all images of type "Windows Server"
az vm image list --all --publisher "MicrosoftWindowsserver" --offer "WindowsServer"
#Returns all Windows Server 2019 Datacenter images from West US published by Microsoft
az vm image list --all --location "westus" --publisher "MicrosoftWindowsserver" --offer "WindowsServer" --sku "2019-Datacenter"
#Returns all VM images from a publisher
az vm image list --all --publisher "Canonical"
Oto przykładowe dane wyjściowe, gdy zapytania dotyczące obrazów maszyn wirtualnych określonego wydawcy, oferty i jednostki SKU zostały zapytane.
PS /home/user> az vm image list --all --publisher "Canonical" --offer "UbuntuServer" --sku "12.04.4-LTS"
[
{
"offer": "UbuntuServer",
"publisher": "Canonical",
"sku": "12.04.4-LTS",
"urn": "Canonical:UbuntuServer:12.04.4-LTS:12.04.201402270",
"version": "12.04.201402270"
},
{
"offer": "UbuntuServer",
"publisher": "Canonical",
"sku": "12.04.4-LTS",
"urn": "Canonical:UbuntuServer:12.04.4-LTS:12.04.201404080",
"version": "12.04.201404080"
},
{
"offer": "UbuntuServer",
"publisher": "Canonical",
"sku": "12.04.4-LTS",
"urn": "Canonical:UbuntuServer:12.04.4-LTS:12.04.201404280",
"version": "12.04.201404280"
},
{
"offer": "UbuntuServer",
"publisher": "Canonical",
"sku": "12.04.4-LTS",
"urn": "Canonical:UbuntuServer:12.04.4-LTS:12.04.201405140",
"version": "12.04.201405140"
},
{
"offer": "UbuntuServer",
"publisher": "Canonical",
"sku": "12.04.4-LTS",
"urn": "Canonical:UbuntuServer:12.04.4-LTS:12.04.201406060",
"version": "12.04.201406060"
},
{
"offer": "UbuntuServer",
"publisher": "Canonical",
"sku": "12.04.4-LTS",
"urn": "Canonical:UbuntuServer:12.04.4-LTS:12.04.201406190",
"version": "12.04.201406190"
},
{
"offer": "UbuntuServer",
"publisher": "Canonical",
"sku": "12.04.4-LTS",
"urn": "Canonical:UbuntuServer:12.04.4-LTS:12.04.201407020",
"version": "12.04.201407020"
},
{
"offer": "UbuntuServer",
"publisher": "Canonical",
"sku": "12.04.4-LTS",
"urn": "Canonical:UbuntuServer:12.04.4-LTS:12.04.201407170",
"version": "12.04.201407170"
}
]
PS /home/user>
W tym przykładzie wybierzemy pozycję Windows Server 2019 Datacenter Core w wersji 2019.0.20190410. Zidentyfikujemy ten obraz według jego uniwersalnego numeru zasobu ("URN").
Często używane obrazy witryny Marketplace
Poniżej znajduje się lista adresów URL dla niektórych najczęściej używanych obrazów. Jeśli chcesz tylko najnowszą wersję określonego systemu operacyjnego, numer wersji można zastąpić ciągiem "latest" w identyfikatorze URIN. Na przykład "MicrosoftWindowsServer:WindowsServer:2019-Datacenter:Latest".
System operacyjny | SKU | Wersja | Nazwa URN |
---|---|---|---|
Windows Server | 2019 Datacenter | 17763.1879.2104091832 | MicrosoftWindowsServer:WindowsServer:2019-Datacenter:17763.1879.2104091832 |
Windows Server | 2019 Datacenter (mały dysk 30 GB) | 17763.1879.2104091832 | MicrosoftWindowsServer:WindowsServer:2019-Datacenter-smalldisk:17763.1879.2104091832 |
Windows Server | 2019 Datacenter Core | 17763.1879.2104091832 | MicrosoftWindowsServer:WindowsServer:2019-Datacenter-Core:17763.1879.2104091832 |
Windows Server | 2019 Datacenter Core (mały dysk 30 GB) | 17763.1879.2104091832 | MicrosoftWindowsServer:WindowsServer:2019-Datacenter-Core-smalldisk:17763.1879.2104091832 |
Pulpit systemu Windows | Windows 10 20H2 Pro | 19042.928.2104091209 | MicrosoftWindowsDesktop:Windows-10:20h2-pro:19042.928.2104091209 |
Ubuntu Server | Canonical Ubuntu Server 18.04 LTS | 18.04.202002180 | Canonical:UbuntuServer:18.04-LTS:18.04.202002180 |
Ubuntu Server | Canonical Ubuntu Server 16.04 LTS | 16.04.202104160 | Canonical:UbuntuServer:16.04-LTS:16.04.202104160 |
Tworzenie nowego dysku zarządzanego na podstawie obrazu witryny Marketplace
Utwórz dysk zarządzany platformy Azure na podstawie wybranego obrazu witryny Marketplace.
Ustaw parametry.
$urn = <URN of the Marketplace image> #Example: “MicrosoftWindowsServer:WindowsServer:2019-Datacenter:Latest” $diskName = <disk name> #Name for new disk to be created $diskRG = <resource group> #Resource group that contains the new disk
Utwórz dysk i wygeneruj adres URL dostępu współdzielonego.
az disk create -g $diskRG -n $diskName --image-reference $urn $sas = az disk grant-access --duration-in-seconds 36000 --access-level Read --name $diskName --resource-group $diskRG $diskAccessSAS = ($sas | ConvertFrom-Json)[0].accessSas
Oto przykładowe dane wyjściowe:
PS /home/user> $urn = “MicrosoftWindowsServer:WindowsServer:2019-Datacenter:Latest”
PS /home/user> $diskName = "newmanageddisk1"
PS /home/user> $diskRG = "newrgmd1"
PS /home/user> az disk create -g $diskRG -n $diskName --image-reference $urn
{
"burstingEnabled": null,
"creationData": {
"createOption": "FromImage",
"galleryImageReference": null,
"imageReference": {
"id": "/Subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/Providers/Microsoft.Compute/Locations/eastus/Publishers/MicrosoftWindowsServer/ArtifactTypes/VMImage/Offers/WindowsServer/Skus/2019-Datacenter/Versions/17763.1935.2105080716",
"lun": null
},
"logicalSectorSize": null,
"sourceResourceId": null,
"sourceUniqueId": null,
"sourceUri": null,
"storageAccountId": null,
"uploadSizeBytes": null
},
"diskAccessId": null,
"diskIopsReadOnly": null,
"diskIopsReadWrite": 500,
"diskMBpsReadOnly": null,
"diskMBpsReadWrite": 100,
"diskSizeBytes": 136367308800,
"diskSizeGb": 127,
"diskState": "Unattached",
"encryption": {
"diskEncryptionSetId": null,
"type": "EncryptionAtRestWithPlatformKey"
},
"encryptionSettingsCollection": null,
"extendedLocation": null,
"hyperVGeneration": "V1",
"id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/newrgmd1/providers/Microsoft.Compute/disks/NewManagedDisk1",
"location": "eastus",
"managedBy": null,
"managedByExtended": null,
"maxShares": null,
"name": "NewManagedDisk1",
"networkAccessPolicy": "AllowAll",
"osType": "Windows",
"propertyUpdatesInProgress": null,
"provisioningState": "Succeeded",
"purchasePlan": null,
"resourceGroup": "newrgmd1",
"securityProfile": null,
"shareInfo": null,
"sku": {
"name": "Premium_LRS",
"tier": "Premium"
},
"supportsHibernation": null,
"tags": {},
"tier": "P10",
"timeCreated": "2021-06-08T00:39:34.205982+00:00",
"type": "Microsoft.Compute/disks",
"uniqueId": "1a649ad4-3b95-471e-89ef-1d2ed1f51525",
"zones": null
}
PS /home/user> $sas = az disk grant-access --duration-in-seconds 36000 --access-level Read --name $diskName --resource-group $diskRG
PS /home/user> $diskAccessSAS = ($sas | ConvertFrom-Json)[0].accessSas
PS /home/user>
Eksportowanie dysku VHD z dysku zarządzanego do usługi Azure Storage
Ten krok umożliwia wyeksportowanie dysku VHD z dysku zarządzanego do preferowanego konta usługi Azure Blob Storage. Ten wirtualny dysk twardy może następnie służyć do tworzenia obrazów maszyn wirtualnych w usłudze Azure Stack Edge.
Ustaw docelowe konto magazynu, na którym jest kopiowany dysk VHD.
$storageAccountName = <destination storage account name> $containerName = <destination container name> $destBlobName = <blobname.vhd> #Blob that will be created, including .vhd extension $storageAccountKey = <storage account key>
Skopiuj dysk VHD do docelowego konta magazynu.
$destContext = New-AzureStorageContext -StorageAccountName $storageAccountName -StorageAccountKey $storageAccountKey Start-AzureStorageBlobCopy -AbsoluteUri $diskAccessSAS -DestContainer $containerName -DestContext $destContext -DestBlob $destBlobName
Ukończenie kopiowania wirtualnego dysku twardego trwa kilka minut. Przed kontynuowaniem upewnij się, że kopia zostanie ukończona, uruchamiając następujące polecenie. Po zakończeniu w polu stanu zostanie wyświetlony komunikat "Powodzenie".
Get-AzureStorageBlobCopyState –Container $containerName –Context $destContext -Blob $destBlobName
Oto przykładowe dane wyjściowe:
PS /home/user> $storageAccountName = "edgeazurevmeus"
PS /home/user> $containerName = "azurevmmp"
PS /home/user> $destBlobName = "newblobmp.vhd"
PS /home/user> $storageAccountKey = "n9sCytWLdTBz0F4Sco9SkPGWp6BJBtf7BJBk79msf1PfxJGQdqSfu6TboZWZ10xyZdc4y+Att08cC9B79jB0YA=="
PS /home/user> $destContext = New-AzureStorageContext -StorageAccountName $storageAccountName -StorageAccountKey $storageAccountKey
PS /home/user> Start-AzureStorageBlobCopy -AbsoluteUri $diskAccessSAS -DestContainer $containerName -DestContext $destContext -DestBlob $destBlobName
AccountName: edgeazurevmeus, ContainerName: azurevmmp
Name BlobType Length ContentType LastModified AccessTier SnapshotTime IsDeleted VersionId
---- -------- ------ ----------- ------------ ---------- ------------ --------- ---------
newblobmp.vhd PageBlob -1 2021-06-08 00:50:10Z False
PS /home/user> Get-AzureStorageBlobCopyState –Container $containerName –Context $destContext -Blob $destBlobName
CopyId : 24a1e3f5-886a-490d-9dd7-562bb4acff58
CompletionTime :
Status : Pending
Source : https://md-lfn221fppr2c.blob.core.windows.net/d4tb2hp5ff2q/abcd?sv=2018-03-28&sr=b&si=4f588db1-9aac-44d9-9607-35497cc08a7f
BytesCopied : 696254464
TotalBytes : 136367309312
StatusDescription :
DestinationSnapshotTime :
PS /home/user> Get-AzureStorageBlobCopyState –Container $containerName –Context $destContext -Blob $destBlobName
CopyId : 24a1e3f5-886a-490d-9dd7-562bb4acff58
CompletionTime : 6/8/2021 12:57:26 AM +00:00
Status : Success
Source : https://md-lfn221fppr2c.blob.core.windows.net/d4tb2hp5ff2q/abcd?sv=2018-03-28&sr=b&si=4f588db1-9aac-44d9-9607-35497cc08a7f
BytesCopied : 136367309312
TotalBytes : 136367309312
StatusDescription :
DestinationSnapshotTime :
Czyszczenie dysku zarządzanego
Aby usunąć utworzony dysk zarządzany, wykonaj następujące kroki:
az disk revoke-access --name $diskName --resource-group $diskRG
az disk delete --name $diskName --resource-group $diskRG --yes
Usunięcie trwa kilka minut.
Następne kroki
Wdróż maszyny wirtualne na urządzeniu z procesorem GPU Pro usługi Azure Stack Edge.