Dela via


Ladda upp en generaliserad virtuell hårddisk till Azure för att skapa en ny virtuell dator

Det här avsnittet beskriver hur du laddar upp en generaliserad ohanterad disk till ett lagringskonto och sedan skapar en ny virtuell dator med den uppladdade disken. En generaliserad VHD-avbildning har fått all personlig kontoinformation borttagen med Sysprep.

Om du vill skapa en virtuell dator från en specialiserad virtuell hårddisk i ett lagringskonto läser du Skapa en virtuell dator från en specialiserad virtuell hårddisk.

Det här avsnittet beskriver hur du använder lagringskonton, men vi rekommenderar att kunderna övergår till att använda Managed Disks i stället. En fullständig genomgång av hur du förbereder, laddar upp och skapar en ny virtuell dator med hanterade diskar finns i Skapa en ny virtuell dator från en generaliserad virtuell hårddisk som laddats upp till Azure med Managed Disks.

Förbereda den virtuella datorn

En generaliserad virtuell hårddisk har fått all personlig kontoinformation borttagen med Sysprep. Om du tänker använda den virtuella hårddisken som en avbildning för att skapa nya virtuella datorer från bör du:

Generalisera en virtuell Windows-dator med Sysprep

Det här avsnittet visar hur du generaliserar din virtuella Windows-dator för användning som en avbildning. Sysprep tar bland annat bort all din personliga kontoinformation och förbereder datorn så att den kan användas som en avbildning. Mer information om Sysprep finns i Så här använder du Sysprep: En introduktion.

Kontrollera att serverrollerna som körs på datorn stöds av Sysprep. Mer information finns i Sysprep-stöd för serverroller

Viktigt

Om du kör Sysprep innan du laddar upp din virtuella hårddisk till Azure för första gången kontrollerar du att du har förberett den virtuella datorn innan du kör Sysprep.

  1. Logga in på den virtuella Windows-datorn.

  2. Öppna Kommandotolken som administratör. Ändra katalogen till %windir%\system32\sysprep och kör sedan sysprep.exe.

  3. Välj Starta OOBE för systemet (Out-of-Box Experience) i dialogrutan Systemförberedelseverktyget och kontrollera att kryssrutan Generalisera är markerad.

  4. I Avstängningsalternativ väljer du Avstängning.

  5. Klicka på OK.

    Starta Sysprep

  6. När Sysprep har slutförts stängs den virtuella datorn av.

Viktigt

Starta inte om den virtuella datorn förrän du är klar med att ladda upp den virtuella hårddisken till Azure eller skapa en avbildning från den virtuella datorn. Om den virtuella datorn av misstag startas om kör du Sysprep för att generalisera den igen.

Ladda upp den virtuella hårddisken

Ladda upp den virtuella hårddisken till ett Azure Storage-konto.

Logga in på Azure

Om du inte redan har PowerShell version 1.4 eller senare installerat läser du Installera och konfigurera Azure PowerShell.

  1. Öppna Azure PowerShell och logga in på ditt Azure-konto. Ett popup-fönster öppnas där du kan ange dina autentiseringsuppgifter för Ditt Azure-konto.

    Connect-AzAccount
    
  2. Hämta prenumerations-ID:t för dina tillgängliga prenumerationer.

    Get-AzSubscription
    
  3. Ange rätt prenumeration med hjälp av prenumerations-ID:t. Ersätt <subscriptionID> med ID:t för rätt prenumeration.

    Select-AzSubscription -SubscriptionId "<subscriptionID>"
    

Hämta lagringskontot

Du behöver ett lagringskonto i Azure för att lagra den uppladdade VM-avbildningen. Du kan antingen använda ett befintligt lagringskonto eller skapa ett nytt.

Om du vill visa tillgängliga lagringskonton skriver du:

Get-AzStorageAccount

Om du vill använda ett befintligt lagringskonto fortsätter du till avsnittet Ladda upp VM-avbildningen.

Om du behöver skapa ett lagringskonto följer du dessa steg:

  1. Du behöver namnet på resursgruppen där lagringskontot ska skapas. Om du vill ta reda på alla resursgrupper som finns i din prenumeration skriver du:

    Get-AzResourceGroup
    

    Om du vill skapa en resursgrupp med namnet myResourceGroup i regionen USA, västra skriver du:

    New-AzResourceGroup -Name myResourceGroup -Location "West US"
    
  2. Skapa ett lagringskonto med namnet mystorageaccount i den här resursgruppen med hjälp av cmdleten New-AzStorageAccount :

    New-AzStorageAccount -ResourceGroupName myResourceGroup -Name mystorageaccount -Location "West US" `
        -SkuName "Standard_LRS" -Kind "Storage"
    

Starta uppladdningen

Använd cmdleten Add-AzVhd för att ladda upp avbildningen till en container i ditt lagringskonto. Det här exemplet laddar upp filen myVHD.vhd från "C:\Users\Public\Documents\Virtual hard disks\" till ett lagringskonto med namnet mystorageaccount i resursgruppen myResourceGroup . Filen placeras i containern mycontainer och det nya filnamnet blir myUploadedVHD.vhd.

$rgName = "myResourceGroup"
$urlOfUploadedImageVhd = "https://mystorageaccount.blob.core.windows.net/mycontainer/myUploadedVHD.vhd"
Add-AzVhd -ResourceGroupName $rgName -Destination $urlOfUploadedImageVhd `
    -LocalFilePath "C:\Users\Public\Documents\Virtual hard disks\myVHD.vhd"

Om det lyckas får du ett svar som ser ut ungefär så här:

MD5 hash is being calculated for the file C:\Users\Public\Documents\Virtual hard disks\myVHD.vhd.
MD5 hash calculation is completed.
Elapsed time for the operation: 00:03:35
Creating new page blob of size 53687091712...
Elapsed time for upload: 01:12:49

LocalFilePath           DestinationUri
-------------           --------------
C:\Users\Public\Doc...  https://mystorageaccount.blob.core.windows.net/mycontainer/myUploadedVHD.vhd

Beroende på nätverksanslutningen och storleken på din VHD-fil kan det här kommandot ta en stund att slutföra.

Skapa en ny virtuell dator

Du kan nu använda den uppladdade virtuella hårddisken för att skapa en ny virtuell dator.

Ange URI för den virtuella hårddisken

URI:n för den virtuella hårddisken är i formatet: https:// mystorageaccount.blob.core.windows.net/mycontainer/MyVhdName.vhd. I det här exemplet finns den virtuella hårddisken med namnet myVHD i lagringskontot mystorageaccount i containern mycontainer.

$imageURI = "https://mystorageaccount.blob.core.windows.net/mycontainer/myVhd.vhd"

Skapa ett virtuellt nätverk

Skapa det virtuella nätverket och undernätet för det virtuella nätverket.

  1. Skapa undernätet. I följande exempel skapas ett undernät med namnet mySubnet i resursgruppen myResourceGroup med adressprefixet 10.0.0.0/24.

    $rgName = "myResourceGroup"
    $subnetName = "mySubnet"
    $singleSubnet = New-AzVirtualNetworkSubnetConfig -Name $subnetName -AddressPrefix 10.0.0.0/24
    
  2. Skapa det virtuella nätverket. Följande exempel skapar ett virtuellt nätverk med namnet myVnet på platsen USA, västra med adressprefixet 10.0.0.0/16.

    $location = "WestUS"
    $vnetName = "myVnet"
    $vnet = New-AzVirtualNetwork -Name $vnetName -ResourceGroupName $rgName -Location $location `
        -AddressPrefix 10.0.0.0/16 -Subnet $singleSubnet
    

Skapa en offentlig IP-adress och ett nätverksgränssnitt

För att upprätta kommunikation med den virtuella datorn i det virtuella nätverket behöver du en offentlig IP-adress och ett nätverksgränssnitt.

  1. Skapa en offentlig IP-adress. I det här exemplet skapas en offentlig IP-adress med namnet myPip.

    $ipName = "myPip"
    $pip = New-AzPublicIpAddress -Name $ipName -ResourceGroupName $rgName -Location $location `
        -AllocationMethod Dynamic
    
  2. Skapa nätverkskortet. I det här exemplet skapas ett nätverkskort med namnet myNic.

    $nicName = "myNic"
    $nic = New-AzNetworkInterface -Name $nicName -ResourceGroupName $rgName -Location $location `
        -SubnetId $vnet.Subnets[0].Id -PublicIpAddressId $pip.Id
    

Skapa nätverkssäkerhetsgruppen och en RDP-regel

För att kunna logga in på den virtuella datorn med RDP måste du ha en säkerhetsregel som tillåter RDP-åtkomst på port 3389.

Det här exemplet skapar en NSG med namnet myNsg som innehåller en regel med namnet myRdpRule som tillåter RDP-trafik över port 3389. Mer information om NSG:er finns i Öppna portar till en virtuell dator i Azure med PowerShell.

$nsgName = "myNsg"

$rdpRule = New-AzNetworkSecurityRuleConfig -Name myRdpRule -Description "Allow RDP" `
    -Access Allow -Protocol Tcp -Direction Inbound -Priority 110 `
    -SourceAddressPrefix Internet -SourcePortRange * `
    -DestinationAddressPrefix * -DestinationPortRange 3389

$nsg = New-AzNetworkSecurityGroup -ResourceGroupName $rgName -Location $location `
    -Name $nsgName -SecurityRules $rdpRule

Skapa en variabel för det virtuella nätverket

Skapa en variabel för det slutförda virtuella nätverket.

$vnet = Get-AzVirtualNetwork -ResourceGroupName $rgName -Name $vnetName

Skapa den virtuella datorn

Följande PowerShell-skript visar hur du konfigurerar konfigurationer för virtuella datorer och använder den uppladdade VM-avbildningen som källa för den nya installationen.

# Enter a new user name and password to use as the local administrator account 
    # for remotely accessing the VM.
    $cred = Get-Credential

    # Name of the storage account where the VHD is located. This example sets the 
    # storage account name as "myStorageAccount"
    $storageAccName = "myStorageAccount"

    # Name of the virtual machine. This example sets the VM name as "myVM".
    $vmName = "myVM"

    # Size of the virtual machine. This example creates "Standard_D2_v2" sized VM. 
    # See the VM sizes documentation for more information: 
    # https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/
    $vmSize = "Standard_D2_v2"

    # Computer name for the VM. This examples sets the computer name as "myComputer".
    $computerName = "myComputer"

    # Name of the disk that holds the OS. This example sets the 
    # OS disk name as "myOsDisk"
    $osDiskName = "myOsDisk"

    # Assign a SKU name. This example sets the SKU name as "Standard_LRS"
    # Valid values for -SkuName are: Standard_LRS - locally redundant storage, Standard_ZRS - zone redundant
    # storage, Standard_GRS - geo redundant storage, Standard_RAGRS - read access geo redundant storage,
    # Premium_LRS - premium locally redundant storage. 
    $skuName = "Standard_LRS"

    # Get the storage account where the uploaded image is stored
    $storageAcc = Get-AzStorageAccount -ResourceGroupName $rgName -AccountName $storageAccName

    # Set the VM name and size
    $vmConfig = New-AzVMConfig -VMName $vmName -VMSize $vmSize

    #Set the Windows operating system configuration and add the NIC
    $vm = Set-AzVMOperatingSystem -VM $vmConfig -Windows -ComputerName $computerName `
        -Credential $cred -ProvisionVMAgent -EnableAutoUpdate
    $vm = Add-AzVMNetworkInterface -VM $vm -Id $nic.Id

    # Create the OS disk URI
    $osDiskUri = '{0}vhds/{1}-{2}.vhd' `
        -f $storageAcc.PrimaryEndpoints.Blob.ToString(), $vmName.ToLower(), $osDiskName

    # Configure the OS disk to be created from the existing VHD image (-CreateOption fromImage).
    $vm = Set-AzVMOSDisk -VM $vm -Name $osDiskName -VhdUri $osDiskUri `
        -CreateOption fromImage -SourceImageUri $imageURI -Windows

    # Create the new VM
    New-AzVM -ResourceGroupName $rgName -Location $location -VM $vm

Kontrollera att den virtuella datorn har skapats

När du är klar bör du se den nyligen skapade virtuella datorn i Azure Portal under Bläddra bland>virtuella datorer eller med hjälp av följande PowerShell-kommandon:

    $vmList = Get-AzVM -ResourceGroupName $rgName
    $vmList.Name

Nästa steg

Information om hur du hanterar din nya virtuella dator med Azure PowerShell finns i Hantera virtuella datorer med Azure Resource Manager och PowerShell.