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. | |
Gå till https://shell.azure.com eller Välj knappen Starta Cloud Shell för att öppna Cloud Shell i webbläsaren. | |
Välj knappen Cloud Shell på menyn längst upp till höger i Azure-portalen. |
Så här använder du Azure Cloud Shell:
Starta Cloud Shell.
Välj knappen Kopiera i ett kodblock (eller kommandoblock) för att kopiera koden eller kommandot.
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.
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.
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"
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
ochManagedBy
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.
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
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
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.
Logga in på Azure-portalen.
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.
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.
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.
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
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 :
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
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
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
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.
Logga in på Azure-portalen.
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 .
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.
Ö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
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.
Välj den virtuella dator som innehåller disken som du ska uppgradera med cmdleten
Get-AzVM
.$vm = Get-AzVM ` -ResourceGroupName $azResourceGroup ` -Name $azVMName
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 :
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
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')
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
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.
Välj först den virtuella dator som disken är ansluten till med cmdleten
Get-AzVM
.$vm = Get-AzVM ` -ResourceGroupName $azResourceGroup ` -Name $azVMName
Koppla sedan från disken från den virtuella datorn med cmdleten
Remove-AzVMDataDisk
.Remove-AzVMDataDisk ` -VM $vm ` -Name $azDataDiskName
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.