Delen 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 handleiding behandelt de implementatie en het beheer van VM-schijven. In deze handleiding leer je hoe je:

  • 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

Prerequisites

U moet een Azure-account met een actief abonnement hebben. Als je geen Azure-abonnement hebt, maak dan een gratis account aan voordat je 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:

Option Example/Link
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 met een voorbeeld van Try It for 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 op Windows en Linux de toetsencombinatie Ctrl+Shift+V in te drukken, of op macOS de toetsencombinatie Cmd+Shift+V te gebruiken.

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

Een VM maken:

Voor de oefeningen in deze handleiding 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 succesvol 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.

Voeg een gegevensschijf toe

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 output 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 onderbreking bevestigt de uitvoer een geslaagde aansluiting.

    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 uitbreiden

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. Misschien heeft u ook de behoefte om een on-premises fysieke pc of VM met een grotere OS-schijf 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.

Important

Als uw schijf voldoet aan de vereisten in Uitbreiden zonder uitvaltijd, kunt u stap 2 en 6 overslaan.

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

Nadat u de schijven hebt uitgebreid, moet u het volume in het besturingssysteem uitbreiden om te profiteren van de grotere schijf.

  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.

    Important

    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 succesvol 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.

    Important

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

    $disk.DiskSizeGB = 250
    
  5. Update vervolgens de schijfimage met de Update-AzDisk cmdlet.

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

    De schijfimage wordt 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 VM opnieuw op met de Start-AzVM cmdlet.

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

    Na een korte pauze bevestigt de uitvoer dat de machine succesvol 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 succesvol opnieuw van grootte is veranderd.

    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 standaard HDD te upgraden naar een premium SSD om aan de verhoogde vraag te voldoen.

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.

    Important

    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 succesvol 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. Update vervolgens de schijfimage met de Update-AzDisk cmdlet.

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

    De schijfkopie wordt 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 VM opnieuw op met de Start-AzVM cmdlet.

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

    Na een korte pauze bevestigt de uitvoer dat de machine succesvol 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 loskoppelen

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 de 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     :

De hulpbronnen 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.

Caution

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 tutorial leerde je hoe je:

  • 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.