Migrera till Innovate Summit:
Lär dig hur migrering och modernisering till Azure kan öka företagets prestanda, motståndskraft och säkerhet, så att du kan använda AI fullt ut.Registrera dig nu
Den här webbläsaren stöds inte längre.
Uppgradera till Microsoft Edge och dra nytta av de senaste funktionerna och säkerhetsuppdateringarna, samt teknisk support.
Expandera virtuella hårddiskar på en virtuell Linux-dator
Artikel
Gäller för: ✔️ Flexibla skalningsuppsättningar för virtuella Linux-datorer ✔️
Den här artikeln beskriver expanderande OS-diskar och datadiskar för en virtuell Linux-dator (VM). Du kan lägga till datadiskar för att ge mer lagringsutrymme och du kan även expandera en befintlig datadisk. Standardstorleken för virtuell hårddisk för operativsystemet (OS) är vanligtvis 30 GB på en virtuell Linux-dator i Azure. Den här artikeln beskriver hur du expanderar os-diskar eller datadiskar. Du kan inte utöka storleken på randiga volymer.
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 kan du överväga att ansluta datadiskar för datalagring. Om du behöver lagra data på OS-disken och behöver extra utrymme konverterar du dem till GUID Partition Table (GPT).
Varning
Kontrollera alltid att filsystemet är i felfritt tillstånd, att diskpartitionstabelltypen (GPT eller MBR) stöder den nya storleken och se till att dina data säkerhetskopieras innan du utför diskexpansionsåtgärder. Mer information finns i snabbstarten för Azure Backup.
Identifiera Azure-datadiskobjekt i operativsystemet
När du expanderar en datadisk kan det vara svårt att relatera Azure LUN till Linux-enheterna när det finns flera datadiskar på den virtuella datorn. Om OS-disken behöver utökas är den tydligt märkt i Azure Portal som OS-disk.
Börja med att identifiera relationen mellan diskanvändning, monteringspunkt och enhet med df kommandot .
Bash
df -Th
Output
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda1 xfs 97G 1.8G 95G 2% /
<truncated>
/dev/sdd1 ext4 32G 30G 727M 98% /opt/db/data
/dev/sde1 ext4 32G 49M 30G 1% /opt/db/log
Här kan vi till exempel se att /opt/db/data filsystemet är nästan fullt och finns på partitionen /dev/sdd1 . Utdata från visar enhetssökvägen om disken är monterad med hjälp av df enhetssökvägen eller (föredraget) UUID på fstab. Anteckna även kolumnen Typ som anger filsystemets format. Formatet är viktigt senare.
Leta nu upp det LUN som korrelerar med genom att /dev/sdd undersöka innehållet i /dev/disk/azure/scsi1. Utdata från följande ls kommando visar att enheten som /dev/sdd kallas i Linux-operativsystemet finns på LUN1 när du tittar i Azure Portal.
Du kan expandera dina hanterade diskar 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.
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 fylls i 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 10 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 Omskanningsfunktion för Linux. 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 10 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-regioner som stöds.
Expandera Azure Managed Disk
Kontrollera att du har installerat den senaste Azure CLI och är inloggad på ett Azure-konto med az login.
Den här artikeln kräver en befintlig virtuell dator i Azure med minst en datadisk ansluten och förberedd. Om du inte redan har en virtuell dator som du kan använda kan du läsa Skapa och förbereda en virtuell dator med datadiskar.
I följande exempel ersätter du exempelparameternamn som myResourceGroup och myVM med dina egna värden.
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.
Det går inte att utföra åtgärder på virtuella hårddiskar när den virtuella datorn körs. Frigör den virtuella datorn med az vm deallocate. I följande exempel frigörs den virtuella datorn med namnet myVM i resursgruppen med namnet myResourceGroup:
Azure CLI
az vm deallocate --resource-group myResourceGroup --name myVM
Anteckning
Den virtuella datorn måste frigöras för att expandera den virtuella hårddisken. Om du stoppar den virtuella datorn med az vm stop frigörs inte beräkningsresurserna. Om du vill frigöra beräkningsresurser använder du az vm deallocate.
Visa en lista över hanterade diskar i en resursgrupp med az disk list. I följande exempel visas en lista över hanterade diskar i resursgruppen med namnet myResourceGroup:
Azure CLI
az disk list \
--resource-group myResourceGroup \
--query'[*].{Name:name,size:diskSizeGB,Tier:sku.tier}' \
--output table
Expandera den disk som krävs med az disk update. I följande exempel expanderas den hanterade disken med namnet myDataDisk till 200 GB:
Azure CLI
az disk update \
--resource-group myResourceGroup \
--name myDataDisk \
--size-gb200
Anteckning
När du expanderar en hanterad disk avrundas den uppdaterade storleken upp till närmaste hanterade diskstorlek. En tabell med tillgängliga storlekar och nivåer för hanterade diskar finns i Förstå Azure Disk Storage-fakturering.
Starta den virtuella datorn med az vm start. I följande exempel startas den virtuella datorn med namnet myVM i resursgruppen med namnet myResourceGroup:
Azure CLI
az vm start --resource-group myResourceGroup --name myVM
Expandera en diskpartition och ett filsystem
Anteckning
Det finns många verktyg som kan användas för att utföra partitionsändringen, men verktygen som beskrivs i resten av det här dokumentet är samma verktyg som används av vissa automatiserade processer, till exempel cloud-init. Som beskrivs här growpart ger verktyget med gdisk paketet universell kompatibilitet med GPT-diskar (GUID Partition Table), eftersom äldre versioner av vissa verktyg som fdisk inte stöder GPT.
Identifiera en ändrad diskstorlek
Om en datadisk expanderades utan avbrott med hjälp av proceduren som nämnts tidigare ändras inte den rapporterade diskstorleken förrän enheten genomsöks igen, vilket normalt bara sker under startprocessen. Den här omsökningen kan anropas på begäran med följande procedur. I det här exemplet upptäcker vi att datadisken för närvarande /dev/sda har storleksändrats från 256 GiB till 512 GiB med hjälp av metoderna i det här dokumentet.
Identifiera den storlek som identifieras för tillfället på den första raden med utdata från fdisk -l /dev/sda
Bash
sudo fdisk -l /dev/sda
Output
Disk /dev/sda: 256 GiB, 274877906944 bytes, 536870912 sectors
Disk model: Virtual Disk
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x43d10aad
Device Boot Start End Sectors Size Id Type
/dev/sda1 2048 536870878 536868831 256G 83 Linux
Infoga ett 1 tecken i genomsökningsfilen för den här enheten. Observera referensen till sda i exemplet. Diskidentifieraren skulle ändras om en annan diskenhet ändrades.
Bash
echo 1 | sudo tee /sys/class/block/sda/device/rescan
Kontrollera att den nya diskstorleken nu känns igen
Bash
sudo fdisk -l /dev/sda
Output
Disk /dev/sda: 512 GiB, 549755813888 bytes, 1073741824 sectors
Disk model: Virtual Disk
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x43d10aad
Device Boot Start End Sectors Size Id Type
/dev/sda1 2048 536870878 536868831 256G 83 Linux
Resten av den här artikeln använder OS-disken för exemplen på proceduren för att öka storleken på en volym på OS-nivå. Om den expanderade disken är en datadisk använder du föregående vägledning för att identifiera datadiskenheten och följer dessa instruktioner som en riktlinje och ersätter datadiskenheten (till exempel /dev/sda), partitionsnummer, volymnamn, monteringspunkter och filsystemformat efter behov.
All vägledning för Linux-operativsystemet bör ses som allmän och kan tillämpas på alla distributioner, men matchar vanligtvis konventionerna för den namngivna Marketplace-utgivaren. Referera till Red Hat-dokumenten för paketkraven för all distribution baserat på Red Hat eller anspråk på Red Hat-kompatibilitet.
Öka storleken på OS-disken
Följande instruktioner gäller för godkända Linux-distributioner.
Anteckning
Innan du fortsätter ska du göra en fullständig säkerhetskopia av den virtuella datorn, eller åtminstone ta en ögonblicksbild av os-disken.
På Ubuntu 16.x och senare expanderas rotpartitionen för OS-disken och filsystemen automatiskt för att utnyttja allt ledigt sammanhängande utrymme på rotdisken av cloud-init, förutsatt att det finns lite ledigt utrymme för storleksändringsåtgärden. I det här fallet är sekvensen helt enkelt
Öka storleken på OS-disken enligt beskrivningen tidigare
Starta om den virtuella datorn och få åtkomst till den virtuella datorn med hjälp av rotanvändarkontot .
Kontrollera att OS-disken nu visar en ökad filsystemstorlek.
Som du ser i följande exempel ändrades OS-disken från portalen till 100 GB. Filsystemet /dev/sda1 som är monterat på / visar nu 97 GB.
För att öka operativsystemets diskstorlek i SUSE 12 SP4, SUSE SLES 12 för SAP, SUSE SLES 15 och SUSE SLES 15 för SAP:
Följ proceduren som beskrevs tidigare för att expandera disken i Azure-infrastrukturen.
Få åtkomst till den virtuella datorn som rotanvändare med hjälp sudo av kommandot när du har loggat in som en annan användare:
Bash
sudo -i
Använd följande kommando för att installera growpart-paketet , som används för att ändra storlek på partitionen, om det inte redan finns:
Bash
zypper install growpart
lsblk Använd kommandot för att hitta partitionen som är monterad på filsystemets rot (/). I det här fallet ser vi att partition 4 av enhets-SDA är monterad på /:
Bash
lsblk
Output
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 48G 0 disk
├─sda1 8:1 0 2M 0 part
├─sda2 8:2 0 512M 0 part /boot/efi
├─sda3 8:3 0 1G 0 part /boot
└─sda4 8:4 0 28.5G 0 part /
sdb 8:16 0 4G 0 disk
└─sdb1 8:17 0 4G 0 part /mnt/resource
Ändra storlek på den nödvändiga partitionen growpart med hjälp av kommandot och partitionsnumret som fastställdes i föregående steg:
I föregående exempel kan vi se att filsystemstorleken för OS-disken har ökats.
Följ proceduren som beskrevs tidigare för att expandera disken i Azure-infrastrukturen.
Få åtkomst till den virtuella datorn som rotanvändare med hjälp sudo av kommandot när du har loggat in som en annan användare:
Bash
sudo -i
lsblk Använd kommandot för att avgöra vilken logisk volym (LV) som är monterad på filsystemets rot (/). I det här fallet ser vi att rootvg-rootlv är monterad på /. Om ett annat filsystem behöver storleksändring ersätter du LV och monteringspunkten i det här avsnittet.
Kontrollera om det finns ledigt utrymme i LVM-volymgruppen (VG) som innehåller rotpartitionen. Om det finns ledigt utrymme går du vidare till steg 12.
Bash
vgdisplay rootvg
Output
--- Volume group ---
VG Name rootvg
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 7
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 6
Open LV 6
Max PV 0
Cur PV 1
Act PV 1
VG Size <63.02 GiB
PE Size 4.00 MiB
Total PE 16132
Alloc PE / Size 6400 / 25.00 GiB
Free PE / Size 9732 / <38.02 GiB
VG UUID lPUfnV-3aYT-zDJJ-JaPX-L2d7-n8sL-A9AgJb
I det här exemplet visar raden Kostnadsfri PE/storlek att det finns 38,02 GB ledigt i volymgruppen eftersom disken redan har ändrats.
Installera paketet cloud-utils-growpart för att tillhandahålla kommandot growpart, vilket krävs för att öka storleken på OS-disken och gdiskhanteraren för GPT-disklayouter Det här paketet är förinstallerat på de flesta Marketplace-avbildningar
Bash
dnf install cloud-utils-growpart gdisk
I Red Hat version 7 och nedan kan du använda yum kommandot i stället dnfför .
Avgör vilken disk och partition som innehåller den fysiska LVM-volymen (PV) eller volymerna i volymgruppen rootvg med hjälp av kommandot pvscan. Observera storleken och det lediga utrymme som anges mellan hakparenteserna ([ och ]).
Expandera partitionen som innehåller den här PV:n med hjälp av growpart, enhetsnamnet och partitionsnumret. Om du gör det expanderas den angivna partitionen för att använda allt ledigt sammanhängande utrymme på enheten.
Kontrollera att partitionen har ändrat storlek till den förväntade storleken med hjälp lsblk av kommandot igen. Observera att i exemplet ändrades sda4 från 63G till 95G.
Expandera LV med den mängd som krävs, vilket inte behöver vara allt ledigt utrymme i volymgruppen. I följande exempel ändras /dev/mapper/rootvg-rootlv från 2 GB till 12 GB (en ökning med 10 GB) via följande kommando. Det här kommandot ändrar även storlek på filsystemet på LV.
Kommandot lvresize anropar automatiskt lämpligt storleksändringskommando för filsystemet i LV. Kontrollera om /dev/mapper/rootvg-rootlv, som är monterad på /, har en ökad filsystemstorlek med hjälp df -Th av kommandot :
Exempel på utdata>
Bash
df -Th /
Output
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/rootvg-rootlv xfs 12G 71M 12G 1% /
Anteckning
Om du vill använda samma procedur för att ändra storlek på andra logiska volymer ändrar du lv-namnet i steg 12.
Följ proceduren som beskrevs tidigare för att expandera disken i Azure-infrastrukturen.
Få åtkomst till den virtuella datorn som rotanvändare med hjälp sudo av kommandot när du har loggat in som en annan användare:
Bash
sudo -i
Installera paketet cloud-utils-growpart för att tillhandahålla kommandot growpart, vilket krävs för att öka storleken på OS-disken och gdiskhanteraren för GPT-disklayouter. Det här paketet är förinstallerat på de flesta Marketplace-avbildningar
Bash
dnf install cloud-utils-growpart gdisk
I Red Hat version 7 och nedan kan du använda yum kommandot i stället dnfför .
Använd kommandot lsblk -f för att verifiera partitions- och filsystemtypen som innehåller rotpartitionen (/)
För verifiering börjar du med att lista partitionstabellen för sda-disken med gdisk. I det här exemplet ser vi en 48.0 GiB-disk med partition nr 2 med storleken 29,0 GiB. Disken expanderades från 30 GB till 48 GB i Azure Portal.
Bash
gdisk -l /dev/sda
Output
GPT fdisk (gdisk) version 0.8.10
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Disk /dev/sda: 100663296 sectors, 48.0 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 78CDF84D-9C8E-4B9F-8978-8C496A1BEC83
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 62914526
Partitions will be aligned on 2048-sector boundaries
Total free space is 6076 sectors (3.0 MiB)
Number Start (sector) End (sector) Size Code Name
1 1026048 2050047 500.0 MiB 0700
2 2050048 62912511 29.0 GiB 0700
14 2048 10239 4.0 MiB EF02
15 10240 1024000 495.0 MiB EF00 EFI System Partition
Expandera partitionen för rot, i det här fallet sda2 med hjälp av kommandot growpart . Med det här kommandot expanderas partitionen för att använda allt sammanhängande utrymme på disken.
Skriv nu ut den nya partitionstabellen med gdisk igen. Observera att partition 2 nu har storleken 47.0 GiB
Bash
gdisk -l /dev/sda
Output
GPT fdisk (gdisk) version 0.8.10
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Disk /dev/sda: 100663296 sectors, 48.0 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 78CDF84D-9C8E-4B9F-8978-8C496A1BEC83
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 100663262
Partitions will be aligned on 2048-sector boundaries
Total free space is 4062 sectors (2.0 MiB)
Number Start (sector) End (sector) Size Code Name
1 1026048 2050047 500.0 MiB 0700
2 2050048 100663261 47.0 GiB 0700
14 2048 10239 4.0 MiB EF02
15 10240 1024000 495.0 MiB EF00 EFI System Partition
Expandera filsystemet på partitionen med xfs_growfs, vilket är lämpligt för ett Standard Marketplace-genererat RedHat-system:
Lär dig mer om dina lagringsalternativ för virtuella datorer och hur du väljer mellan standard och premium och hanterade och ohanterade diskar för din virtuella Azure-dator.