Vraag Hoe kan ik de grootte van een LVM-partitie wijzigen? (d.w.z. fysiek volume)


Ik wil mijn tweede (LVM) partitie verkleinen, om een ​​nieuwe partitie te maken in de nieuw bevrijde ruimte. Ik gebruik de Live-cd om dit te doen, omdat ik weet dat ik deze grootte niet kan wijzigen / verplaatsen als deze in gebruik is. Toen ik GParted op de Live-CD opende, besefte ik dat ik de grootte van de partitie niet kon veranderen, want toen ik er met de rechtermuisknop op klikte, werd de optie "vergroten / verkleinen / verplaatsen" uitgeschakeld.

Ik probeerde het te ontkoppelen, om het "lui" te ontkoppelen (umount -l /dev/sda2) maar het werkte niet.

Een screenshot van GParted:

GParted screenshot


77
2017-10-03 21:20


oorsprong




antwoorden:


Er lijken op Google veel resultaten te zijn waar mensen vergelijkbare problemen hadden. Een voorbeeld:

Maak een back-up van al uw belangrijke gegevens voordat u dit probeert. Ga er altijd vanuit dat u al uw gegevens kunt verliezen bij het wijzigen van de grootte van partities.

LVM verkleinen zonder dataloss

Deze forumthread suggereert de volgende procedure, in dit voorbeeld krimpen we een partitie van 10G naar 9G:

Eerst ontkoppelen we.

sudo umount /dev/vg_blah/lv_blah

Controleer het bestandssysteem.

sudo e2fsck -f /dev/vg_blah/lv_blah

Wijzig het formaat van het bestandssysteem en het logische volume. Als u dit in één stap doet, kunt u fouten voorkomen die gegevensverlies veroorzaken. (Let op de parameter lvreduce -L interpreteert G als 2 ^ 30 bytes en g als 10 ^ 9 bytes.)

sudo lvreduce --resizefs -L 9G /dev/vg_blah/lv_blah

(optioneel) Verwijder desgewenst een fysieke schijf van de volumegroep (als u nu een ongebruikte schijf hebt).

sudo vgreduce vg_blah /dev/sdxy

Alle eer gaat naar brianmcgee.

Notitie: vgreduce zal falen met cannot resize to xxxxx extents as later ones are allocated als u nog een lv aan het einde van de schijf hebt - ik had een swap lv, die ik verwijderde. Zien Hoe Ubuntu LVM logische en fysieke volumes verkleinen? voor hulp bij die situatie.


42
2017-10-03 21:53



e2fsck -f /dev/vg_blah/lv_blah retourneert: "e2fsck: apparaat of resource bezig tijdens het openen van / dev / sda2 bestandssysteem dat uitsluitend is gemount of geopend door een ander programma?", hetzelfde met resize2fs ... - Idan Yadgar
Het antwoord ontbreekt in het wijzigen van het fysieke volume. Ik raad ten zeerste aan de twee stappen voor het wijzigen van de grootte samen te voegen tot één lvreduce -r. - Flimm
Ook moet je je dat realiseren 1G naar lvreduce is 1000000000 bytes, terwijl voor resize2fs het is een gibibyte. Als u 1 gibibyte wilt doorgeven aan lvreduce, gebruik 1g in plaats daarvan. - Flimm
Je gebruikt het niet vgreduce; dat is voor Verwijderen een pv uit een volumegroep. - psusi
Ik vermoed het sterk lvreduce gebruikt G = gibibyte in differentiële modus. Het doet zeker in de absolute modus. De man-pagina's zijn slecht geschreven en leggen niet uit wat hun eenheden betekenen, wat ik beschouw als grenzend aan criminele nalatigheid. - Urhixidur


U kunt een logisch volume heel gemakkelijk verkleinen / vergroten met een GUI-tool: system-config-lvm. Omdat system-config-lvm wordt niet vooraf geïnstalleerd, eenmaal gestart vanaf een live-cd moet je het installeren:

sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc) universe"
sudo apt-get update
sudo apt-get install system-config-lvm

Nadat het is geïnstalleerd, voert u het programma uit, selecteert u het logische volume dat u wilt wijzigen in het linkerdeelvenster en klikt u op 'Eigenschappen bewerken'.

Main Logical Volume Management program GUI

Verander nu de parameters zoals u wenst!

Edit Logical Volume window

Eén goede zaak system-config-lvm is dat het je niet zal toestaan ​​door te gaan als de nieuwe partitiegrootte kleiner is dan al je bestaande gegevens gecombineerd (ik heb dit zojuist geprobeerd en voor mezelf gezien).

Referenties:

  1. How-To Geek tutorial (dit is de oorsprong van de afbeeldingen).
  2. De complete gids van Red Hat voor het programma.

41
2018-06-30 09:33



GUI is absoluut de manier om te gaan, maar je zult het waarschijnlijk van een live CD moeten halen. - Mike
waarom is system-config-lvm risicovoller dan lvresize of lvresize -r? - Thufir
Je zou het ook kunnen proberen blivet-gui (github, Ubuntu PPA), de next-gen partitiemanager die LVM-schijven verwerkt. - bain
Pas op dat system-config-lvm powers-of-1024-eenheden gebruikt, ondanks het gebruik van de (onjuiste) 'gigabyte'-formulering. Het zou echt moeten doen zoals palimpsest (a.k.a. Schijfhulpprogramma) en specificeer de betekenis ervan in ondubbelzinnige bytes. - Urhixidur
@Suncatcher op 17.10 en 18.04 moet je de Xenial-repository toevoegen. sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu xenial universe" - m93a


Notitie: U zou bijna alle volgende opdrachten moeten uitvoeren met behulp van een Live-CD. Soms wil het je de partitie ontkoppelen die al gemount is op / (in dit geval kan je het niet ontkoppelen).

Dit zijn alle stappen die nodig zijn om het formaat van een LVM- of LVM2-partitie te wijzigen:

sudo lvresize --verbose --resizefs -L -150G /dev/mapper/ubuntu

sudo pvresize --setphysicalvolumesize {some-space} /dev/sda5

Als de tweede opdracht zoiets produceert:

/dev/sda5: cannot resize to xxxxx extents as later ones are allocated.

Vervolgens moet u de niet-toegewezen ruimte opnieuw rangschikken aan het einde van de LVM. Dat betekent na root en swap_1 partitie. In eerste instantie moet u de informatie over fysieke volumes controleren met behulp van de onderstaande opdracht:

sudo pvs -v --segments /dev/sda5

Dit toont de uitvoer zoals:

/dev/sda5 ubuntu lvm2 a-- 698.04g 150g   0 xxx root 0 linear /dev/sda:0-rrr
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g xxx sss 0 free                          
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g zzz ttt swap 0 linear /dev/sda5:yyy-www

Merk op yyy-www. Gebruik de volgende opdracht om externe fragmentatie te verwijderen:

sudo pvmove --alloc anywhere /dev/sda5:yyy-www

Laten we nu kijken hoe het gaat:

sudo pvs -v --segments /dev/sda5

Dit zal de uitvoer tonen zoals (let op de veranderingen):

/dev/sda5 ubuntu lvm2 a-- 698.04g 150g   0 xxx root 0 linear /dev/sda:0-rrr
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g xxx ttt swap 0 linear /dev/sda5:xxx-sss
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g yyy www 0 free

Gebruik daarna de GParted en verklein de LVM naar het maximaal gebruikte gebied en rust in niet-toegewezen ruimte. Genieten...


18
2018-04-02 06:42





Ik zou een andere GUI-tool aanraden - KVPM. Het combineert functionaliteit van GParted en system-config-lvm. Bovendien staan ​​sommige bewerkingen op live (gekoppelde) partities systeem-config-lvm toe staat niet toe  Het volume moet echter worden gedeactiveerd om te krimpen.

enter image description here enter image description here

Het bevindt zich in de universe-repository sinds Ubuntu 12.04, dus doe het gewoon sudo apt-get install kvpm

Opmerking: begin met rootrechten sudo kvpm


11
2018-01-15 12:01



het staat niet in de universe-repository: E: Unable to locate package kvpm - Jeff Puckett
Er is een lijst met repositories waarvan kvpm deel uitmaakt - Kos
Dit werkte voor mij, waar de "system-config-lvm" geen aangesloten apparaten / stations / bestandssystemen laadde. Met de toegevoegde bonus dat je niet hoeft te downloaden en extra repository en vooraf moet worden geconfigureerd op mijn Ubuntu-machine. Werkte ook over Gparted omdat er spugfouten waren over het te veel verkleinen van het bestandssysteem. (Ik verander de grootte van een RetroOrangepi SD-kaart van 32 GB naar 8 GB voor back-updoeleinden) - BiTinerary


Alleen de nieuwste versie van Gparted (0.14) ondersteunt het wijzigen van fysieke LVM-volumes. De versie die wordt geleverd met Ubuntu 12.10 of 13.04 ondersteunt dit niet.

Hier ziet u hoe u het formaat van een fysiek LVM-volume aanpast:

  1. Als de volumegroep die is gekoppeld aan het fysieke LVM-volume niet voldoende niet-toegewezen ruimte heeft, moet u een aantal maken door een logisch volume te verkleinen. Kijk naar antwoord van bigbadonk420 voor instructies over hoe dat te doen. U kunt ook GNOME-schijven (meegeleverd met Ubuntu) gebruiken voor enkele van de stappen als u een GUI verkiest.

  2. Verbrand de laatste .iso-afbeelding van de website van GParteden brand het op een CD of zet het op een USB-stick. Start op van de CD of de USB-stick. Als alternatief zou je de nieuwste versie van GParted vanaf de bron kunnen compileren.

  3. Gebruik GParted om het fysieke LVM-volume te wijzigen. GParted laat je het fysieke LVM-volume niet verkleinen tot een kleiner formaat dan wat de niet-toegewezen ruimte toestaat.


10
2017-11-28 17:03



Bedankt Flimm. Ik verwachtte 12.10 om een ​​recent genoeg versie van gparted te hebben. Je antwoord wees me in de goede richting. - Martijn Heemels
Ik heb de nieuwste gparted, maar het laat me niet de partitiegroottes veranderen ... Ik heb / dev / sda2 van het type ext2 en daaronder, / dev / sda5 van het type lvm2. Maar gparted zegt dat beide min- en max-maten hetzelfde zijn, en daarom niet toestaan ​​dat ik het verander ... :-( - Paul
Of gebruik pvresize van de LVM2-suite, toch? - uprego
@Paul heb je het opgelost? Ik heb precies hetzelfde probleem: S - Castiblanco
@Castiblanco Ik heb het niet opgelost, ik heb uiteindelijk de hele dingen afgeveegd en het opnieuw geïnstalleerd zonder LVM. Voor mij is een les geleerd: gebruik LVM niet voor standaard desktopinstallaties. - Paul


Ik vond dit antwoord per ongeluk, maar dit werkte tenminste voor mij. In mijn geval had ik al een gereserveerde niet-toegewezen schijfruimte achter de root, dus sla ik het gedeelte over hoe je meer ruimte krijgt en leg je uit hoe ik het op de root gebruikte zonder te booten.

OPMERKING: in plaats van gebruiken gparted, je bent waarschijnlijk beter af met gebruiken system-config-lvm. De volgende keer zou ik die in plaats daarvan gebruiken ... Mijn versie met randje was 0.18.

  1. Eerst gebruikte ik gparted om de rootpartitie zo veel mogelijk uit te breiden. Tot mijn verbazing heeft het alleen de fysieke afmetingen uitgebreid en niets gedaan met het logische gedeelte. Zo df -k commando zei dat de schijf nog steeds vol was.
  2. lvresize -l +100%FREE /dev/ubuntu-vg/root breidt de logische partitie zo ver mogelijk uit. U hoeft GB's of blokken niet op verschillende manieren te controleren en te berekenen.
  3. resize2fs /dev/ubuntu-vg/root is dan de derde stap die ik deed: het breidt het bestandssysteem uit tot de grootte van de logische partitie.

De laatste stap kan worden samengevoegd in de tweede:

lvresize -l +100%FREE --resizefs /dev/ubuntu-vg/root


8
2017-09-29 10:09



Hiermee kunt u een logisch volume verkleinen, maar de vraag van het OP gaat over het verkleinen van een fysiek volume. - Stefan
je hebt mijn leven gered - Quang Hà


Waarschuwing voor de stemmen die momenteel het meest worden gestemd antwoord: Naar NIET vernietig je nieuwe standaardinstallatie met de LVM-optie (14.04 Trusty Tahr), 1) lees de hele pagina, 2) verwijder swap 3) en wijzig waarschijnlijk de opdracht voor "Verklein de grootte van het logische volume" als volgt:

lvreduce -L -1g /dev/vg_blah/lv_blah

Ik raad je sterk aan system-config-lvm.


0
2018-05-02 15:13



Nogmaals, het OP wil a verminderen fysiek volume. - Stefan


In aanvulling op de @ bigbadonk420's antwoord, In plaats van het volgende te doen:

resize2fs -p /dev/vg_blah/lv_blah 9G
lvreduce -L -1G /dev/vg_blah/lv_blah

Do:

lvreduce -r -L 9G /dev/vg_blah/lv_blah

Merk op -r waarmee het bestandssysteem tegelijkertijd wordt verkleind en veilig is.


0
2017-10-30 11:17



Maar dat verkleint niet het fysiek volume. - Stefan


Om dat te doen met GParted, klik je met de rechtermuisknop op dev / sda2 (die je wilt verkleinen). Selecteer 'Deactiveren'. Nu kun je de grootte van je lvm-partitie aanpassen.

Update: @Cao Min Tu-oplossing is veel beter. Ik had weinig problemen met GParted na het wijzigen van de grootte


0