Come posso ridimensionare una partizione LVM? (es .: volume fisico)


89

Voglio ridurre la mia seconda partizione (LVM), al fine di creare una nuova partizione nello spazio appena liberato. Sto usando il Live CD per farlo, perché so che non posso ridimensionare / spostare questa partizione mentre è in uso. Quando ho aperto GParted nel Live CD, mi sono reso conto che non potevo ridimensionare la partizione, perché quando faccio clic con il tasto destro del mouse su di essa, l'opzione "ridimensiona / sposta" è disabilitata.

Ho provato a smontarlo, a "pigro" smontarlo ( umount -l /dev/sda2) ma non ha funzionato.

Uno screenshot di GParted:

Screenshot di GParted

Risposte:


49

Sembra che ci siano molti risultati su Google in cui le persone hanno avuto problemi simili. Un esempio:

Eseguire il backup di tutti i dati importanti prima di tentare. Supponi sempre che puoi perdere tutti i tuoi dati quando ridimensioni le partizioni.

Riduci LVM senza perdita di dati

Questo thread del forum suggerisce la seguente procedura, in questo esempio riduciamo una partizione da 10G a 9G:

Innanzitutto, smontiamo.

sudo umount /dev/vg_blah/lv_blah

Controlla il file system.

sudo e2fsck -f /dev/vg_blah/lv_blah

Ridimensiona il file system e il volume logico. In questo modo, è possibile evitare errori che causano perdita di dati. (Nota: il parametro lvreduce -Linterpreta Gcome 2 ^ 30 byte e gcome 10 ^ 9 byte).

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

(facoltativo) Rimuovere un'unità fisica dal gruppo di volumi, se lo si desidera (se si dispone ora di un'unità inutilizzata).

sudo vgreduce vg_blah /dev/sdxy

Tutto il merito va a brianmcgee .

Nota: vgreducefallirà con cannot resize to xxxxx extents as later ones are allocatedse hai un altro LV alla fine del disco - ho avuto un SW Swap, che ho eliminato. Vedi Come ridurre i volumi logici e fisici di Ubuntu LVM? per aiuto in quella situazione.


1
e2fsck -f /dev/vg_blah/lv_blahrestituisce: "e2fsck: dispositivo o risorsa occupata durante il tentativo di aprire / dev / sda2 Filesystem montato o aperto esclusivamente da un altro programma?", lo stesso con resize2fs ...
Idan Yadgar

12
Manca la risposta su come ridimensionare il volume fisico. Inoltre, consiglio vivamente di combinare i due passaggi di ridimensionamento in uno con lvreduce -r.
Flimm,

4
Inoltre, è necessario rendersi conto che 1Gto lvreduceè 1000000000 byte, mentre per resize2fsesso è un gibibyte. Se vuoi passare 1 gibibyte a lvreduce, usa 1ginvece.
Flimm,

1
Non usi vgreduce; quello è per rimuovere un pv da un gruppo di volumi.
psusi,

2
Sospetto fortemente che lvreduceusi G = gibibyte in modalità differenziale. Lo fa certamente in modalità assoluta. Le sue pagine man sono scritte male e non spiegano il significato delle loro unità, che considero al confine con la negligenza criminale.
Urhixidur,

45

È possibile ridurre / estendere un volume logico molto facilmente con uno strumento GUI: system-config-lvm. Perché system-config-lvmnon viene preinstallato, una volta avviato da un live-cd, è necessario installarlo:

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

Una volta installato, eseguire il programma, selezionare il volume logico che si desidera modificare nel pannello di sinistra, fare clic su "Modifica proprietà".

GUI principale del programma di gestione del volume logico

Ora cambia i parametri come desideri!

Finestra Modifica volume logico

Una cosa positiva system-config-lvmè che non ti permetterà di andare avanti se la nuova dimensione della partizione è più piccola di tutti i tuoi dati esistenti combinati (l'ho appena provato e ho visto di persona).

Riferimenti:

  1. Tutorial How-To Geek (questa è l'origine delle immagini).
  2. La guida completa di Red Hat per il programma.

2
La GUI è sicuramente la strada da percorrere, tuttavia sarà probabilmente necessario eseguirla da un CD live.
Mike,

10
perché è system-config-lvmpiù rischioso di lvresizeo lvresize -r?
Giovedì

1
Puoi anche provare blivet-gui ( github , Ubuntu PPA ), il gestore delle partizioni di nuova generazione che gestisce le unità LVM.
bain

5
Fai attenzione che system-config-lvm utilizza unità di potenza di 1024, nonostante usi il termine (errato) "gigabyte". Dovrebbe davvero fare come palimpsest(aka Utility Disco) e specificare il suo significato in byte non ambigui.
Urhixidur,

4
@Suncatcher su 17.10 e 18.04 devi aggiungere il repository Xenial. sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu xenial universe"
m93a,

24

Nota : è necessario eseguire quasi tutti i seguenti comandi utilizzando un Live CD. A volte, vuole che tu smonti la partizione che è già montata su / (in questo caso, non puoi smontarla).

Questi sono tutti i passaggi necessari per ridimensionare una partizione LVM o LVM2:

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

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

Se il secondo comando produce qualcosa del genere:

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

Quindi, è necessario riorganizzare lo spazio non allocato alla fine di LVM. Ciò significa che dopo la partizione root e swap_1. Quindi, inizialmente, è necessario controllare le informazioni sui volumi fisici usando il comando seguente:

sudo pvs -v --segments /dev/sda5

Questo mostrerà l'output come:

/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

Nota yyy-www . Utilizzare il comando seguente per rimuovere la frammentazione esterna:

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

Ora vediamo come va:

sudo pvs -v --segments /dev/sda5

Questo mostrerà l'output come (notare le modifiche):

/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

Dopodiché, usa GParted e ridimensiona LVM nell'area massima utilizzata e il resto sarà nello spazio non allocato. Godere...


16

Consiglierei un altro strumento GUI: KVPM . Combina le funzionalità di GParted e system-config-lvm. Inoltre, consente alcune operazioni su partizioni live (montate) che system-config-lvm non consente Tuttavia, il volume deve essere smontato per ridursi.

inserisci qui la descrizione dell'immagine inserisci qui la descrizione dell'immagine

È nel repository dell'universo da Ubuntu 12.04, quindi basta sudo apt-get install kvpm

Nota: avviarlo con i diritti di root sudo kvpm


non è nel repository dell'universo:E: Unable to locate package kvpm
Jeff Puckett il


Questo ha funzionato per me, dove "system-config-lvm" non ha caricato alcun dispositivo / unità / file system collegato. Con l'ulteriore vantaggio di non dover scaricare e repository extra ed essere preconfigurato sulla mia macchina Ubuntu. Inoltre, ha funzionato su Gparted poiché ciò stava sputando troppo sugli errori del file system. (Sto ridimensionando una scheda SD RetroOrangepi da 32 GB a 8 GB per scopi di backup)
BiTinerary

Sembra buono, pensato che potrebbe volere un extra di ~ 100 M per tutte le altre dipendenze K, se non stai già usando KDE
Xen2050

12

Solo l'ultima versione di Gparted (0.14) supporta il ridimensionamento dei volumi fisici LVM. La versione fornita con Ubuntu 12.10 o 13.04 non la supporta.

Ecco come ridimensionare un volume fisico LVM:

  1. Se il gruppo di volumi associato al volume fisico LVM non dispone di spazio non allocato sufficiente, è necessario crearne alcuni riducendo un volume logico. Guarda la risposta di bigbadonk420 per istruzioni su come farlo. Puoi anche usare i dischi GNOME (inclusi con Ubuntu) per alcuni passaggi se preferisci una GUI.

  2. Masterizza l' immagine .iso più recente dal sito Web di GParted e masterizzala su un CD o mettila su una chiavetta USB. Avvio dal CD o dalla chiavetta USB. In alternativa, è possibile compilare l'ultima versione di GParted dal sorgente.

  3. Usa GParted per ridimensionare il volume fisico LVM. GParted non ti consente di ridurre il volume fisico LVM a una dimensione inferiore a quella consentita dallo spazio non allocato.


Grazie Flimm. Mi aspettavo che la 12.10 avesse una versione abbastanza recente di gparted. La tua risposta mi ha indicato la giusta direzione.
Martijn Heemels,

1
Ho l'ultimo gparted, ma non mi permette di cambiare le dimensioni della partizione ... Ho / dev / sda2 di tipo ext2 e sotto quello, / dev / sda5 di tipo lvm2. Ma gparted dice che le dimensioni minime e massime sono le stesse, e quindi non mi permette di cambiarlo ... :-(
Paul

O l'uso pvresizedella suite LVM2, giusto?
203967,

@Paul l'hai risolto? Ho esattamente lo stesso problema: S
Castiblanco,

@Castiblanco Non l'ho risolto, ho finito per cancellare tutto e reinstallare senza LVM. Per me, una lezione appresa: non utilizzare LVM per installazioni desktop standard.
Paul,

9

Ho trovato questa risposta per caso, ma questo ha funzionato almeno per me. Nel mio caso avevo già uno spazio su disco non allocato riservato dopo il root, quindi salto la parte su come ottenere più spazio e spiego semplicemente come l'ho usato su root senza avviarlo.

NOTA: Invece di usare gparted, probabilmente stai meglio usando system-config-lvm. La prossima volta lo userei invece ... La mia versione con gparted era 0.18.

  1. Prima gparteddi tutto estendevo il più possibile la partizione di root. Con mia sorpresa estese solo le dimensioni fisiche e non fece nulla alla parte logica. Quindi il df -kcomando ha detto che il disco era ancora pieno.
  2. lvresize -l +100%FREE /dev/ubuntu-vg/rootestende la partizione logica il più possibile. Non è necessario controllare e calcolare GB o blocchi in vari metodi.
  3. resize2fs /dev/ubuntu-vg/root è quindi il terzo passo che ho fatto: estende il file system alle dimensioni della partizione logica.

L'ultimo passaggio può essere unito nel secondo:

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


Ciò consente di ridurre un volume logico, ma la domanda dell'OP riguarda la riduzione di un volume fisico.
Stefan,

mi hai salvato la vita
Quang Hà

1

Oltre ai @ bigbadonk420 's risposta , Invece di fare quanto segue:

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

Fare:

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

Notare -rche riduce contemporaneamente il file system ed è sicuro.


Ma ciò non riduce il volume fisico .
Stefan,

0

Avviso sulla risposta attualmente più votata : per NON distruggere la nuova installazione predefinita con l'opzione LVM (14.04 Trusty Tahr), 1) leggere l'intera pagina, 2) eliminare lo scambio 3) e probabilmente modificare il comando per "Riduci le dimensioni della logica volume "in questo modo:

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

Consiglio vivamente system-config-lvm.


Ancora una volta, l'OP vuole ridurre un volume fisico .
Stefan,

0

Per farlo usando GParted, fai clic con il tasto destro su dev / sda2 (che vuoi ridurre). Seleziona "Disattiva". Ora sarai in grado di ridimensionare la tua partizione lvm.

Aggiornamento: la soluzione @Cao Min Tu è molto meglio. Ho avuto alcuni problemi con GParted dopo il ridimensionamento

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.