Share via


Zelfstudie: Schijven beheren met Azure PowerShell

Virtuele Azure-machines (VM's) maken gebruik van schijven voor het opslaan van besturingssystemen (OS), toepassingen en gegevens. Wanneer u een virtuele machine maakt, is het belangrijk dat u een geschikte schijfgrootte en -configuratie kiest voor de verwachte workload.

Deze zelfstudie behandelt de implementatie en het beheer van VM-schijven. In deze zelfstudie leert u het volgende:

  • Een gegevensschijf maken, koppelen en initialiseren
  • De status van een schijf controleren
  • Een schijf initialiseren
  • Een schijf uitvouwen en upgraden
  • Een schijf loskoppelen en verwijderen

Vereisten

U moet een Azure-account met een actief abonnement hebben. Als u geen Azure-abonnement hebt, maakt u een gratis account voordat u begint.

Azure Cloud Shell

Azure host Azure Cloud Shell, een interactieve shell-omgeving die u via uw browser kunt gebruiken. U kunt Bash of PowerShell gebruiken met Cloud Shell om met Azure-services te werken. U kunt de vooraf geïnstalleerde Cloud Shell-opdrachten gebruiken om de code in dit artikel uit te voeren zonder dat u iets hoeft te installeren in uw lokale omgeving.

Om Azure Cloud Shell op te starten:

Optie Voorbeeld/koppeling
Selecteer Uitproberen in de rechterbovenhoek van een code- of opdrachtblok. Als u Try It selecteert, wordt de code of opdracht niet automatisch gekopieerd naar Cloud Shell. Schermopname van een voorbeeld van Probeer het nu voor Azure Cloud Shell.
Ga naar https://shell.azure.com, of selecteer de knop Cloud Shell starten om Cloud Shell in uw browser te openen. Knop om Azure Cloud Shell te starten.
Klik op de knop Cloud Shell in het menu in de balk rechtsboven in de Azure-portal. Schermopname van de knop Cloud Shell in Azure Portal

Azure Cloud Shell gebruiken:

  1. Start Cloud Shell.

  2. Selecteer de knop Kopiëren op een codeblok (of opdrachtblok) om de code of opdracht te kopiëren.

  3. Plak de code of opdracht in de Cloud Shell-sessie door Ctrl+Shift+V in Windows en Linux te selecteren of door Cmd+Shift+V te selecteren in macOS.

  4. Selecteer Enter om de code of opdracht uit te voeren.

Een VM maken:

Voor de oefeningen in deze zelfstudie is een VIRTUELE machine vereist. Volg de stappen in deze sectie om er een te maken.

Voordat u begint, zoekt u de $azRegion variabele in de eerste regel met voorbeeldcode en werkt u de waarde bij om de gewenste regio weer te geven. Als u bijvoorbeeld de regio VS - centraal wilt opgeven, gebruikt u $azRegion = "Central US". Gebruik vervolgens de code om een virtuele machine in een nieuwe resourcegroep te implementeren. U wordt gevraagd om gebruikersnaam- en wachtwoordwaarden voor het lokale beheerdersaccount van de virtuele machine.

$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"

De uitvoer bevestigt dat de vm is gemaakt.

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

De virtuele machine is ingericht en er worden automatisch twee schijven gemaakt en gekoppeld.

  • Een besturingssysteemschijf die als host fungeert voor het besturingssysteem van de virtuele machine.
  • Een tijdelijke schijf, die voornamelijk wordt gebruikt voor bewerkingen zoals tijdelijke gegevensverwerking.

Een gegevensschijf toevoegen

We raden u aan waar mogelijk toepassings- en gebruikersgegevens te scheiden van gegevens die betrekking hebben op het besturingssysteem. Als u gebruikers- of toepassingsgegevens op uw VIRTUELE machine wilt opslaan, maakt en koppelt u doorgaans extra gegevensschijven.

Volg de stappen in deze sectie om een gegevensschijf op de virtuele machine te maken, te koppelen en te initialiseren.

De gegevensschijf maken

In deze sectie wordt u begeleid bij het maken van een gegevensschijf.

  1. Voordat een gegevensschijf kan worden gemaakt, moet u eerst een schijfobject maken. In het volgende codevoorbeeld wordt de cmdlet New-AzDiskConfig gebruikt om een schijfobject te configureren.

    $diskConfig = New-AzDiskConfig `
        -Location $azRegion `
        -CreateOption Empty `
        -DiskSizeGB 128 `
        -SkuName "Standard_LRS"
    
  2. Nadat het schijfobject is gemaakt, gebruikt u de cmdlet New-AzDisk om een gegevensschijf in te richten.

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

    U kunt de Cmdlet Get-AzDisk gebruiken om te controleren of de schijf is gemaakt.

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

    In dit voorbeeld bevestigt de uitvoer dat de schijf is gemaakt. De DiskState waarden en ManagedBy eigenschappen bevestigen dat de schijf nog niet is gekoppeld.

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

De gegevensschijf koppelen

Een gegevensschijf moet worden gekoppeld aan een virtuele machine voordat de virtuele machine er toegang toe heeft. Voer de stappen in deze sectie uit om een verwijzing voor de VIRTUELE machine te maken, de schijf te verbinden en de configuratie van de virtuele machine bij te werken.

  1. Haal de VM op waarnaar u de gegevensschijf koppelt. In de volgende voorbeeldcode wordt de Get-AzVM-cmdlet gebruikt om een verwijzing naar de VIRTUELE machine te maken.

    $vm = Get-AzVM `
        -ResourceGroupName $azResourceGroup `
        -Name $azVMName
    
  2. Koppel vervolgens de gegevensschijf aan de configuratie van de VIRTUELE machine met de cmdlet Add-AzVMDataDisk .

    $vm = Add-AzVMDataDisk `
        -VM $vm `
        -Name $azDataDiskName `
        -CreateOption Attach `
        -ManagedDiskId $dataDisk.Id `
        -Lun 1
    
  3. Werk ten slotte de configuratie van de VM bij met de cmdlet Update-AzVM .

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

    Na een korte pauze bevestigt de uitvoer een geslaagde bijlage.

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

De gegevensschijf initialiseren

Nadat een gegevensschijf is gekoppeld aan de virtuele machine, moet het besturingssysteem worden geconfigureerd om de schijf te kunnen gebruiken. De volgende sectie bevat richtlijnen voor het maken van verbinding met de externe VM en het configureren van de eerste schijf die is toegevoegd.

  1. Meld u aan bij het Azure-portaal.

  2. Zoek de VM waaraan u de gegevensschijf hebt gekoppeld. Maak een RDP-verbinding (Remote Desktop Protocol) en meld u aan als de lokale beheerder.

  3. Nadat u een RDP-verbinding met de externe VM tot stand hebt gebracht, selecteert u het menu Start van Windows. Voer PowerShell in het zoekvak in en selecteer Windows PowerShell om een PowerShell-venster te openen.

    Afbeelding van een extern bureaubladverbindingsvenster.

  4. Voer in het geopende PowerShell-venster het volgende script uit.

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

    De uitvoer bevestigt een geslaagde initialisatie.

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

Een schijf uitvouwen

U kunt Azure-schijven uitbreiden om extra opslagcapaciteit te bieden wanneer uw VIRTUELE machine weinig schijfruimte beschikbaar heeft.

Voor sommige scenario's moeten gegevens worden opgeslagen op de besturingssysteemschijf. U moet bijvoorbeeld oudere toepassingen ondersteunen die onderdelen installeren op het besturingssysteemstation. Mogelijk hebt u ook de noodzaak om een on-premises fysieke pc of VM met een groter besturingssysteemstation te migreren. In dergelijke gevallen kan het nodig zijn om de besturingssysteemschijf van een virtuele machine uit te breiden.

Het verkleinen van een bestaande schijf wordt niet ondersteund en kan leiden tot gegevensverlies.

De grootte van de schijf bijwerken

Volg de onderstaande stappen om het formaat van de besturingssysteemschijf of een gegevensschijf te wijzigen.

  1. Selecteer de virtuele machine met de schijf die u wilt wijzigen met de Get-AzVM cmdlet.

     $vm = Get-AzVM `
       -ResourceGroupName $azResourceGroup `
       -Name $azVMName
    
  2. Voordat u de grootte van de schijf van een virtuele machine kunt wijzigen, moet u de VIRTUELE machine stoppen. Gebruik de Stop-AzVM cmdlet om de VM te stoppen. U wordt om bevestiging gevraagd.

    Belangrijk

    Voordat u een VM afsluit, moet u altijd bevestigen dat er geen belangrijke resources of gegevens verloren kunnen gaan.

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

    Na een korte pauze bevestigt de uitvoer dat de machine is gestopt.

    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. Nadat de VM is gestopt, haalt u een verwijzing op naar het besturingssysteem of de gegevensschijf die is gekoppeld aan de virtuele machine met de Get-AzDisk cmdlet.

    In het volgende voorbeeld wordt de besturingssysteemschijf van de virtuele machine geselecteerd.

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

    In het volgende voorbeeld wordt de eerste gegevensschijf van de virtuele machine geselecteerd.

        $disk= Get-AzDisk `
            -ResourceGroupName $azResourceGroup `
            -DiskName $vm.StorageProfile.DataDisks[0].Name
    
  4. Nu u een verwijzing naar de schijf hebt, stelt u de grootte van de schijf in op 250 GiB.

    Belangrijk

    De nieuwe grootte moet groter zijn dan de bestaande schijfgrootte. Het toegestane maximum is 4.095 GiB voor besturingssysteemschijven.

    $disk.DiskSizeGB = 250
    
  5. Werk vervolgens de schijfinstallatiekopieën bij met de Update-AzDisk cmdlet.

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

    De schijfinstallatiekopieën worden bijgewerkt en de uitvoer bevestigt de nieuwe grootte van de schijf.

    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. Start ten slotte de VIRTUELE machine opnieuw op met de Start-AzVM cmdlet.

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

    Na een korte pauze bevestigt de uitvoer dat de machine is gestart.

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

Het schijfvolume in het besturingssysteem uitbreiden

Voordat u kunt profiteren van de nieuwe schijfgrootte, moet u het volume binnen het besturingssysteem uitbreiden. Volg de onderstaande stappen om het schijfvolume uit te breiden en te profiteren van de nieuwe schijfgrootte.

  1. Meld u aan bij het Azure-portaal.

  2. Zoek de VM waaraan u de gegevensschijf hebt gekoppeld. Maak een RDP-verbinding (Remote Desktop Protocol) en meld u aan. Als u geen toegang meer hebt tot een beheerdersaccount, maakt u een referentieobject voor een opgegeven gebruikersnaam en wachtwoord met de cmdlet Get-Credential .

  3. Nadat u een RDP-verbinding met de externe VM hebt gemaakt, selecteert u het menu Start van Windows. Voer PowerShell in het zoekvak in en selecteer Windows PowerShell om een PowerShell-venster te openen.

    Afbeelding van een extern bureaubladverbindingsvenster.

  4. Open PowerShell en voer het volgende script uit. Wijzig zo nodig de waarde van de -DriveLetter variabele. Als u bijvoorbeeld het formaat van de partitie op het station F: wilt wijzigen, gebruikt u $driveLetter = "F".

    $driveLetter = "[Drive Letter]" 
    $size = (Get-PartitionSupportedSize -DriveLetter $driveLetter) 
    Resize-Partition `
        -DriveLetter $driveLetter `
        -Size $size.SizeMax
    
  5. Minimaliseer het RDP-venster en ga terug naar Azure Cloud Shell. Gebruik de Get-AzDisk cmdlet om te controleren of de grootte van de schijf is gewijzigd.

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

Een schijf upgraden

Er zijn verschillende manieren om te reageren op wijzigingen in de workloads van uw organisatie. U kunt er bijvoorbeeld voor kiezen om een standard HDD te upgraden naar een Premium SSD om de vraag te verwerken.

Volg de stappen in deze sectie om een beheerde schijf van Standard naar Premium te upgraden.

  1. Selecteer de VIRTUELE machine die de schijf bevat die u gaat upgraden met de Get-AzVM cmdlet.

     $vm = Get-AzVM `
       -ResourceGroupName $azResourceGroup `
       -Name $azVMName
    
  2. Voordat u de schijf van een virtuele machine kunt upgraden, moet u de VIRTUELE machine stoppen. Gebruik de Stop-AzVM cmdlet om de VM te stoppen. U wordt om bevestiging gevraagd.

    Belangrijk

    Voordat u een VM afsluit, moet u altijd bevestigen dat er geen belangrijke resources of gegevens verloren kunnen gaan.

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

    Na een korte pauze bevestigt de uitvoer dat de machine is gestopt.

    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. Nadat de VM is gestopt, haalt u een verwijzing op naar het besturingssysteem of de gegevensschijf die is gekoppeld aan de virtuele machine met de Get-AzDisk cmdlet.

    In het volgende voorbeeld wordt de besturingssysteemschijf van de virtuele machine geselecteerd.

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

    In het volgende voorbeeld wordt de eerste gegevensschijf van de virtuele machine geselecteerd.

        $disk= Get-AzDisk `
            -ResourceGroupName $azResourceGroup `
            -DiskName $vm.StorageProfile.DataDisks[0].Name
    
  4. Nu u een verwijzing naar de schijf hebt, stelt u de SKU van de schijf in op Premium_LRS.

    $disk.Sku = [Microsoft.Azure.Management.Compute.Models.DiskSku]::new('Premium_LRS')
    
  5. Werk vervolgens de schijfinstallatiekopieën bij met de Update-AzDisk cmdlet.

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

    De schijfinstallatiekopieën worden bijgewerkt. Gebruik de volgende voorbeeldcode om te controleren of de SKU van de schijf is bijgewerkt.

    $disk.Sku.Name
    

    De uitvoer bevestigt de nieuwe SKU van de schijf.

    Premium_LRS
    
  6. Start ten slotte de VIRTUELE machine opnieuw op met de Start-AzVM cmdlet.

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

    Na een korte pauze bevestigt de uitvoer dat de machine is gestart.

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

Een gegevensschijf ontkoppelen

U kunt een gegevensschijf loskoppelen van een virtuele machine wanneer u deze aan een andere VIRTUELE machine wilt koppelen of wanneer deze niet meer nodig is. Standaard worden losgekoppelde schijven niet verwijderd om onbedoeld gegevensverlies te voorkomen. Voor een losgekoppelde schijf worden opslagkosten in rekening gebracht totdat deze wordt verwijderd.

  1. Selecteer eerst de virtuele machine waaraan de schijf is gekoppeld met de Get-AzVM cmdlet.

    $vm = Get-AzVM `
       -ResourceGroupName $azResourceGroup `
       -Name $azVMName
    
  2. Koppel vervolgens de schijf los van de VIRTUELE machine met de Remove-AzVMDataDisk cmdlet.

    Remove-AzVMDataDisk `
        -VM $vm `
        -Name $azDataDiskName
    
  3. Werk de status van de VIRTUELE machine bij met de Update-AzVM cmdlet om de gegevensschijf te verwijderen.

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

    Na een korte pauze bevestigt de uitvoer dat de VM is bijgewerkt.

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

Een gegevensschijf verwijderen

Wanneer u een virtuele machine verwijdert, blijven gegevensschijven die aan de VIRTUELE machine zijn gekoppeld, ingericht en worden er kosten in rekening gebracht totdat ze worden verwijderd. Dit standaardgedrag helpt gegevensverlies te voorkomen die worden veroorzaakt door onbedoelde verwijdering.

U kunt het volgende PowerShell-voorbeeldscript gebruiken om niet-gekoppelde schijven te verwijderen. Het ophalen van schijven is beperkt tot de myDemoResourceGroup omdat de -ResourceGroupName switch wordt gebruikt met de Get-AzDisk cmdlet.

# 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."
            }
        }
    }
}

De niet-gekoppelde gegevensschijf wordt verwijderd, zoals wordt weergegeven in de uitvoer.

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     :

Resources opschonen

Verwijder de resourcegroep, VM en alle gerelateerde resources wanneer u deze niet meer nodig hebt. U kunt het volgende PowerShell-voorbeeldscript gebruiken om de resourcegroep te verwijderen die u eerder in deze zelfstudie hebt gemaakt.

Let op

Wees voorzichtig bij het verwijderen van een resourcegroep. Om het verlies van belangrijke gegevens te voorkomen, moet u altijd bevestigen dat er geen belangrijke resources of gegevens in de resourcegroep zijn opgenomen voordat deze worden verwijderd.

    Remove-AzResourceGroup -Name $azResourceGroup

U wordt om bevestiging gevraagd. Na een korte pauze bevestigt het True antwoord dat de myDemoResourceGroup is verwijderd.

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

Volgende stappen

In deze zelfstudie heeft u het volgende geleerd:

  • Een gegevensschijf maken, koppelen en initialiseren
  • De status van een schijf controleren
  • Een schijf initialiseren
  • Een schijf uitvouwen en upgraden
  • Een schijf loskoppelen en verwijderen

Ga naar de volgende zelfstudie voor meer informatie over het automatiseren van vm-configuratie.