Skapa en bakåtkompatibel hanterad avbildning av en generaliserad virtuell dator i Azure

Viktigt!

Den här artikeln beskriver den äldre tekniken för hanterade avbildningar. För den senaste tekniken uppmanas kunderna att använda Azure Compute Gallery. Alla nya funktioner som ARM64, Trusted Launch och Confidential VM stöds endast via Azure Compute Gallery. Om du har en befintlig hanterad avbildning kan du använda den som källa och skapa en Azure Compute Gallery-avbildning. Mer information finns i Skapa en bilddefinition och avbildningsversion.

När du har markerat en virtuell dator som generalized i Azure kan du inte starta om den virtuella datorn.

En hanterad avbildning har stöd för upp till 20 samtidiga distributioner. Försök att skapa fler än 20 virtuella datorer samtidigt, från samma hanterade avbildning, kan resultera i tidsgränser för etablering på grund av lagringsprestandabegränsningarna för en enda virtuell hårddisk. Om du vill skapa fler än 20 virtuella datorer samtidigt använder du en Azure Compute Gallery-avbildning (tidigare kallat delat bildgalleri) som konfigurerats med en replik för varje 20 samtidiga VM-distributioner.

Information om hur hanterade avbildningar faktureras finns i Priser för hanterade diskar.

Förutsättningar

  • Du behöver en generaliserad virtuell dator för att kunna skapa en avbildning.

CLI: Skapa en äldre hanterad avbildning av en virtuell dator

Skapa en hanterad avbildning av den virtuella datorn med az image create. I följande exempel skapas en avbildning med namnet myImage i resursgruppen myResourceGroup med hjälp av den virtuella datorresursen myVM.

az image create \
  --resource-group myResourceGroup \
  --name myImage --source myVM

Note

The image is created in the same resource group as your source VM. You can create VMs in any resource group within your subscription from this image. From a management perspective, you may wish to create a specific resource group for your VM resources and images.

If you are capturing an image of a generation 2 VM, also use the --hyper-v-generation V2 parameter. for more information, see Generation 2 VMs.

If you would like to store your image in zone-resilient storage, you need to create it in a region that supports availability zones and include the --zone-resilient true parameter.

This command returns JSON that describes the VM image. Save this output for later reference.

PowerShell: Skapa en äldre hanterad avbildning av en virtuell dator

Om du skapar en avbildning direkt från den virtuella datorn ser du till att avbildningen innehåller alla diskar som är associerade med den virtuella datorn, inklusive OS-disken och alla datadiskar. Det här exemplet visar hur du skapar en hanterad avbildning från en virtuell dator som använder hanterade diskar.

Innan du börjar kontrollerar du att du har den senaste versionen av Azure PowerShell-modulen. Du hittar versionen genom att köra Get-Module -ListAvailable Az i PowerShell. Om du behöver uppgradera kan du läsa Installera Azure PowerShell i Windows med PowerShellGet. Om du kör PowerShell lokalt kör du Connect-AzAccount för att skapa en anslutning till Azure.

Kommentar

Om du vill lagra avbildningen i zonredundant lagring måste du skapa den i en region som stöder tillgänglighetszoner och inkludera parametern -ZoneResilient i avbildningskonfigurationen (New-AzImageConfig kommandot).

Följ dessa steg för att skapa en VM-avbildning:

  1. Skapa några variabler.

    $vmName = "myVM"
    $rgName = "myResourceGroup"
    $location = "EastUS"
    $imageName = "myImage"
    
  2. Kontrollera att den virtuella datorn har frigjorts.

    Stop-AzVM -ResourceGroupName $rgName -Name $vmName -Force
    
  3. Ange status för den virtuella datorn till Generaliserad.

    Set-AzVm -ResourceGroupName $rgName -Name $vmName -Generalized
    
  4. Hämta den virtuella datorn.

    $vm = Get-AzVM -Name $vmName -ResourceGroupName $rgName
    
  5. Skapa avbildningskonfigurationen.

    $image = New-AzImageConfig -Location $location -SourceVirtualMachineId $vm.Id 
    
  6. Skapa avbildningen.

    $imageName -ResourceGroupName $rgName
    

PowerShell: Skapa en äldre hanterad avbildning från en hanterad disk

Om du bara vill skapa en avbildning av os-disken anger du det hanterade disk-ID:t som OS-disk:

  1. Skapa några variabler.

    $vmName = "myVM"
    $rgName = "myResourceGroup"
    $location = "EastUS"
    $imageName = "myImage"
    
  2. Hämta den virtuella datorn.

    $vm = Get-AzVm -Name $vmName -ResourceGroupName $rgName
    
  3. Hämta ID:t för den hanterade disken.

    $diskID = $vm.StorageProfile.OsDisk.ManagedDisk.Id
    
  4. Skapa avbildningskonfigurationen.

    $imageConfig = New-AzImageConfig -Location $location
    $imageConfig = Set-AzImageOsDisk -Image $imageConfig -OsState Generalized -OsType Windows -ManagedDiskId $diskID
    
  5. Skapa avbildningen.

    New-AzImage -ImageName $imageName -ResourceGroupName $rgName -Image $imageConfig
    

PowerShell: Skapa en äldre hanterad avbildning från en ögonblicksbild

Du kan skapa en hanterad avbildning från en ögonblicksbild av en generaliserad virtuell dator genom att följa dessa steg:

  1. Skapa några variabler.

    $rgName = "myResourceGroup"
    $location = "EastUS"
    $snapshotName = "mySnapshot"
    $imageName = "myImage"
    
  2. Hämta ögonblicksbilden.

    $snapshot = Get-AzSnapshot -ResourceGroupName $rgName -SnapshotName $snapshotName
    
  3. Skapa avbildningskonfigurationen.

    $imageConfig = New-AzImageConfig -Location $location
    $imageConfig = Set-AzImageOsDisk -Image $imageConfig -OsState Generalized -OsType Windows -SnapshotId $snapshot.Id
    
  4. Skapa avbildningen.

    New-AzImage -ImageName $imageName -ResourceGroupName $rgName -Image $imageConfig
    

PowerShell: Skapa en äldre hanterad avbildning från en virtuell dator som använder ett lagringskonto

Om du vill skapa en hanterad avbildning från en virtuell dator som inte använder hanterade diskar behöver du URI:n för den virtuella hårddisken för operativsystemet i lagringskontot i följande format: https:// mystorageaccount.blob.core.windows.net/ vhdcontainer/vhdfilename.vhd. I det här exemplet finns den virtuella hårddisken i mystorageaccount, i en container med namnet vhdcontainer, och VHD-filnamnet är vhdfilename.vhd.

  1. Skapa några variabler.

    $vmName = "myVM"
    $rgName = "myResourceGroup"
    $location = "EastUS"
    $imageName = "myImage"
    $osVhdUri = "https://mystorageaccount.blob.core.windows.net/vhdcontainer/vhdfilename.vhd"
    
  2. Stoppa/frigöra den virtuella datorn.

    Stop-AzVM -ResourceGroupName $rgName -Name $vmName -Force
    
  3. Markera den virtuella datorn som generaliserad.

    Set-AzVm -ResourceGroupName $rgName -Name $vmName -Generalized    
    
  4. Skapa avbildningen med hjälp av din generaliserade virtuella hårddisk för operativsystem.

    $imageConfig = New-AzImageConfig -Location $location
    $imageConfig = Set-AzImageOsDisk -Image $imageConfig -OsType Windows -OsState Generalized -BlobUri $osVhdUri
    $image = New-AzImage -ImageName $imageName -ResourceGroupName $rgName -Image $imageConfig
    

CLI: Skapa en virtuell dator från en äldre hanterad avbildning

Skapa en virtuell dator med den avbildning som du skapade med az vm create. I följande exempel skapas en virtuell dator med namnet myVMDeployed från avbildningen myImage.

az vm create \
  --resource-group myResourceGroup \
  --name myVMDeployed \
  --image myImage\
  --admin-username azureuser \
  --ssh-key-value ~/.ssh/id_rsa.pub

CLI: Skapa en virtuell dator i en annan resursgrupp från en äldre hanterad avbildning

Du kan skapa virtuella datorer från en avbildning i valfri resursgrupp i din prenumeration. Om du vill skapa en virtuell dator i en annan resursgrupp än avbildningen anger du det fullständiga resurs-ID:t till avbildningen. Använd az image list för att visa en lista över bilder. De utdata som genereras påminner om de i följande exempel.

"id":
"/subscriptions/guid/resourceGroups/MYRESOURCEGROUP/providers/Microsoft.Compute/images/myImage",
"location": "westus", "name": "myImage",

I följande exempel används az vm create för att skapa en virtuell dator i en annan resursgrupp än källavbildningen genom att ange avbildningens resurs-ID.

az vm create \
  --resource-group myOtherResourceGroup \
  --name myOtherVMDeployed \
  --image "/subscriptions/guid/resourceGroups/MYRESOURCEGROUP/providers/Microsoft.Compute/images/myImage" \
  --admin-username azureuser \
  --ssh-key-value ~/.ssh/id_rsa.pub

Portal: Skapa en virtuell dator från en äldre hanterad avbildning

Skapa en virtuell dator i Azure: Hitta avbildningen i portalen, välj Skapa virtuell dator, fyll i information, välj storlek, justera inställningar och distribuera.

  1. Gå till Azure-portalen för att hitta en hanterad avbildning. Sök efter och välj Bilder.

  2. Välj den bild som du vill använda i listan. Sidan Översikt för bild öppnas.

  3. Välj Skapa virtuell dator på menyn.

  4. Ange informationen för den virtuella datorn. Användarnamnet och lösenordet som anges här används för att logga in på den virtuella datorn. När du är klar väljer du OK. Du kan skapa den nya virtuella datorn i en befintlig resursgrupp eller välja Skapa ny för att skapa en ny resursgrupp för att lagra den virtuella datorn.

  5. Välj en storlek för den virtuella datorn. Om du vill se fler storlekar väljer du Visa alla eller så ändrar du filtret för disktyper som stöds.

  6. Under Inställningar gör du ändringar efter behov och väljer OK.

  7. På sammanfattningssidan bör du se ditt bildnamn som en privat avbildning. Välj Ok för att starta distributionen av den virtuella datorn.

PowerShell: Skapa en virtuell dator från en äldre hanterad avbildning

Du kan använda PowerShell för att skapa en virtuell dator från en avbildning med hjälp av den förenklade parameteruppsättningen för cmdleten New-AzVm . Avbildningen måste finnas i samma resursgrupp där du skapar den virtuella datorn.

Den förenklade parameteruppsättningen för New-AzVm kräver bara att du anger ett namn, en resursgrupp och ett avbildningsnamn för att skapa en virtuell dator från en avbildning. New-AzVm använder värdet för parametern -Name som namn på alla resurser som skapas automatiskt. I det här exemplet anger vi mer detaljerade namn för var och en av resurserna, men låter cmdleten skapa dem automatiskt. Du kan också skapa resurser i förväg, till exempel det virtuella nätverket, och skicka resursnamnet till cmdleten. New-AzVm använder befintliga resurser om de kan hittas efter deras namn.

I följande exempel skapas en virtuell dator med namnet myVMFromImage i resursgruppen myResourceGroup från avbildningen myImage.

New-AzVm `
    -ResourceGroupName "myResourceGroup" `
    -Name "myVMfromImage" `
    -ImageName "myImage" `
    -Location "East US" `
    -VirtualNetworkName "myImageVnet" `
    -SubnetName "myImageSubnet" `
    -SecurityGroupName "myImageNSG" `
    -PublicIpAddressName "myImagePIP" 

Gå vidare