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. | |
Ga naar https://shell.azure.com, of selecteer de knop Cloud Shell starten om Cloud Shell in uw browser te openen. | |
Klik op de knop Cloud Shell in het menu in de balk rechtsboven in de Azure-portal. |
Azure Cloud Shell gebruiken:
Start Cloud Shell.
Selecteer de knop Kopiëren op een codeblok (of opdrachtblok) om de code of opdracht te kopiëren.
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.
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.
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"
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 enManagedBy
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.
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
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
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.
Meld u aan bij het Azure-portaal.
Zoek de VM waaraan u de gegevensschijf hebt gekoppeld. Maak een RDP-verbinding (Remote Desktop Protocol) en meld u aan als de lokale beheerder.
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.
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.
Selecteer de virtuele machine met de schijf die u wilt wijzigen met de
Get-AzVM
cmdlet.$vm = Get-AzVM ` -ResourceGroupName $azResourceGroup ` -Name $azVMName
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 :
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
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
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
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.
Meld u aan bij het Azure-portaal.
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 .
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.
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
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.
Selecteer de VIRTUELE machine die de schijf bevat die u gaat upgraden met de
Get-AzVM
cmdlet.$vm = Get-AzVM ` -ResourceGroupName $azResourceGroup ` -Name $azVMName
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 :
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
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')
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
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.
Selecteer eerst de virtuele machine waaraan de schijf is gekoppeld met de
Get-AzVM
cmdlet.$vm = Get-AzVM ` -ResourceGroupName $azResourceGroup ` -Name $azVMName
Koppel vervolgens de schijf los van de VIRTUELE machine met de
Remove-AzVMDataDisk
cmdlet.Remove-AzVMDataDisk ` -VM $vm ` -Name $azDataDiskName
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.