Självstudie: Hantera diskar med Azure PowerShell

Virtuella Azure-datorer använder diskar för att lagra operativsystem (OS), program och data. När du skapar en virtuell dator är det viktigt att välja en lämplig diskstorlek och konfiguration för den förväntade arbetsbelastningen.

Den här självstudien beskriver distribution och hantering av virtuella datordiskar. I den här självstudien lär du dig att:

  • Skapa, koppla och initiera en datadisk
  • Verifiera en disks status
  • Initiera en disk
  • Expandera och uppgradera en disk
  • Koppla från och ta bort en disk

Förutsättningar

Du måste ha ett Azure-konto med en aktiv prenumeration. Om du inte har någon Azure-prenumeration skapar du ett kostnadsfritt konto innan du börjar.

Azure Cloud Shell

Azure är värd för Azure Cloud Shell, en interaktiv gränssnittsmiljö som du kan använda via webbläsaren. Du kan använda antingen Bash eller PowerShell med Cloud Shell för att arbeta med Azure-tjänster. Du kan använda förinstallerade Cloud Shell-kommandon för att köra koden i den här artikeln, utan att behöva installera något i din lokala miljö.

Så här startar du Azure Cloud Shell:

Alternativ Exempel/länk
Välj Prova i det övre högra hörnet i en kod eller ett kommandoblock. Om du väljer Prova kopieras inte koden eller kommandot automatiskt till Cloud Shell. Screenshot that shows an example of Try It for Azure Cloud Shell.
Gå till https://shell.azure.com eller Välj knappen Starta Cloud Shell för att öppna Cloud Shell i webbläsaren. Button to launch Azure Cloud Shell.
Välj knappen Cloud Shell på menyn längst upp till höger i Azure-portalen. Screenshot that shows the Cloud Shell button in the Azure portal

Så här använder du Azure Cloud Shell:

  1. Starta Cloud Shell.

  2. Välj knappen Kopiera i ett kodblock (eller kommandoblock) för att kopiera koden eller kommandot.

  3. Klistra in koden eller kommandot i Cloud Shell-sessionen genom att välja Ctrl+Skift+V i Windows och Linux, eller genom att välja Cmd+Shift+V på macOS.

  4. Välj Retur för att köra koden eller kommandot.

Skapa en virtuell dator

Övningarna i den här självstudien kräver en virtuell dator. Följ stegen i det här avsnittet för att skapa en.

Innan du börjar letar du reda på variabeln $azRegion som finns på den första raden med exempelkod och uppdaterar värdet så att det återspeglar önskad region. Om du till exempel vill ange regionen USA , centrala använder du $azRegion = "Central US". Använd sedan koden för att distribuera en virtuell dator i en ny resursgrupp. Du uppmanas att ange värden för användarnamn och lösenord för den virtuella datorns lokala administratörskonto.

$azRegion = "[Your Region]"
$azResourceGroup = "myDemoResourceGroup"
$azVMName = "myDemoVM"
$azDataDiskName = "myDemoDataDisk"

New-AzVm `
    -Location $azRegion `
    -ResourceGroupName $azResourceGroup `
    -Name $azVMName `
    -Size "Standard_D2s_v3" `
    -VirtualNetworkName "myDemoVnet" `
    -SubnetName "myDemoSubnet" `
    -SecurityGroupName "myDemoNetworkSecurityGroup" `
    -PublicIpAddressName "myDemoPublicIpAddress"

Utdata bekräftar att den virtuella datorn har skapats.

ResourceGroupName        : myDemoResourceGroup
Id                       : /subscriptions/{GUID}/resourceGroups/myDemoResourceGroup/providers/Microsoft.Compute/virtualMachines/myDemoTestVM
VmId                     : [{GUID}]
Name                     : myDemoVM
Type                     : Microsoft.Compute/virtualMachines
Location                 : centralus
Tags                     : {}
HardwareProfile          : {VmSize}
NetworkProfile           : {NetworkInterfaces}
OSProfile                : {ComputerName, AdminUsername, WindowsConfiguration, AllowExtensionOperations, RequireGuestProvisionSignal}
ProvisioningState        : Succeeded
StorageProfile           : {ImageReference, OsDisk, DataDisks}
FullyQualifiedDomainName : mydemovm-abc123.Central US.cloudapp.azure.com

Den virtuella datorn etableras och två diskar skapas och ansluts automatiskt.

  • En operativsystemdisk som är värd för den virtuella datorns operativsystem.
  • En tillfällig disk, som främst används för åtgärder som tillfällig databehandling.

Lägga till en datadisk

Vi rekommenderar att du separerar program- och användardata från OS-relaterade data när det är möjligt. Om du behöver lagra användar- eller programdata på den virtuella datorn skapar och kopplar du vanligtvis ytterligare datadiskar.

Följ stegen i det här avsnittet för att skapa, ansluta och initiera en datadisk på den virtuella datorn.

Skapa datadisken

Det här avsnittet vägleder dig genom att skapa en datadisk.

  1. Innan du kan skapa en datadisk måste du först skapa ett diskobjekt. Följande kodexempel använder cmdleten New-AzDiskConfig för att konfigurera ett diskobjekt.

    $diskConfig = New-AzDiskConfig `
        -Location $azRegion `
        -CreateOption Empty `
        -DiskSizeGB 128 `
        -SkuName "Standard_LRS"
    
  2. När diskobjektet har skapats använder du cmdleten New-AzDisk för att etablera en datadisk.

    $dataDisk = New-AzDisk `
        -ResourceGroupName $azResourceGroup `
        -DiskName $azDataDiskName `
        -Disk $diskConfig
    

    Du kan använda cmdleten Get-AzDisk för att kontrollera att disken har skapats.

    Get-AzDisk `
        -ResourceGroupName $azResourceGroup `
        -DiskName $azDataDiskName
    

    I det här exemplet bekräftar utdata att disken har skapats. Egenskapsvärdena DiskState och ManagedBy bekräftar att disken ännu inte är ansluten.

    ResourceGroupName            : myDemoResourceGroup
    ManagedBy                    :
    ManagedByExtended            : {}
    OsType                       :
    DiskSizeGB                   : 128
    DiskSizeBytes                : 137438953472
    ProvisioningState            : Succeeded
    DiskIOPSReadWrite            : 500
    DiskMBpsReadWrite            : 60
    DiskState                    : Unattached
    Name                         : myDemoDataDisk
    

Koppla datadisken

En datadisk måste vara ansluten till en virtuell dator innan den virtuella datorn kan komma åt den. Slutför stegen i det här avsnittet för att skapa en referens för den virtuella datorn, ansluta disken och uppdatera den virtuella datorns konfiguration.

  1. Hämta den virtuella dator som du ska koppla datadisken till. Följande exempelkod använder cmdleten Get-AzVM för att skapa en referens till den virtuella datorn.

    $vm = Get-AzVM `
        -ResourceGroupName $azResourceGroup `
        -Name $azVMName
    
  2. Anslut sedan datadisken till den virtuella datorns konfiguration med cmdleten Add-AzVMDataDisk .

    $vm = Add-AzVMDataDisk `
        -VM $vm `
        -Name $azDataDiskName `
        -CreateOption Attach `
        -ManagedDiskId $dataDisk.Id `
        -Lun 1
    
  3. Uppdatera slutligen den virtuella datorns konfiguration med cmdleten Update-AzVM .

    Update-AzVM `
        -ResourceGroupName $azResourceGroup `
        -VM $vm
    

    Efter en kort paus bekräftar utdata en bifogad fil.

    RequestId IsSuccessStatusCode StatusCode ReasonPhrase
    --------- ------------------- ---------- ------------
                             True         OK OK
    

Initiera datadisken

När en datadisk är ansluten till den virtuella datorn måste operativsystemet konfigureras för att använda disken. Följande avsnitt innehåller vägledning om hur du ansluter till den virtuella fjärrdatorn och konfigurerar den första disken som läggs till.

  1. Logga in på Azure-portalen.

  2. Leta upp den virtuella dator som du har anslutit datadisken till. Skapa en RDP-anslutning (Remote Desktop Protocol) och logga in som lokal administratör.

  3. När du har upprättat en RDP-anslutning till den virtuella fjärrdatorn väljer du Start-menyn i Windows. Ange PowerShell i sökrutan och välj Windows PowerShell för att öppna ett PowerShell-fönster.

    Image of a remote desktop connection window.

  4. Kör följande skript i det öppna PowerShell-fönstret.

    Get-Disk | Where PartitionStyle -eq 'raw' |
        Initialize-Disk -PartitionStyle MBR -PassThru |
        New-Partition -AssignDriveLetter -UseMaximumSize |
        Format-Volume -FileSystem NTFS -NewFileSystemLabel "myDemoDataDisk" -Confirm:$false
    

    Utdata bekräftar en lyckad initiering.

    DriveLetter FileSystemLabel FileSystem DriveType HealthStatus OperationalStatus SizeRemaining   Size
    ----------- --------------- ---------- --------- ------------ ----------------- -------------   ----
    F           myDemoDataDisk  NTFS       Fixed     Healthy      OK                    127.89 GB 128 GB
    

Expandera en disk

Du kan expandera Azure-diskar för att ge extra lagringskapacitet när den virtuella datorn har ont om ledigt diskutrymme.

Vissa scenarier kräver att data lagras på OS-disken. Du kan till exempel behöva stödja äldre program som installerar komponenter på OS-enheten. Du kan också behöva migrera en lokal fysisk dator eller virtuell dator med en större operativsystemenhet. I sådana fall kan det bli nödvändigt att expandera en virtuell dators OS-disk.

Krympning av en befintlig disk stöds inte och kan potentiellt leda till dataförlust.

Uppdatera diskens storlek

Följ stegen nedan för att ändra storlek på os-disken eller en datadisk.

  1. Välj den virtuella dator som innehåller disken som du ska ändra storlek på med cmdleten Get-AzVM .

     $vm = Get-AzVM `
       -ResourceGroupName $azResourceGroup `
       -Name $azVMName
    
  2. Innan du kan ändra storlek på en virtuell dators disk måste du stoppa den virtuella datorn. Använd cmdleten Stop-AzVM för att stoppa den virtuella datorn. Du uppmanas att bekräfta.

    Viktigt!

    Innan du påbörjar en avstängning av den virtuella datorn kontrollerar du alltid att det inte finns några viktiga resurser eller data som kan gå förlorade.

    Stop-AzVM `
        -ResourceGroupName $azResourceGroup `
        -Name $azVMName
    

    Efter en kort paus bekräftar utdata att datorn har stoppats.

    OperationId : abcd1234-ab12-cd34-123456abcdef
    Status      : Succeeded
    StartTime   : 9/13/2021 7:10:23 PM
    EndTime     : 9/13/2021 7:11:12 PM
    Error       :
    
  3. När den virtuella datorn har stoppats hämtar du en referens till operativsystemet eller datadisken som är ansluten till den virtuella datorn med cmdleten Get-AzDisk .

    I följande exempel väljs den virtuella datorns OS-disk.

    $disk= Get-AzDisk `
        -ResourceGroupName $azResourceGroup `
        -DiskName $vm.StorageProfile.OsDisk.Name
    

    I följande exempel väljs den virtuella datorns första datadisk.

        $disk= Get-AzDisk `
            -ResourceGroupName $azResourceGroup `
            -DiskName $vm.StorageProfile.DataDisks[0].Name
    
  4. Nu när du har en referens till disken anger du storleken på disken till 250 GiB.

    Viktigt!

    Den nya storleken måste vara större än den befintliga. Det högsta tillåtna är 4 095 GiB för OS-diskar.

    $disk.DiskSizeGB = 250
    
  5. Uppdatera sedan diskbilden med cmdleten Update-AzDisk .

    Update-AzDisk `
        -ResourceGroupName $azResourceGroup `
        -Disk $disk -DiskName $disk.Name
    

    Diskbilden uppdateras och utdata bekräftar diskens nya storlek.

    ResourceGroupName            : myDemoResourceGroup
    ManagedBy                    : /subscriptions/{GUID}/resourceGroups/myDemoResourceGroup/providers/Microsoft.Compute/virtualMachines/myDemoVM
    Sku                          : Microsoft.Azure.Management.Compute.Models.DiskSku
    TimeCreated                  : 9/135/2021 6:41:10 PM
    CreationData                 : Microsoft.Azure.Management.Compute.Models.CreationData
    DiskSizeGB                   : 250
    DiskSizeBytes                : 268435456000
    UniqueId                     : {GUID}
    ProvisioningState            : Succeeded
    DiskIOPSReadWrite            : 500
    DiskMBpsReadWrite            : 60
    DiskState                    : Reserved
    Encryption                   : Microsoft.Azure.Management.Compute.Models.Encryption
    Id                           : /subscriptions/{GUID}/resourceGroups/myDemoResourceGroup/providers/Microsoft.Compute/disks/myDemoDataDisk
    Name                         : myDemoDataDisk
    Type                         : Microsoft.Compute/disks
    Location                     : centralus
    
    
  6. Starta slutligen om den virtuella datorn med cmdleten Start-AzVM .

    Start-AzVM `
        -ResourceGroupName $azResourceGroup `
        -Name $azVMName
    

    Efter en kort paus bekräftar utdata att datorn har startats.

    OperationId : abcd1234-ab12-cd34-123456abcdef
    Status      : Succeeded
    StartTime   : 9/13/2021 7:44:54 PM
    EndTime     : 9/13/2021 7:45:15 PM
    Error       :
    

Expandera diskvolymen i operativsystemet

Innan du kan dra nytta av den nya diskstorleken måste du expandera volymen i operativsystemet. Följ stegen nedan för att expandera diskvolymen och dra nytta av den nya diskstorleken.

  1. Logga in på Azure-portalen.

  2. Leta upp den virtuella dator som du har anslutit datadisken till. Skapa en RDP-anslutning (Remote Desktop Protocol) och logga in. Om du inte längre har åtkomst till ett administrativt konto skapar du ett autentiseringsobjekt för ett angivet användarnamn och lösenord med cmdleten Get-Credential .

  3. När du har upprättat en RDP-anslutning till den virtuella fjärrdatorn väljer du Start-menyn i Windows. Ange PowerShell i sökrutan och välj Windows PowerShell för att öppna ett PowerShell-fönster.

    Image of a remote desktop connection window.

  4. Öppna PowerShell och kör följande skript. Ändra värdet för variabeln -DriveLetter efter behov. Om du till exempel vill ändra storlek på partitionen på F: -enheten använder du $driveLetter = "F".

    $driveLetter = "[Drive Letter]" 
    $size = (Get-PartitionSupportedSize -DriveLetter $driveLetter) 
    Resize-Partition `
        -DriveLetter $driveLetter `
        -Size $size.SizeMax
    
  5. Minimera RDP-fönstret och växla tillbaka till Azure Cloud Shell. Använd cmdleten Get-AzDisk för att kontrollera att disken har ändrat storlek.

    Get-AzDisk `
        -ResourceGroupName $azResourceGroup | Out-Host -Paging
    

Uppgradera en disk

Det finns flera sätt att svara på ändringar i organisationens arbetsbelastningar. Du kan till exempel välja att uppgradera en standard-HDD till en Premium SSD för att hantera ökad efterfrågan.

Följ stegen i det här avsnittet för att uppgradera en hanterad disk från standard till premium.

  1. Välj den virtuella dator som innehåller disken som du ska uppgradera med cmdleten Get-AzVM .

     $vm = Get-AzVM `
       -ResourceGroupName $azResourceGroup `
       -Name $azVMName
    
  2. Innan du kan uppgradera en virtuell dators disk måste du stoppa den virtuella datorn. Använd cmdleten Stop-AzVM för att stoppa den virtuella datorn. Du uppmanas att bekräfta.

    Viktigt!

    Innan du påbörjar en avstängning av den virtuella datorn kontrollerar du alltid att det inte finns några viktiga resurser eller data som kan gå förlorade.

    Stop-AzVM `
        -ResourceGroupName $azResourceGroup `
        -Name $azVMName
    

    Efter en kort paus bekräftar utdata att datorn har stoppats.

    OperationId : abcd1234-ab12-cd34-123456abcdef
    Status      : Succeeded
    StartTime   : 9/13/2021 7:10:23 PM
    EndTime     : 9/13/2021 7:11:12 PM
    Error       :
    
  3. När den virtuella datorn har stoppats hämtar du en referens till operativsystemet eller datadisken som är ansluten till den virtuella datorn med cmdleten Get-AzDisk .

    I följande exempel väljs den virtuella datorns OS-disk.

    $disk= Get-AzDisk `
        -ResourceGroupName $azResourceGroup `
        -DiskName $vm.StorageProfile.OsDisk.Name
    

    I följande exempel väljs den virtuella datorns första datadisk.

        $disk= Get-AzDisk `
            -ResourceGroupName $azResourceGroup `
            -DiskName $vm.StorageProfile.DataDisks[0].Name
    
  4. Nu när du har en referens till disken ställer du in diskens SKU på Premium_LRS.

    $disk.Sku = [Microsoft.Azure.Management.Compute.Models.DiskSku]::new('Premium_LRS')
    
  5. Uppdatera sedan diskbilden med cmdleten Update-AzDisk .

    Update-AzDisk `
        -ResourceGroupName $azResourceGroup `
        -Disk $disk -DiskName $disk.Name
    

    Diskbilden uppdateras. Använd följande exempelkod för att verifiera att diskens SKU har uppgraderats.

    $disk.Sku.Name
    

    Utdata bekräftar diskens nya SKU.

    Premium_LRS
    
  6. Starta slutligen om den virtuella datorn med cmdleten Start-AzVM .

    Start-AzVM `
        -ResourceGroupName $azResourceGroup `
        -Name $azVMName
    

    Efter en kort paus bekräftar utdata att datorn har startats.

    OperationId : abcd1234-ab12-cd34-123456abcdef
    Status      : Succeeded
    StartTime   : 9/13/2021 7:44:54 PM
    EndTime     : 9/13/2021 7:45:15 PM
    Error       :
    

Koppla ifrån en datadisk

Du kan koppla från en datadisk från en virtuell dator när du vill koppla den till en annan virtuell dator eller när den inte längre behövs. Som standard tas inte frånkopplade diskar bort för att förhindra oavsiktlig dataförlust. En frånkopplad disk fortsätter att debiteras lagringsavgifter tills den tas bort.

  1. Välj först den virtuella dator som disken är ansluten till med cmdleten Get-AzVM .

    $vm = Get-AzVM `
       -ResourceGroupName $azResourceGroup `
       -Name $azVMName
    
  2. Koppla sedan från disken från den virtuella datorn med cmdleten Remove-AzVMDataDisk .

    Remove-AzVMDataDisk `
        -VM $vm `
        -Name $azDataDiskName
    
  3. Uppdatera tillståndet för den virtuella datorn med cmdleten Update-AzVM för att ta bort datadisken.

    Update-AzVM `
        -ResourceGroupName $azResourceGroup `
        -VM $vm
    

    Efter en kort paus bekräftar utdata att den virtuella datorn har uppdaterats.

    RequestId IsSuccessStatusCode StatusCode ReasonPhrase
    --------- ------------------- ---------- ------------
                             True         OK OK
    

Ta bort en datadisk

När du tar bort en virtuell dator förblir datadiskar som är anslutna till den virtuella datorn etablerade och fortsätter att debiteras tills de tas bort. Det här standardbeteendet hjälper till att förhindra dataförlust som orsakas av oavsiktlig borttagning.

Du kan använda följande PowerShell-exempelskript för att ta bort okopplade diskar. Hämtningen av diskar är begränsad till myDemoResourceGroup eftersom växeln -ResourceGroupName används med cmdletenGet-AzDisk.

# Get all disks in resource group $azResourceGroup
$allDisks = Get-AzDisk -ResourceGroupName $azResourceGroup

# Determine the number of disks in the collection
if($allDisks.Count -ne 0) {

    Write-Host "Found $($allDisks.Count) disks."

    # Iterate through the collection
    foreach ($disk in $allDisks) {

        # Use the disk's "ManagedBy" property to determine if it is unattached
        if($disk.ManagedBy -eq $null) {

            # Confirm that the disk can be deleted
            Write-Host "Deleting unattached disk $($disk.Name)."
            $confirm = Read-Host "Continue? (Y/N)"
            if ($confirm.ToUpper() -ne 'Y') { break }
            else {

                # Delete the disk
                $disk | Remove-AzDisk -Force 
                Write-Host "Unattached disk $($disk.Name) deleted."
            }
        }
    }
}

Den ej anslutna datadisken tas bort enligt utdata.

Name      : abcd1234-ab12-cd34-ef56-abcdef123456
StartTime : 9/13/2021 10:14:05 AM
EndTime   : 9/13/2021 10:14:35 AM
Status    : Succeeded
Error     :

Rensa resurser

När den inte längre behövs tar du bort resursgruppen, den virtuella datorn och alla relaterade resurser. Du kan använda följande PowerShell-exempelskript för att ta bort resursgruppen som skapades tidigare i den här självstudien.

Varning

Var försiktig när du tar bort en resursgrupp. Kontrollera alltid att det inte finns några viktiga resurser eller data i resursgruppen innan de tas bort för att undvika förlust av viktiga data.

    Remove-AzResourceGroup -Name $azResourceGroup

Du uppmanas att bekräfta. Efter en kort paus True bekräftar svaret att myDemoResourceGroup har tagits bort.

Confirm
Are you sure you want to remove resource group 'myDemoResourceGroup'
[Y] Yes  [N] No  [S] Suspend  [?] Help (default is "Y"): Y
True

Nästa steg

I den här självstudiekursen lärde du dig att:

  • Skapa, koppla och initiera en datadisk
  • Verifiera en disks status
  • Initiera en disk
  • Expandera och uppgradera en disk
  • Koppla från och ta bort en disk

Gå vidare till nästa självstudie för att lära dig hur du automatiserar konfigurationen av virtuella datorer.