Op mijn 240 GB SSD had ik in eerste instantie twee partities, een met het logische volume met Linux Mint en de andere met een NTFS-partitie om te delen met Windows .
Nu heb ik de NTFS-partitie verwijderd en wil ik mijn logische volumegroep uitbreiden om de vrijgekomen schijfruimte te gebruiken.
Hoe kan ik breid de volumegroep uit , mijn logisch volume met / home en de bestandssysteem (ext4) op / home? Is dit mogelijk online?
PS: Ja, ik weet dat ik een back-up van mijn gegevens moet maken 🙂
/dev/sdb/ (240GB) linuxvg (160GB) should use 100% of the disk space swap root home (ext4, 128GB) should be extended to use the remaining space
uitvoer van sudo vgdisplay
:
--- Volume group --- VG Name linuxvg System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 4 VG Access read/write VG Status resizable MAX LV 0 Cur LV 3 Open LV 3 Max PV 0 Cur PV 1 Act PV 1 VG Size 160,00 GiB PE Size 4,00 MiB Total PE 40959 Alloc PE / Size 40959 / 160,00 GiB Free PE / Size 0 / 0 VG UUID ... --- Logical volume --- LV Path /dev/linuxvg/swap LV Name swap VG Name linuxvg LV UUID ... LV Write Access read/write LV Creation host, time mint, 2013-08-06 22:48:32 +0200 LV Status available # open 2 LV Size 8,00 GiB Current LE 2048 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 252:0 --- Logical volume --- LV Path /dev/linuxvg/root LV Name root VG Name linuxvg LV UUID ... LV Write Access read/write LV Creation host, time mint, 2013-08-06 22:48:43 +0200 LV Status available # open 1 LV Size 24,00 GiB Current LE 6144 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 252:1 --- Logical volume --- LV Path /dev/linuxvg/home LV Name home VG Name linuxvg LV UUID ... LV Write Access read/write LV Creation host, time mint, 2013-08-06 22:48:57 +0200 LV Status available # open 1 LV Size 128,00 GiB Current LE 32767 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 252:2 --- Physical volumes --- PV Name /dev/sdb1 PV UUID ... PV Status allocatable Total PE / Free PE 40959 / 0
uitvoer van sudo fdisk -l
:
Disk /dev/sdb: 240.1 GB, 240057409536 bytes 255 heads, 63 sectors/track, 29185 cylinders, total 468862128 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 Device Boot Start End Blocks Id System /dev/sdb1 1 468862127 234431063+ ee GPT Disk /dev/mapper/linuxvg-swap: 8589 MB, 8589934592 bytes 255 heads, 63 sectors/track, 1044 cylinders, total 16777216 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 Disk /dev/mapper/linuxvg-root: 25.8 GB, 25769803776 bytes 255 heads, 63 sectors/track, 3133 cylinders, total 50331648 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 Disk /dev/mapper/linuxvg-home: 137.4 GB, 137434759168 bytes 255 heads, 63 sectors/track, 16708 cylinders, total 268427264 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000
Reacties
Antwoord
U kunt dit vrij eenvoudig doen. Een beetje verbaasd dat hier al geen antwoord op was.
Je kunt dit hele proces uitvoeren terwijl je draait op het bestandssysteem waarvan je de grootte wilt wijzigen (ja, het is veilig en wordt volledig ondersteund). Er zijn geen reddings-cds of alternatieve besturingssystemen nodig.
- Verander de grootte van de partitie (nogmaals, u kunt dit doen terwijl het systeem draait). GParted is gebruiksvriendelijk en ondersteunt formaataanpassing.
U kunt ook een tool op een lager niveau gebruiken, zoalsfdisk
. Maar je zult de partitie moeten verwijderen en opnieuw maken. Zorg ervoor dat de nieuwe partitie start op exact dezelfde locatie. - Start opnieuw op. Omdat de partitietabel is gewijzigd op het actieve systeem, het wordt pas van kracht als het opnieuw wordt opgestart.
- Voer
pvresize /dev/sdXY
uit om LVM de nieuwe ruimte te laten ophalen. - Wijzig de grootte van het logische volume met
lvextend
. Als je het hele ding wilt gebruiken,lvextend -r -l +100%FREE /dev/VGNAME/LVNAME
. De-r
zal ook de grootte van het bestandssysteem wijzigen.
Hoewel ik altijd afraad om de hele volumegroep te gebruiken. Je weet nooit wat je in de toekomst nodig zult hebben. Je kunt later altijd uitbreiden, je kunt niet verkleinen.
Reacties
- Ik zou graag je antwoord willen accepteren, maar ik heb ‘ niet gewerkt zoals je had voorgesteld, omdat GParted ‘ t wijzig de grootte van de rootpartitie op een actief systeem (althans in mijn geval).
- @HalosGhost Ik heb je bewerking teruggedraaid.
partprobe -s
doet niet wat u denkt dat het doet. De kernel neemt geen formaatwijziging op van een partitie die in gebruik is.partprobe -s
werkt alleen als de partitie in gebruik was tijdens het wijzigen van de grootte (dus toen fdisk de kernel meldde dat het mislukte), maar het is niet langer. - @Patrick, Ik heb het idee er niet aan toegevoegd; Ik ” verbeterde ” de bewerking door het commando in backticks te plaatsen (de oorlog om code ontsnapt aan loon!).
- Oh, sorry, lees de naam van de verkeerde geschiedenisgebeurtenis. @Qetesh dat op jou van toepassing is 🙂
- Het is ‘ mogelijk om helemaal niet opnieuw op te starten met ” partx -u ” voor stap 2, om de kernel te vertellen de partitie te updaten ‘ s grootte: werkt zelfs op actieve partities en kan geverifieerd door /sys/…/sdXY/size voor en na te controleren.
Antwoord
Geen van de antwoorden doen recht aan de kracht van LVM.
(Dit is gebaseerd op @frostchutz commentaar op de bovenstaande vraag.)
Laten we de feiten eens bekijken:
- OP heeft twee partities, sdb1 en sdb2 is een fysiek volume voor LVM.
- sdb1 is nu ntfs, we moeten die ruimte geven aan
home
logisch volume binnenlinuxvg
volumegroep.
LVM-stappen met behulp van de ” pragmatische manier “:
- maak fysiek volume op sdb1:
pvcreate /dev/sdb1
- voeg s toe db1 naar
linuxvg
:vgextend linuxvg /dev/sdb1
- logisch volume uitbreiden
home
met alle vrije ruimte:lvextend -r -l +100%FREE /dev/linuxvg/home
LVM staat een groot niveau van indirecte toe. Een logisch volume bevindt zich in een volumegroep, die mogelijk meerdere schijven gebruikt.
home – > linuxvg – > (sdb1, sdb2, sdc1)
http://tldp.org/HOWTO/LVM-HOWTO/createvgs.html
Reacties
- Het werkte, bedankt. Ik heb
lvresize -l +100%FREE ...
gebruikt in plaats van het laatste 2 commando lvextend + resizefs - Goed om te weten, bedankt voor het delen van @AlessandroDentella!
- Als je toevoegt
-r
naar het lvextend commando, het zal automatisch ook het bestandssysteem uitbreiden. Dus:lvextend -r -l +100%FREE /dev/linuxvg/home
en je kunt deresize2fs
- Bijgewerkt vermijden. Bedankt! @lucaferrario
Answer
De vraag is opgelost na het lezen van deze blogpost. Ik zal de oplossing in korte vorm schrijven:
- start op vanaf een live cd met
- gebruik
gdisk
(als je GPT gebruikt ) anders zou je kunnen gaan met good oldfdisk
- noteer je partitie-instellingen, in mijn geval
gdisk -l /dev/sdb
- verwijder je partitie met
- maak een nieuwe partitie met exact dezelfde uitlijning als de vorige (in mijn voorbeeld beginnend bij blok 2048)
- schrijf je nieuwe partitietabel
- voer
partprobe -s
uit om de partitietabel te vernieuwen zonder opnieuw op te starten - wijzig de grootte van uw fysieke volume met
pvresize /dev/sdb1
of waar uw pv zich ook bevindt (gebruikpvs
om te bepalen of u het niet weet) - wijzig nu het formaat van uw logische volume met
lvextend -l +100%FREE /dev/file/of/your/lv
, in mijn gevalsudo lvextend -l +100%FREE /dev/linuxvg/home
- wijzig eerst de grootte van het bestandssysteem
sudo resize2fs /dev/linuxvg/home
- controleer de consistentie
sudo e2fsck -f /dev/linuxvg/home
- geniet 🙂
Commen ts
- Eigenlijk kun je ongeveer de helft van die stappen verwijderen en het doen met slechts 1 keer opnieuw opstarten.
- GParted weigerde de grootte van de partitie te wijzigen, omdat dat zo was vergrendeld (dit sleutelsymbool).
Antwoord
Al enkele geweldige antwoorden.
Als je xfs gebruikt, gebruik dan het commando
xfs_growfs /mountpoint
in plaats van resize2fs. Je kunt dat doen terwijl dat mountpoint is actief, zoals wanneer u “de rootpartitie hebt gegroeid en u daarna niet opnieuw hoeft op te starten.
vgextend
gebruikt, in plaats van de partitie volledig te verwijderen. Als je in plaats daarvan de bestaande PV-partitie laat groeien, moet je waarschijnlijk opnieuw opstarten, aangezien Linux weigert de partitietabel opnieuw te lezen terwijl de schijf in gebruik is. Hier online omheen werken is lastig. – Toon alstublieft uw huidige partitietabel.