Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op: ✔️ Flexibele schaalsets voor Linux-VM's ✔️
In dit artikel vindt u informatie over het uitbreiden van besturingssysteemschijven en gegevensschijven voor een virtuele Linux-machine (VM). U kunt gegevensschijven toevoegen om meer opslagruimte te bieden en u kunt ook een bestaande gegevensschijf uitbreiden. De standaardgrootte van de virtuele harde schijf voor het besturingssysteem is doorgaans 30 GB op een Virtuele Linux-machine in Azure. Dit artikel bevat informatie over het uitbreiden van besturingssysteemschijven of gegevensschijven.
Een besturingssysteemschijf heeft een maximale capaciteit van 4095 GiB. Veel besturingssystemen worden echter standaard gepartitioneerd met master boot record (MBR ). MBR beperkt de bruikbare grootte tot 2 TiB. Als u meer dan 2 TiB nodig hebt, kunt u overwegen om gegevensschijven te koppelen voor gegevensopslag. Als u wel gegevens op de besturingssysteemschijf moet opslaan en extra ruimte nodig hebt, converteert u deze naar een GPT (GUID Partition Table).
Waarschuwing
Zorg er altijd voor dat uw bestandssysteem een goede status heeft en het type schijfpartitietabel (GPT of MBR) de nieuwe grootte kan ondersteunen. Maak een back-up van uw gegevens voordat u schijfuitbreidingsbewerkingen uitvoert. Zie de quickstart voor Azure Backup voor meer informatie.
Een Azure-gegevensschijfobject binnen het besturingssysteem identificeren
Wanneer u een gegevensschijf uitvouwt met verschillende gegevensschijven op de virtuele machine, kan het lastig zijn om de logische-eenheidsnummers (LUN's) van Azure te koppelen aan de Linux-apparaten. Als de besturingssysteemschijf uitbreiding nodig heeft, is deze duidelijk gelabeld in Azure Portal als de besturingssysteemschijf.
Begin met het identificeren van de relatie tussen schijfgebruik, koppelpunt en apparaat, met de df opdracht.
df -Th
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
Hier ziet u bijvoorbeeld dat het /opt/db/data bestandssysteem bijna vol is en zich op de /dev/sdd1 partitie bevindt. De uitvoer van df toont het apparaatpad of geeft aan of de schijf is gekoppeld met behulp van het apparaatpad of (bij voorkeur) de UUID in de fstab. Noteer de kolom Type, die de indeling van het bestandssysteem aangeeft. De indeling is later belangrijk.
Zoek nu de LUN die correleert met /dev/sdd door de inhoud van /dev/disk/azure/scsi1 te onderzoeken. In de uitvoer van de volgende ls opdracht ziet u, wanneer u in de Azure-portal kijkt, dat het apparaat dat bekend staat als /dev/sdd binnen het Linux-besturingssysteem zich bevindt op LUN1.
sudo ls -alF /dev/disk/azure/scsi1/
total 0
drwxr-xr-x. 2 root root 140 Sep 9 21:54 ./
drwxr-xr-x. 4 root root 80 Sep 9 21:48 ../
lrwxrwxrwx. 1 root root 12 Sep 9 21:48 lun0 -> ../../../sdc
lrwxrwxrwx. 1 root root 12 Sep 9 21:48 lun1 -> ../../../sdd
lrwxrwxrwx. 1 root root 13 Sep 9 21:48 lun1-part1 -> ../../../sdd1
lrwxrwxrwx. 1 root root 12 Sep 9 21:54 lun2 -> ../../../sde
lrwxrwxrwx. 1 root root 13 Sep 9 21:54 lun2-part1 -> ../../../sde1
Een beheerde Azure-schijf uitvouwen
Uitvouwen zonder uitvaltijd
U kunt uw beheerde schijven uitbreiden zonder de toewijzing van de VM ongedaan te maken. De instelling voor de hostcache van uw schijf verandert niet of u een gegevensschijf wel of niet kunt uitbreiden zonder de toewijzing van de VIRTUELE machine ongedaan te maken.
Deze functie heeft de volgende beperkingen.
Belangrijk
Deze beperking geldt niet voor Premium SSD v2 of Ultra Disks.
Als een Standard HDD, Standard SSD of Premium SSD 4 TiB of minder is, moet u uw virtuele machine de-alloceren en de schijf loskoppelen voordat u deze groter maakt dan 4 TiB. Als een van deze schijftypen al groter is dan 4 TiB, kunt u deze uitbreiden zonder de vm te verplaatsen en de schijf los te koppelen.
- Wordt alleen ondersteund voor gegevensschijven.
- Wordt niet ondersteund voor gedeelde schijven.
- Moet zijn geïnstalleerd en een van de volgende opties gebruiken:
- De nieuwste Azure CLI.
- De nieuwste Azure PowerShell-module.
- De Azure Portal.
- Een Azure Resource Manager-sjabloon met een API-versie die
2021-04-01of nieuwer is.
- Is niet beschikbaar op sommige klassieke VM's. Gebruik dit script om een lijst op te halen met klassieke VM-producten die ondersteuning bieden voor uitbreiden zonder uitvaltijd.
Uitbreiden met Ultra Disks en Premium SSD v2
Het uitbreiden van Ultra Disks en Premium SSD v2-schijven zonder downtime heeft de volgende extra beperkingen:
- U kunt een schijf niet uitvouwen terwijl er ook een achtergrondkopie van gegevens op die schijf optreedt. Een voorbeeld is wanneer een schijf wordt teruggevuld vanuit momentopnamen.
U kunt Ultra Disks en Premium SSD v2-schijven die zijn gekoppeld aan VM's uitbreiden met NVMe-controllers zonder uitvaltijd in alle regio's die ondersteuning bieden voor een van deze schijftypen met behulp van de Azure-portal, Azure CLI of de Azure PowerShell-module om de wijziging aan te brengen.
Het duurt maximaal 10 minuten voordat de juiste grootte wordt weergegeven in Virtuele Windows-machines en Linux-VM's. Voor Linux-virtuele machines moet u een Linux rescan-functie uitvoeren. Voor een Windows-VM die geen workload heeft, moet u een Windows-rescan-functie uitvoeren. U kunt direct opnieuw scannen, maar als de tijd binnen 10 minuten ligt, moet u mogelijk opnieuw scannen om de juiste grootte weer te geven. Als een nieuwe scan niet goed werkt, kunt u de scan herhalen of de VIRTUELE machine opnieuw opstarten om de juiste grootte weer te geven.
Beheerde Azure-schijf uitvouwen
Zorg ervoor dat u de nieuwste Azure CLI hebt geïnstalleerd en bent aangemeld bij een Azure-account met behulp van az login.
Voor dit artikel is een bestaande VIRTUELE machine in Azure vereist waarop ten minste één gegevensschijf is gekoppeld en voorbereid. Als u nog geen VM hebt die u kunt gebruiken, raadpleegt u Een virtuele machine maken en voorbereiden met gegevensschijven.
Vervang in de volgende voorbeelden de namen van de tijdelijke aanduidingen, zoals myResourceGroup en myVM , door uw eigen waarden.
Belangrijk
Als uw schijf voldoet aan de vereisten in Uitbreiden zonder uitvaltijd, kunt u stap 1 en 3 overslaan.
Het verkleinen van een bestaande schijf wordt niet ondersteund en kan leiden tot gegevensverlies.
Nadat u de schijven hebt uitgevouwen, vouwt u het volume in het besturingssysteem uit om te profiteren van de grotere schijf.
Bewerkingen op virtuele harde schijven kunnen niet worden uitgevoerd wanneer de virtuele machine wordt uitgevoerd. Maak uw VM vrij met az vm deallocate. In het volgende voorbeeld wordt de VM met de naam myVM in de resourcegroep met de naam myResourceGroup vrijgegeven.
az vm deallocate --resource-group myResourceGroup --name myVMDe VM moet worden vrijgegeven om de virtuele harde schijf te vergroten. Het stoppen van de virtuele machine met
az vm stopgeeft de rekenresources niet vrij. Als u rekenresources wilt vrijgeven, gebruikt uaz vm deallocate.Bekijk een lijst met beheerde schijven in een resourcegroep met az disk list. In het volgende voorbeeld ziet u een lijst met beheerde schijven in de resourcegroep met de naam myResourceGroup:
az disk list \ --resource-group myResourceGroup \ --query '[*].{Name:name,size:diskSizeGB,Tier:sku.tier}' \ --output tableVouw de vereiste schijf uit met az disk update. In het volgende voorbeeld wordt de beheerde schijf met de naam myDataDisk uitgebreid naar 200 GB:
az disk update \ --resource-group myResourceGroup \ --name myDataDisk \ --size-gb 200Wanneer u een beheerde schijf uitvouwt, wordt de bijgewerkte grootte naar boven afgerond op de dichtstbijzijnde beheerde schijfgrootte.
Start uw VM met az vm start. In het volgende voorbeeld wordt de VM met de naam myVM gestart in de resourcegroep met de naam myResourceGroup:
az vm start --resource-group myResourceGroup --name myVM
Een schijfpartitie en bestandssysteem uitvouwen
U kunt veel hulpprogramma's gebruiken om het formaat van partities te wijzigen. De hulpprogramma's die in de rest van dit artikel worden beschreven, zijn dezelfde hulpprogramma's die door bepaalde geautomatiseerde processen worden gebruikt, zoals cloud-init. Zoals hier beschreven, biedt het growpart hulpprogramma met het gdisk pakket universele compatibiliteit met GPT-schijven omdat oudere versies van sommige hulpprogramma's zoals fdisk gpt niet ondersteunen.
Een gewijzigde schijfgrootte detecteren
Als u de eerder genoemde procedure hebt gebruikt om een gegevensschijf uit te breiden zonder uitvaltijd, wordt de gerapporteerde schijfgrootte pas gewijzigd nadat het apparaat opnieuw is gescand. Normaal gesproken wordt alleen opnieuw gescand tijdens het opstartproces. Gebruik de volgende procedure om deze nieuwe scan op aanvraag aan te roepen. Wanneer u de methoden in dit artikel gebruikt, ziet u dat in dit voorbeeld de gegevensschijf momenteel /dev/sda is en het formaat is gewijzigd van 256 GiB naar 512 GiB.
Identificeer de momenteel herkende grootte op de eerste regel van de uitvoer van
fdisk -l /dev/sda.sudo fdisk -l /dev/sdaDisk /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 LinuxVoeg een
1teken in het opnieuw te scannen bestand voor dit apparaat in. Let op de verwijzing naarsdain het voorbeeld. De schijf-id verandert als het formaat van een ander schijfapparaat wordt gewijzigd.echo 1 | sudo tee /sys/class/block/sda/device/rescanControleer of de nieuwe schijfgrootte nu wordt herkend.
sudo fdisk -l /dev/sdaDisk /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
In de rest van dit artikel wordt de besturingssysteemschijf gebruikt voor voorbeelden van de procedure om de grootte van een volume op besturingssysteemniveau te vergroten. Als de uitgebreide schijf een gegevensschijf is, gebruikt u de vorige richtlijnen om het gegevensschijfapparaat te identificeren. Volg deze instructies als richtlijn. Vervang indien nodig het gegevensschijfapparaat (bijvoorbeeld /dev/sda), partitienummers, volumenamen, koppelpunten en bestandssysteemindelingen.
Houd rekening met alle richtlijnen van het Linux-besturingssysteem als algemeen en dat deze mogelijk van toepassing zijn op elke distributie, maar komt over het algemeen overeen met de conventies van de benoemde marketplace-uitgever. Zie de Red Hat-documentatie voor de pakketvereisten voor elke distributie op basis van Red Hat of die red hat-compatibiliteit claimt.
De grootte van de besturingssysteemschijf vergroten
De volgende instructies zijn van toepassing op goedgekeurde Linux-distributies.
Voordat u doorgaat, maakt u een volledige back-up van uw VIRTUELE machine of maakt u ten minste een momentopname van uw besturingssysteemschijf.
Op Ubuntu 16.x en hoger worden de hoofdpartitie van de besturingssysteemschijf en bestandssysteem automatisch uitgebreid voor gebruik van alle vrije aaneengesloten ruimte op de hoofdschijf door cloud-init. Er moet een kleine hoeveelheid vrije ruimte beschikbaar zijn voor de groottebewerking. In dit geval is de volgorde het volgende:
- Vergroot de grootte van de besturingssysteemschijf zoals eerder beschreven.
- Start de VIRTUELE machine opnieuw op en open de VIRTUELE machine met behulp van het hoofdgebruikersaccount .
- Controleer of op de besturingssysteemschijf nu een grotere bestandsgrootte wordt weergegeven.
Zoals in het volgende voorbeeld wordt weergegeven, is de besturingssysteemschijf via het portaal naar 100 GB vergroot. Het /dev/sda1 bestandssysteem dat is gekoppeld op /, wordt nu weergegeven als 97 GB.
df -Th
Filesystem Type Size Used Avail Use% Mounted on
udev devtmpfs 314M 0 314M 0% /dev
tmpfs tmpfs 65M 2.3M 63M 4% /run
/dev/sda1 ext4 97G 1.8G 95G 2% /
tmpfs tmpfs 324M 0 324M 0% /dev/shm
tmpfs tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs tmpfs 324M 0 324M 0% /sys/fs/cgroup
/dev/sda15 vfat 105M 3.6M 101M 4% /boot/efi
/dev/sdb1 ext4 20G 44M 19G 1% /mnt
tmpfs tmpfs 65M 0 65M 0% /run/user/1000
user@ubuntu:~#
Uitbreiden zonder downtime ondersteuning voor klassieke VM SKU's
Als u een klassieke VM-SKU gebruikt, biedt dit mogelijk geen ondersteuning voor het uitbreiden van schijven zonder downtime.
Gebruik het volgende PowerShell-script om te bepalen met welke VM-SKU's deze beschikbaar is:
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
}
}
}