Je hebt een virtuele schijf uitgebreid, maar df -h Het toont altijd dezelfde grootte. Bij LVM is dit normaal als alleen de fysieke laag is gewijzigd. De schijf, partitie, fysiek volume, volumegroep, logisch volume en bestandssysteem zijn verschillende elementen.
De bestelling lvextend Het lost dus niet alle problemen op zichzelf op. Voordat je het gebruikt, moet je de vrije ruimte lokaliseren en het bestandssysteem identificeren dat je wilt uitbreiden. Ik raad je ook aan om je back-up te controleren voordat je verdergaat. LVM maakt het gemakkelijk om een volume uit te breiden, maar het beschermt je gegevens niet tegen apparaatfouten.

Identificeer de LVM-lagen voordat u de grootte wijzigt.
Een typisch LVM-opslagsysteem volgt deze keten:
- een schijf of een partitie, bijvoorbeeld
/dev/nvme0n1p3; - A fysiek volume (PV) gemaakt op dit apparaat;
- A volumegroep (VG) die een of meer PV’s samenbrengt;
- A logisch volume (LV) gesneden uit de VG;
- een ext4-, XFS- of ander bestandssysteem, gekoppeld in een map.
Begin met het weergeven van de volledige keten. Vervang geen namen voordat u het montagepunt aan de juiste LV en PV hebt gekoppeld:
lsblk -o NAME,PATH,SIZE,TYPE,FSTYPE,MOUNTPOINTS,MODEL
findmnt -no SOURCE,FSTYPE,TARGET /srv/data
sudo pvs -o pv_name,pv_size,pv_free,vg_name
sudo vgs -o vg_name,vg_size,vg_free
sudo lvs -a -o lv_name,vg_name,lv_size,lv_path,devices
df -hT /srv/data
In de volgende voorbeelden wordt de groep genoemd vgdata, het logische volume lvdata en het montagepunt /srv/dataGebruik de waarden die uw machine rapporteert. De handleiding over lsblk onder Linux Dit is handig als de mappenstructuur een mix is van partities, versleuteling en logische volumes.
Maak een back-up van LVM-gegevens en -metadata.
Een kopie van de LVM-metadata vervangt geen bestandsback-up. Controleer eerst of belangrijke gegevens op een ander opslagmedium aanwezig zijn en of deze herstelbaar zijn. Maak vervolgens een back-up van de configuratie van de volumegroep.
sudo vgcfgbackup -f /root/vgdata-$(date +%F-%H%M).conf vgdata
sudo lvs -a -o lv_name,vg_name,lv_size,segtype,devices
sudo pvs -o pv_name,pv_uuid,pv_size,pv_free,vg_name
Bewaar ook de uitvoer van deze commando’s in uw interventierapport. Houd op een externe server waar de rootdirectory of kritieke gegevens zich bevinden een tweede SSH-sessie open en controleer de toegang tot de console van de provider. Een extensie vereist doorgaans geen herstart, maar een fout in de partitie of de versleutelingslaag kan uw toegang blokkeren.
Geval 1: De volumegroep heeft al vrije ruimte.
Kijk naar de kolom VGratis van vg. Als vgdata Als je al minstens 10 GB vrije ruimte hebt, kun je de LV-extensie testen zonder metadata te schrijven:
sudo vgs -o vg_name,vg_size,vg_free
sudo lvextend --test -L +10G /dev/vgdata/lvdata
De modus --test Het voorkomt het schrijven van metadata, maar simuleert niet alle bijwerkingen. Controleer het pad en de grootte nogmaals, en voer vervolgens de daadwerkelijke extensie uit:
sudo lvextend -L +10G /dev/vgdata/lvdata
sudo lvs -o lv_name,vg_name,lv_size,lv_path,devices /dev/vgdata/lvdata
De handleidingpagina van lvextend biedt ook aan -l +100% GRATISDeze optie verbruikt alle vrije ruimte in de VG. Ik gebruik hem niet standaard: het behouden van wat ruimte maakt toekomstige uitbreidingen of het aanmaken van een nieuw volume gemakkelijker.
Vervolgens moet je het ext4- of XFS-bestandssysteem uitbreiden.
In dit stadium is de LV groter, maar df -h Het kan nog steeds de oude capaciteit weergeven. Het bestandssysteem moet nog worden vergroot. Controleer het type in plaats van het af te leiden uit de volumenaam:
findmnt -no SOURCE,FSTYPE,TARGET /srv/data
lsblk -f /dev/vgdata/lvdata
Voor een bestandssysteem ext4, gebruik resize2fs op het logische volume:
sudo resize2fs /dev/vgdata/lvdata
De online extensie werkt op moderne ext4-systemen wanneer deze is aangekoppeld. Als de tool offline beheer vereist of als het bestandssysteem oud is, plan dan onderhoud in in plaats van de extensie af te dwingen. Raadpleeg de documentatie voor beperkingen. resize2fs.
Voor XFSRicht op het bevestigingspunt, niet op het apparaat:
sudo xfs_growfs /srv/data
Voor deze bewerking moet XFS aangekoppeld zijn en kan het bestandssysteem niet verkleinen. De manpagina voor xfs_growfs Deze beschrijving geeft details over deze bewerking. Pas deze commando’s niet toe op Btrfs, ZFS, LUKS of een RAID-stack: elke laag heeft zijn eigen procedure.
lvextend -r LVM kan, indien ondersteund, zowel het LVM-bestandssysteem als het bestandssysteem in één commando uitbreiden. Voor gevoelige bewerkingen geef ik er de voorkeur aan om deze twee stappen te scheiden. Zo kunt u direct zien of de LVM-bewerking succesvol is verlopen en of de uitbreiding van het bestandssysteem nog nodig is.
Geval 2: De schijf is groter geworden, maar de PV heeft zijn oorspronkelijke grootte behouden.
Dit is een veelvoorkomend probleem na het vergroten van de schijfgrootte in een hypervisor. lsblk kan een grotere schijf weergeven terwijl pv Geeft geen extra vrije ruimte aan.
Als de PV afhankelijk is van een partitie, moet die partitie eerst de nieuwe schijfruimte in beslag nemen. Start de applicatie niet. pvregrootte voordat hij zijn nieuwe limiet bevestigde met lsblk en de partitioneringstool. De handleiding over uit elkaar gegaan onder Linux Dit legt uit hoe je de schijf kunt identificeren, de tabel kunt opslaan en de wijzigingen kunt terugdraaien zonder een nieuw bestandssysteem aan te maken.
Zodra de LVM-partitie daadwerkelijk is vergroot, test u de grootte van de PV en past u deze vervolgens aan:
sudo pvs -o pv_name,pv_size,pv_free,vg_name
sudo pvresize --test /dev/nvme0n1p3
sudo pvresize /dev/nvme0n1p3
sudo vgs -o vg_name,vg_size,vg_free
De nieuwe vaardigheid moet verschijnen in VGratisU kunt dan terugkeren naar lvextendbreid vervolgens het bestandssysteem uit. De documentatie voor pvregrootte Dit bevestigt dat de tool een bestaand PV-bestand aanpast zonder automatisch andere lagen te verplaatsen.
Als de PV de volledige schijf gebruikt, als LUKS zich tussen de partitie en LVM bevindt, of als u een nieuwe schijf aan de VG toevoegt, verandert de volgorde. Stop zodra de weergegeven tekenreeks verschijnt. lsblk Dit komt niet overeen met het voorbeeld. Een correct commando dat op de verkeerde laag wordt uitgevoerd, is nog steeds een slechte ingreep.
Controleer de afmetingen op elk niveau na de uitbreiding.
Controleer tot slot de PV tot aan het montagepunt. Vertrouw niet alleen op het succesbericht. lvextend :
sudo pvs -o pv_name,pv_size,pv_free,vg_name
sudo vgs -o vg_name,vg_size,vg_free
sudo lvs -o lv_name,vg_name,lv_size,lv_path,devices
findmnt -no SOURCE,FSTYPE,TARGET /srv/data
df -hT /srv/data
systemctl --failed
journalctl -k --since "-10 min" -p warning..alert --no-pager
Als lvs geeft de nieuwe grootte weer, maar niet… df, niet uitvoeren lvextend Probeer het nogmaals. Het bestandssysteem is waarschijnlijk nog niet uitgebreid, of u gebruikt een ander koppelpunt. vind En lsblk -f voordat u een nieuwe bestelling plaatst.