Självstudie: skapa och använd diskar med VM-skalningsuppsättningar med Azure PowerShell
Gäller för: ✔️ Virtuella Linux-datorer:heavy_check_mark: Windows:heavy_check_mark: Uniform Scale Sets
VM-skalningsuppsättningar använder diskar för att lagra den virtuella datorinstansens operativsystem, program och data. När du skapar och hanterar en skalningsuppsättning, är det viktigt att välja en diskstorlek och konfiguration som lämpar sig för den förväntade arbetsbelastningen. Den här självstudien beskriver hur du skapar och hanterar virtuella datordiskar. I den här guiden får du lära du dig hur man:
- OS-diskar och temporära diskar
- Datadiskar
- Standard- och Premium-diskar
- Diskprestanda
- Anslut och förbered datadiskar
Om du inte har någon Azure-prenumeration kan du skapa ett kostnadsfritt konto innan du börjar.
Anteckning
I den här artikeln används Azure Az PowerShell-modulen, som är den rekommenderade PowerShell-modulen för att interagera med Azure. För att komma igång med Az PowerShell kan du läsa artikeln om att installera Azure PowerShell. Information om hur du migrerar till Az PowerShell-modulen finns i artikeln om att migrera Azure PowerShell från AzureRM till Az.
Använda 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 av ett kodblock. Om du väljer Prova kopieras koden inte 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 kör du koden i den här artikeln i Azure Cloud Shell:
Starta Cloud Shell.
Kopiera koden genom att klicka på knappen Kopiera på ett kodblock.
Klistra in koden i Cloud Shell-sessionen genom att välja Ctrl+Skift+V på Windows och Linux eller genom att välja Cmd+Skift+V på macOS.
Välj Retur för att köra koden.
Azure-standarddiskar
När en skalningsuppsättning skapas eller skalas, ansluts två diskar automatiskt till varje virtuell datorinstans.
Operativsystemdisken – Operativsystemdiskar kan vara upp till 2 TB stora och innehåller de virtuella datorernas operativsystem. Operativsystemdisken kallas som standard /dev/sda. OS-diskens cachelagringkonfiguration har optimerats för OS-prestanda. Därför bör OS-disken inte innehålla program eller data. För program och data använder du datadiskar som beskrivs senare i den här artikeln.
Temporär disk – Temporära diskar använder en SSD-enhet som finns på samma Azure-värd som den virtuella datorinstansen. Det här är högpresterande diskar och kan användas för åtgärder som till exempel tillfällig databearbetning. Om den virtuella datorinstansen flyttas till en ny värddator tas dock alla data som lagras på den temporära disken bort. Storleken på den temporära disken bestäms av den virtuella datorinstansens storlek. Temporära diskar kallas /dev/sdb och har monteringspunkten /mnt.
Storlekar för temporära diskar
| Typ | Normala storlekar | Maxstorlek för temporär disk (GiB) |
|---|---|---|
| Generell användning | A-, B- och D-serien | 1600 |
| Beräkningsoptimerad | F-serien | 576 |
| Minnesoptimerad | D-, E-, G- och M-serien | 6144 |
| Lagringsoptimerad | L-serien | 5630 |
| GPU | N-serien | 1440 |
| Höga prestanda | A- och H-serien | 2000 |
Azure-datadiskar
Du kan lägga till ytterligare datadiskar om du behöver installera program och lagra data. Datadiskar används när du behöver hållbar och responsiv datalagring. Varje datadisk har en maxkapacitet på 4 TB. Storleken på den virtuella datorinstansen avgör hur många datadiskar som kan anslutas. Två datadiskar kan kopplas för varje VM vCPU.
Maximalt antal datadiskar per VM
| Typ | Normala storlekar | Maximalt antal datadiskar per VM |
|---|---|---|
| Generell användning | A-, B- och D-serien | 64 |
| Beräkningsoptimerad | F-serien | 64 |
| Minnesoptimerad | D-, E-, G- och M-serien | 64 |
| Lagringsoptimerad | L-serien | 64 |
| GPU | N-serien | 64 |
| Höga prestanda | A- och H-serien | 64 |
VM-disktyper
Azure tillhandahåller två disktyper.
Standarddiskar
Standardlagring stöds av hårddiskar och levererar kostnadseffektiv lagring och prestanda. Standarddiskar passar perfekt för kostnadseffektiv utveckling och testning av arbetsbelastningar.
Premiumdiskar
Premiumdiskar backas upp av SSD-baserade diskar med hög prestanda och låg latens. De här diskarna rekommenderas för virtuella datorer som kör produktionsarbetsbelastningar. Premium Storage stöder virtuella datorer i DS-serien, DSv2-serien GS-serien och FS-serien. När du väljer en diskstorlek, avrundas värdet uppåt till nästa typ. Om diskstorleken till exempel är mindre än 128 GB är disktypen P10. Om disktypen är mellan 129 GB och 512 GB är storleken P20. Över 512 GB är storleken en P30.
Premiumdiskprestanda
| Premium Storage-disktyp | P4 | P6 | P10 | P20 | P30 | P40 | P50 |
|---|---|---|---|---|---|---|---|
| Diskens storlek (avrundas uppåt) | 32 GB | 64 GB | 128 GB | 512 GB | 1 024 GB (1 TB) | 2 048 GB (2 TB) | 4 095 GB (4 TB) |
| Högsta IOPS per disk | 120 | 240 | 500 | 2 300 | 5 000 | 7 500 | 7 500 |
| Dataflöde per disk | 25 MB/s | 50 MB/s | 100 MB/s | 150 MB/s | 200 MB/s | 250 MB/s | 250 MB/s |
I tabellen ovan visas högsta IOPS per disk, men högre prestanda kan uppnås genom strimling över flera datadiskar. En Standard_GS5 virtuell dator kan till exempel uppnå maximalt 80 000 IOPS. Mer information om högsta IOPS per virtuell dator finns i Storlekar för virtuella Windows-datorer.
Skapa och koppla diskar
Du kan skapa och ansluta diskar när du skapar en skalningsuppsättning eller med en befintlig skalningsuppsättning.
Från och med API-versionen kan du ange storleken på OS-disken i en VM-skalningsuppsättning med egenskapen 2019-07-01 storageProfile.osDisk.diskSizeGb. Efter etableringen kan du behöva expandera eller partitionera om disken för att använda hela utrymmet. Läs mer om hur du expanderar volymen i ditt operativsystem i antingen Windows eller Linux.
Anslut diskarna när skalningsuppsättningen skapas
Skapa en VM-skalningsuppsättning med New-AzVmss. När du uppmanas, anger du ett användarnamn och lösenord för de virtuella datorinstanserna. För att distribuera trafik till flera virtuella datorinstanser så skapas även en lastbalanserare. Lastbalanseraren innehåller regler för att distribuera trafik på TCP-port 80 och för att tillåta trafik för fjärrskrivbordet på TCP-port 3389 och PowerShell-fjärrkommunikation på TCP-port 5985.
Två diskar skapas med parametern -DataDiskSizeGb. Den första disken är 64 GB stor och den andra disken är 128 GB. När du uppmanas, anger du dina egna önskade administrativa autentiseringsuppgifter för de virtuella datorinstanserna i skalningsuppsättning:
New-AzVmss `
-ResourceGroupName "myResourceGroup" `
-Location "EastUS" `
-VMScaleSetName "myScaleSet" `
-VirtualNetworkName "myVnet" `
-SubnetName "mySubnet" `
-PublicIpAddressName "myPublicIPAddress" `
-LoadBalancerName "myLoadBalancer" `
-UpgradePolicyMode "Automatic" `
-DataDiskSizeInGb 64,128
Det tar några minuter att skapa och konfigurera alla skalningsuppsättningsresurser och virtuella datorinstanser.
Anslut en disk till en befintlig skalningsuppsättning
Du kan även ansluta diskar till en befintlig skalningsuppsättning. Använd skalningsuppsättningen som skapades i det föregående steget för att lägga till en annan disk med Add-AzVmssDataDisk. Följande exempel ansluter en ytterligare 128 GB disk till en befintlig skalningsuppsättning:
# Get scale set object
$vmss = Get-AzVmss `
-ResourceGroupName "myResourceGroup" `
-VMScaleSetName "myScaleSet"
# Attach a 128 GB data disk to LUN 2
Add-AzVmssDataDisk `
-VirtualMachineScaleSet $vmss `
-CreateOption Empty `
-Lun 2 `
-DiskSizeGB 128
# Update the scale set to apply the change
Update-AzVmss `
-ResourceGroupName "myResourceGroup" `
-VMScaleSetName "myScaleSet" `
-VirtualMachineScaleSet $vmss
Förbered datadiskarna
Diskarna som skapas och ansluts till dina skalningsuppsättningar för virtuella datorinstanser är rådiskar. Innan du kan använda dem med dina data och program, måste de förberedas. För att förbereda diskarna, skapar du en partition, skapar ett filsystem och monterar dem.
Du kan använda det anpassade skripttillägget för Azure för att automatisera processen på flera virtuella datorinstanser i en skalningsuppsättning. Det här tillägget kan köra skript lokalt på varje virtuell datorinstans, till exempel för att förbereda anslutna datadiskar. Mer information finns i översikten över tillägget för anpassat skript.
Följande exempel kör ett skript från ett GitHub-exempellager på varje virtuell datorinstans med Add-AzVmssExtension som förbereder alla anslutna rådatadiskar:
# Get scale set object
$vmss = Get-AzVmss `
-ResourceGroupName "myResourceGroup" `
-VMScaleSetName "myScaleSet"
# Define the script for your Custom Script Extension to run
$publicSettings = @{
"fileUris" = (,"https://raw.githubusercontent.com/Azure-Samples/compute-automation-configurations/master/prepare_vm_disks.ps1");
"commandToExecute" = "powershell -ExecutionPolicy Unrestricted -File prepare_vm_disks.ps1"
}
# Use Custom Script Extension to prepare the attached data disks
Add-AzVmssExtension -VirtualMachineScaleSet $vmss `
-Name "customScript" `
-Publisher "Microsoft.Compute" `
-Type "CustomScriptExtension" `
-TypeHandlerVersion 1.8 `
-Setting $publicSettings
# Update the scale set and apply the Custom Script Extension to the VM instances
Update-AzVmss `
-ResourceGroupName "myResourceGroup" `
-VMScaleSetName "myScaleSet" `
-VirtualMachineScaleSet $vmss
För att bekräfta att diskarna har förberetts korrekt, RDP:ar du till en av de virtuella datorinstanserna.
Först hämtar du lastbalanserarobjektet med Get-AzLoadBalancer. Därefter visar du de inkommande NAT-reglerna med Get-AzLoadBalancerInboundNatRuleConfig. NAT-reglerna listar FrontendPort för varje virtuell datorinstans som RDP lyssnar på. Slutligen hämtar du den offentliga IP-adressen för lastbalanseraren med Get-AzPublicIpAddress:
# Get the load balancer object
$lb = Get-AzLoadBalancer -ResourceGroupName "myResourceGroup" -Name "myLoadBalancer"
# View the list of inbound NAT rules
Get-AzLoadBalancerInboundNatRuleConfig -LoadBalancer $lb | Select-Object Name,Protocol,FrontEndPort,BackEndPort
# View the public IP address of the load balancer
Get-AzPublicIpAddress -ResourceGroupName "myResourceGroup" -Name myPublicIPAddress | Select IpAddress
Om du vill ansluta till din virtuella dator, anger du din egna offentliga IP-adress och portnummer för den nödvändiga virtuella datorinstansen som den visas i föregående kommandon. När du uppmanas, anger du de autentiseringsuppgifter som användes när du skapade skalningsuppsättningen. Om du använder Azure Cloud Shell, utför du den här åtgärden från en lokal PowerShell-kommandotolk eller klienten för fjärrskrivbord. Följande exempel ansluter till den virtuella datorinstansen 1:
mstsc /v 52.168.121.216:50001
Öppna en lokal PowerShell-session på den virtuella datorinstansen och titta på de anslutna diskarna med Get-Disk:
Get-Disk
Följande exempelutdata visar att de tre datadiskarna är anslutna till den virtuella datorinstansen.
Number Friendly Name HealthStatus OperationalStatus Total Size Partition Style
------ ------------- ------------ ----------------- ---------- ---------------
0 Virtual HD Healthy Online 127 GB MBR
1 Virtual HD Healthy Online 14 GB MBR
2 Msft Virtual Disk Healthy Online 64 GB MBR
3 Msft Virtual Disk Healthy Online 128 GB MBR
4 Msft Virtual Disk Healthy Online 128 GB MBR
Granska filsystemen och monteringspunkterna på den virtuella datorinstansen på följande sätt:
Get-Partition
Följande exempelutdata visar att de tre datadiskarna är tilldelade enhetsbokstäver:
DiskPath: \\?\scsi#disk&ven_msft&prod_virtual_disk#000001
PartitionNumber DriveLetter Offset Size Type
--------------- ----------- ------ ---- ----
1 F 1048576 64 GB IFS
DiskPath: \\?\scsi#disk&ven_msft&prod_virtual_disk#000002
PartitionNumber DriveLetter Offset Size Type
--------------- ----------- ------ ---- ----
1 G 1048576 128 GB IFS
DiskPath: \\?\scsi#disk&ven_msft&prod_virtual_disk#000003
PartitionNumber DriveLetter Offset Size Type
--------------- ----------- ------ ---- ----
1 H 1048576 128 GB IFS
Diskarna på varje virtuell datorinstans i din skala förbereds automatiskt på samma sätt. Allteftersom din skalningsuppsättning skalar upp, ansluts de nödvändiga datadiskarna till de nya virtuella datorinstanserna. Det anpassade skripttillägget körs också för att automatiskt förbereda diskarna.
Stäng fjärrskrivbordssessionen med den virtuella datorinstansen.
Lista de anslutna diskarna
Du kan visa information om diskar anslutna till en skalningsuppsättning med Get-AzVmss på följande sätt:
Get-AzVmss -ResourceGroupName "myResourceGroup" -Name "myScaleSet"
Under egenskapen VirtualMachineProfile.StorageProfile, visas listan över DataDisks. Information om diskstorleken, lagringsnivå och LUN (Logical Unit Number) visas. Följande exempelutdata visar information om de tre datadiskarna som är kopplade till skalningsuppsättningen:
DataDisks[0] :
Lun : 0
Caching : None
CreateOption : Empty
DiskSizeGB : 64
ManagedDisk :
StorageAccountType : PremiumLRS
DataDisks[1] :
Lun : 1
Caching : None
CreateOption : Empty
DiskSizeGB : 128
ManagedDisk :
StorageAccountType : PremiumLRS
DataDisks[2] :
Lun : 2
Caching : None
CreateOption : Empty
DiskSizeGB : 128
ManagedDisk :
StorageAccountType : PremiumLRS
Koppla från en disk
När du inte längre behöver en angiven disk, kan du koppla från den från skalningsuppsättningen. Disken tas bort från alla virtuella datorinstanser i skalningsuppsättningen. Om du vill koppla bort en disk från en skalningsuppsättning, använder du Remove-AzVmssDataDisk och anger LUN för disken. LUN visas i utdata från Get-AzVmss i föregående avsnitt. Följande exempel kopplar från LUN 3 från skalningsuppsättningen:
# Get scale set object
$vmss = Get-AzVmss `
-ResourceGroupName "myResourceGroup" `
-VMScaleSetName "myScaleSet"
# Detach a disk from the scale set
Remove-AzVmssDataDisk `
-VirtualMachineScaleSet $vmss `
-Lun 2
# Update the scale set and detach the disk from the VM instances
Update-AzVmss `
-ResourceGroupName "myResourceGroup" `
-VMScaleSetName "myScaleSet" `
-VirtualMachineScaleSet $vmss
Rensa resurser
Om du vill ta bort din skalningsuppsättning och diskar, tar du bort resursgruppen och alla dess resurser med Remove-AzResourceGroup. Parametern -Force bekräftar att du vill ta bort resurserna utan att tillfrågas ytterligare en gång. Parametern -AsJob återför kontrollen till kommandotolken utan att vänta på att uppgiften slutförs.
Remove-AzResourceGroup -Name "myResourceGroup" -Force -AsJob
Nästa steg
I den här självstudien fick du läsa om hur du skapar och använder diskar med skalningsuppsättningar med Azure PowerShell:
- OS-diskar och temporära diskar
- Datadiskar
- Standard- och Premium-diskar
- Diskprestanda
- Anslut och förbered datadiskar
Gå vidare till nästa självstudie för att läsa hur du använder en anpassad avbildning för din skalningsuppsättning för virtuella datorinstanser.


