Så här expanderar du virtuella hårddiskar som är anslutna till en virtuell Windows-dator
Gäller för: ✔️ Flexibla skalningsuppsättningar för virtuella Windows-datorer ✔️
När du skapar en ny virtuell dator (VM) i en resursgrupp genom att distribuera en avbildning från Azure Marketplace är standardoperativsystemdisken vanligtvis 127 GiB (vissa avbildningar har mindre os-diskstorlekar som standard). Du kan lägga till datadiskar till den virtuella datorn (mängden beror på den virtuella dator-SKU som du har valt) och vi rekommenderar att du installerar program och processorintensiva arbetsbelastningar på datadiskar. Du kan behöva expandera OS-disken om du stöder ett äldre program som installerar komponenter på OS-disken eller om du migrerar en fysisk dator eller virtuell dator från en lokal dator som har en större OS-disk. Den här artikeln beskriver hur du expanderar os-diskar eller datadiskar.
En OS-disk har en maximal kapacitet på 4 095 GiB. Många operativsystem är dock partitionerade med master boot record (MBR) som standard. MBR begränsar den användbara storleken till 2 TiB. Om du behöver mer än 2 TiB skapar och ansluter du datadiskar och använder dem för datalagring. Om du behöver lagra data på OS-disken och behöver ytterligare utrymme konverterar du dem till GUID Partition Table (GPT). Information om skillnaderna mellan MBR och GPT i Windows-distributioner finns i Vanliga frågor och svar om Windows och GPT.
Viktigt!
Om du inte använder Expandera utan stilleståndstid kräver en utökning av en datadisk att den virtuella datorn frigörs.
Krympning av en befintlig disk stöds inte och det kan eventuellt leda till dataförlust.
När du har expanderat diskarna måste du expandera volymen i operativsystemet för att dra nytta av den större disken.
Du kan inte utöka storleken på randiga volymer.
Expandera utan stilleståndstid
Du kan expandera datadiskar utan att frigöra den virtuella datorn. Inställningen för värdcachen för disken ändrar inte om du kan expandera en datadisk utan att frigöra den virtuella datorn.
Den här funktionen har följande begränsningar:
- Stöds endast för datadiskar.
- Om en Standard HDD-, Standard SSD- eller Premium SSD-disk är 4 TiB eller mindre frigör du den virtuella datorn och kopplar från disken innan du expanderar den utöver 4 TiB. Om en av dessa disktyper redan är större än 4 TiB kan du expandera den utan att frigöra den virtuella datorn och koppla från disken. Detta gäller inte för Premium SSD v2 eller Ultra Disks.
- Stöds inte för delade diskar.
- Installera och använd antingen:
- Den senaste Azure CLI
- Den senaste Azure PowerShell-modulen
- Azure Portal
- Eller en Azure Resource Manager-mall med en API-version som är
2021-04-01
eller senare.
- Inte tillgängligt på vissa klassiska virtuella datorer. Använd det här skriptet för att hämta en lista över klassiska VM-SKU:er som har stöd för att expandera utan driftstopp.
Expandera med Ultra Disk och Premium SSD v2
Expandera ultradiskar och Premium SSD v2-diskar har följande ytterligare begränsningar:
- Du kan inte expandera en disk medan en bakgrundskopia av data också förekommer på den disken, till exempel när en disk hydreras från ögonblicksbilder.
- Du kan inte expandera en virtuell dator som använder NVMe-styrenheter för Ultra Disks eller Premium SSD v2-diskar utan driftstopp.
Viktigt!
Tillåt upp till tio minuter för att rätt storlek ska återspeglas i virtuella Windows-datorer och virtuella Linux-datorer. För virtuella Linux-datorer måste du utföra en Linux-omskanningsfunktion För virtuella Windows-datorer som inte har någon arbetsbelastning måste du utföra en Windows-omsökningsfunktion. Du kan söka om omedelbart, men om det är inom tio minuter kan du behöva söka igen för att visa rätt storlek.
Regional tillgänglighet
Storleksändring av Ultra Disks- och Premium SSD v2-diskar är för närvarande tillgängligt i alla Premium SSD v2- och Ultra-stödda regioner förutom följande:
- USA, västra 2
Ändra storlek på en hanterad disk i Azure-portalen
Viktigt!
Om disken uppfyller kraven i Expandera utan stilleståndstid kan du hoppa över steg 1.
I Azure-portalen går du till den virtuella datorn där du vill expandera disken. Välj Stopp för att frigöra den virtuella datorn.
Välj Diskar under Inställningar i den vänstra menyn.
Under Disknamn väljer du den disk som du vill expandera.
I den vänstra menyn under Inställningar väljer du Storlek + prestanda.
I Storlek + prestanda väljer du önskad diskstorlek.
Varning
Den nya storleken måste vara större än den befintliga. Det högsta tillåtna är 4 095 GB för OS-diskar. (Det går att expandera VHD-bloben utöver den storleken, men operativsystemet fungerar bara med de första 4 095 GB utrymme.)
Välj Ändra storlek längst ned på sidan.
Ändra storlek på en hanterad disk med hjälp av PowerShell
Öppna PowerShell ISE eller PowerShell-fönstret i administrativt läge och följ anvisningarna nedan:
Logga in på ditt Microsoft Azure-konto i resurshanteringsläget och välj din prenumeration:
Connect-AzAccount
Select-AzSubscription –SubscriptionName 'my-subscription-name'
Ange resursgruppens namn och namnet på den virtuella datorn:
$rgName = 'my-resource-group-name'
$vmName = 'my-vm-name'
$diskName = 'my-disk-name'
Hämta en referens till din virtuella dator:
$vm = Get-AzVM -ResourceGroupName $rgName -Name $vmName
Viktigt!
Om disken uppfyller kraven vid utökning utan stilleståndstid kan du hoppa över steg 4 och 6.
Stoppa den virtuella datorn innan du ändrar storlek på disken:
Stop-AzVM -ResourceGroupName $rgName -Name $vmName
Hämta en referens till den hanterade OS-disken. Ange storleken på den hanterade OS-disken till önskat värde och uppdatera disken:
$disk= Get-AzDisk -ResourceGroupName $rgName -DiskName $diskName
$disk.DiskSizeGB = 1023
Update-AzDisk -ResourceGroupName $rgName -Disk $disk -DiskName $disk.Name
Varning
Den nya storleken måste vara större än den befintliga. Det högsta tillåtna är 4 095 GB för OS-diskar. (Det går att expandera VHD-bloben utöver den storleken, men operativsystemet fungerar bara med de första 4 095 GB utrymme.)
Det kan ta några sekunder att uppdatera den virtuella datorn. När kommandot har körts klart startar du om den virtuella datorn:
Start-AzVM -ResourceGroupName $rgName -Name $vmName
Fjärranslut till den virtuella datorn, öppna Datorhantering (eller Diskhantering) och expandera enheten med det nyligen allokerade utrymmet.
Utöka volymen i operativsystemet
När du har expanderat disken för den virtuella datorn måste du gå in i operativsystemet och expandera volymen så att den omfattar det nya utrymmet. Det finns flera metoder för att utöka en partition. Det här avsnittet beskriver hur du ansluter den virtuella datorn med hjälp av en RDP-anslutning för att expandera partitionen med hjälp av Diskpart eller Använda Diskhanteraren.
Använda DiskPart
När du har expanderat disken för den virtuella datorn måste du gå in i operativsystemet och expandera volymen så att den omfattar det nya utrymmet. Det finns flera metoder för att utöka en partition. I det här avsnittet beskrivs hur du ansluter den virtuella datorn med hjälp av en RDP-anslutning för att utöka partitionen med DiskPart.
Öppna en RDP-anslutning till den virtuella datorn.
Öppna en kommandotolk och skriv diskpart.
Vid DISKPART skriver du
list volume
. Anteckna den volym som du vill utöka.Vid DISKPART skriver du
select volume <volumenumber>
. Då väljs volymen volymnummer som du vill utöka till ett sammanhängande och ledigt utrymme på samma disk.Vid DISKPART skriver du
extend [size=<size>]
. Detta utökar den valda volymen med storlek i MB.
Använda Disk Manager
Starta en fjärrskrivbordssession med den virtuella datorn.
Öppna Diskhantering.
Högerklicka på den befintliga C: -enhetspartitionen –> Utöka volymen.
Följ stegen du bör kunna se disken med uppdaterad kapacitet:
Utöka utan avbrott klassisk VM SKU-stöd
Om du använder en klassisk SKU för virtuella datorer kanske den inte stöder expanderande diskar utan driftstopp.
Använd följande PowerShell-skript för att avgöra vilka VM-SKU:er som är tillgängliga med:
Connect-AzAccount
$subscriptionId="yourSubID"
$location="desiredRegion"
Set-AzContext -Subscription $subscriptionId
$vmSizes=Get-AzComputeResourceSku -Location $location | where{$_.ResourceType -eq 'virtualMachines'}
foreach($vmSize in $vmSizes){
foreach($capability in $vmSize.Capabilities)
{
if(($capability.Name -eq "EphemeralOSDiskSupported" -and $capability.Value -eq "True") -or ($capability.Name -eq "PremiumIO" -and $capability.Value -eq "True") -or ($capability.Name -eq "HyperVGenerations" -and $capability.Value -match "V2"))
{
$vmSize.Name
}
}
}