Udostępnij za pośrednictwem


Używanie obrazu witryny Azure Marketplace do tworzenia obrazu maszyny wirtualnej dla procesora GPU usługi Azure Stack Edge Pro

DOTYCZY: Tak dla jednostki SKU procesora GPU ProAzure Stack Edge Pro — GPUTak dla jednostki SKU Pro 2Azure Stack Edge Pro 2Tak dla jednostki SKU Pro RAzure Stack Edge Pro R Azure Stack Edge Mini RTak dla jednostki SKU 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:

  1. Połącz się z usługą Azure Cloud Shell lub klientem z zainstalowanym interfejsem wiersza polecenia platformy Azure.
  2. Przeszukaj witrynę Azure Marketplace i zidentyfikuj preferowany obraz.
  3. Utwórz nowy dysk zarządzany na podstawie obrazu witryny Marketplace.
  4. Wyeksportuj dysk VHD z dysku zarządzanego do konta usługi Azure Storage.
  5. 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.

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").

Lista obrazów z witryny Marketplace

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.

  1. 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
    
  2. 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/db4e2fdb-6d80-4e6e-b7cd-736098270664/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/db4e2fdb-6d80-4e6e-b7cd-736098270664/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.

  1. 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>
    
  2. 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.