Ubuntu: ridimensiona la partizione radice LVM (2?)


10

Ho una macchina virtuale Ubuntu in esecuzione in VirtualBox 2.2.4 e l'ho creata su un disco virtuale da 8 GB che è troppo piccolo.

Quindi, sto cercando di aumentare le dimensioni del disco. Finora ho fatto questo:

  1. Creato un nuovo disco virtuale più grande
  2. Aggiunto il 2 ° disco alla macchina
  3. Usato CloneZilla per clonare il primo disco sul 2 ° disco
  4. Rimosso il primo disco
  5. Avviato dal secondo (disco più grande)

Ma ora sono ancora bloccato con una partizione da 8 GB sul mio nuovo disco virtuale da 100 GB.

Qual è il percorso più semplice da qui per avere una partizione da 100 GB? :) Ho capito che GPart può ridimensionare le partizioni, ma non sembra supportare le partizioni LVM2, come la mia sembra essere.

grazie

  • alex

Risposte:


5

In generale, ecco come ridimensionare i volumi LVM:

Diciamo che /mountpointè acceso /dev/VolGroup00/mountpoint. Puoi scoprirlo verificando /etc/fstabo eseguendo mount -l.

Potrebbe inoltre essere necessario ridimensionare il volume fisico effettivo, a seconda della configurazione. Usa pvdisplayper scoprire se è abbastanza grande e usa pvresize(molto come lvresizesotto) se necessario.

umount /mountpoint
lvresize -L +<HOW MUCH BIGGER> /dev/VolGroup00/mountpoint
e2fsck -f /dev/VolGroup00/mountpoint
resize2fs /dev/VolGroup00/mountpoint <TOTAL SIZE>
mount /mountpoint

Ciò equivale a smontaggio, ridimensionamento dell'LVM sottostante, quindi ridimensionamento della partizione ext3 effettiva.

Alcune cose da fare attenzione:

  1. Ovviamente giocare con /sarà diverso da una partizione dati. Potrebbe essere necessario un disco di avvio come Sysrescuecd invece di Doing It Live. Vedi anche il commento di Kristof qui sotto: potresti effettivamente essere in grado di farlo senza smontare /.
  2. lvresize ha alcune diverse opzioni di sintassi e la riduzione di un volume logico probabilmente danneggerà la partizione sovrapposta. Consultare le pagine man locali per ulteriori informazioni.

Grazie, sembra promettente, puoi suggerire un LiveCD che potrei usare con gli strumenti LVM su di esso?
user12259

Sysrescuecd is nice ( sysresccd.org )
Zoredache,

5
ext2 / 3/4 supporta la crescita live del tuo filesystem. Non è necessario smontare o e2fsck le partizioni. resize2fs è anche abbastanza intelligente da capire la dimensione della partizione (o volume logico) in cui si trova. Se non specifichi una dimensione, aumenterà per riempire tutto lo spazio disponibile.
Kristof Provost,

Ho provato "sudo resize2fs / dev / sda1" e ha risposto: "resize2fs: dispositivo o risorsa occupata durante il tentativo di pen / dev / sda1 non è stato possibile trovare un superblocco di filesystem valido"
user12259

1
lvresize non cambia le dimensioni del volume fisico, quindi non devo prima farlo?
user12259

2

C'era un (e solo un) modo in cui ho scoperto di fare questo e ho provato una miriade.

Innanzitutto, clonare la VM guest di Ubuntu in virtualbox facendo clic con il tasto destro del mouse e andando a "clonare". Una volta terminato il clone, estendere il clonato vdi utilizzando (Sul sistema operativo host)

VBoxManage edithd "name_of_cloned_vdi" --resize "size_of_new_root_partition_in_MB"

Quindi - segui i passaggi in questo post alla lettera (si riferisce a VMware come una piattaforma ma ignoralo)

http://blog.campodoro.org/?p=36

Questo creerà un altro lvm di dimensioni esattamente equivalenti allo spazio extra che hai aggiunto e lo fisserà all'estremità di quello esistente.

Dopo aver verificato che tutto sia a posto, puoi eliminare la VM originale e promuovere il tuo clone!

Non c'è bisogno di scherzare con fdisk e preoccuparsi di cancellare o rovinare la partizione sbagliata.

Devo aver rotto circa 4 sistemi operativi clonati fino a quando non ho trovato questa soluzione!


2

Ho appena fatto questo e ho avuto la stessa domanda che avevi, ma invece di creare un nuovo LVM e aggiungerlo al gruppo di volumi, il lato OCD di me voleva ridimensionare il mio LVM attuale e quindi mantenere una singola partizione in nome della semplicità. Nota: non credo che ciò sia possibile se lo spazio libero non segue immediatamente la partizione che stai ridimensionando!

Per fare ciò avrai bisogno di uno strumento in grado di eliminare e creare tabelle delle partizioni. Da quando uso GPT questo significava che avevo bisogno di gdisk . Dovrai anche farlo con la partizione non montata, quindi potresti voler avviare un LiveCD Ubuntu ed eseguirlo da lì.

I seguenti passaggi in grassetto sono ad esempio LVM / dev / mms / root sul dispositivo / dev / sda , dove volevo espandere la partizione / dev / sda3 per occupare il mio nuovo spazio libero.

NOTA : questi sono potenzialmente molto distruttivi, quindi assicurati che i tuoi input siano corretti!

  1. gdisk / dev / sda (assicurati di inserire il dispositivo corretto!) Questo ti porta in gdisk dove puoi quindi eseguire i seguenti passaggi in ordine
    1. p : stampa le informazioni sulla partizione corrente (per riferimento)
    2. d - per eliminare una tabella delle partizioni
    3. 3 - il numero del dispositivo che rappresenta la tabella delle partizioni che si desidera eliminare (importante!)
    4. n - per creare una tabella delle partizioni
    5. 3 - il numero del dispositivo che rappresenta la tabella delle partizioni che desideri creare (probabilmente vorrai utilizzare lo stesso che hai eliminato nel passaggio 3)
    6. p - stampa le informazioni sulla partizione corrente (di nuovo per riferimento, confrontale con ciò che hai iniziato!)
    7. w - salva le modifiche sul disco (sei sicuro ?!)
  2. pvresize / dev / sda3 - potrebbe essere necessario riavviare prima di farlo in modo che il sistema operativo riconosca la nuova dimensione della partizione
  3. pvdisplay - stampa le tue informazioni attuali (dovrebbe mostrare che ora sta usando tutto lo spazio!)
  4. lvresize -l + 100% FREE / dev / mms / root - ridimensiona il mio LVM per occupare il 100% del mio nuovo spazio
  5. e2fsck -f / dev / mms / root - esegue un controllo di integrità
  6. resize2fs -p / dev / mms / root - ridimensiona il file system per occupare l'intero LVM

Dopo aver fatto quanto sopra e riavviato nel sistema operativo ridimensionato, tutto ha funzionato come previsto e avevo tutto il mio spazio libero aggiuntivo a mia disposizione!

Ulteriori riferimenti che ho usato per capire tutto questo:

http://www.jethrocarr.com/2012/08/10/gdisk-oh-glorious-gdisk/ http://people.virginia.edu/~ll2bf/docs/quickref/lvm.html


1

Vedi una risposta correlata qui.

(estratto)

Ridimensionamento del volume fisico:

pvresize --verbose --test /dev/md0

Ridimensionamento del volume logico:

lvresize --verbose -L <SIZE> --test /dev/VG1/LV1

E infine, ridimensionando ext3 FS:

resize2fs /dev/VG1/LV1

Quando eseguo lvresize, visualizzo un errore "Impossibile sospendere il root"
user12259

Ho provato: "sudo lvresize --verbose -L 40G / dev / ubuntu / root"
user12259

ok, ho risolto il problema con "sudo modprobe dm-mod", ora posso eseguire correttamente lvresize
user12259

fdisk -lmostra che ho 54 GB disponibili, ma dopo l'esecuzione pvresize /dev/sda2; lvresize -L 50G /dev/mapper/VolGroup-lv_rootottengo l'errore "Spazio libero insufficiente: 588 estensioni necessarie, ma solo 0 disponibili". pvdisplaymostra che il mio volume fisico non è stato ridimensionato.
Cerin,

Dovresti davvero fare una nuova domanda. I commenti di una vecchia domanda non sono il modo migliore per ottenere aiuto.
Zoredache,

1

Si noti che in realtà non è necessario utilizzare uno strumento di clonazione come CloneZilla qui, è possibile inserire una partizione sul nuovo disco virtuale (opzionale) quindi inizializzare quello (o il disco virtuale stesso) in LVM usando il pvcreatecomando. Quindi utilizzare vgextendper aggiungerlo al gruppo di volumi che supporta il volume logico, quindi utilizzare vgreduceper rimuovere il disco virtuale originale dal gruppo di volumi. Ciò eseguirà una migrazione e può essere eseguito dal vivo mentre il volume logico è in uso, questa è la bellezza della virtualizzazione dello storage. Una volta terminato, devi solo estendere il volume logico come sopra, che potrebbe anche essere eseguito live con filesystem più moderni di ext3.


1

I. Se l'HDD virtuale ha dimensioni fisse, non è possibile ingrandirlo. In questo caso devi prima clonarlo.

(1) Clonare l'HDD sulla GUI VB: File -> Virtual Media Manager... -> [tab] Hard Drives -> select your HDD -> [button] Next -> [button] Next -> select "Dynamically allocated" on the step "Storage on physical hard drive"-> ...

o dalla riga di comando:

# VBoxManage clonehd "/path/to/the/HDD.vdi" "/path/to/the/HDD_NEW.vdi"

(2) Aggiungere il nuovo HDD all'elenco degli HDD noti.

(3) Nelle impostazioni della macchina VB rimuovere il vecchio HDD dall'elenco VDI sotto il Controller e aggiungere invece il nuovo.

II. Ridimensiona l'HDD

(1) Ridimensiona il nuovo HDD.

# VBoxManage modifyhd 463c7bd4-9b9c-4cf8-bee4-e14e10c0d462 --resize 25600

Ottieni la chiave con il VBoxManage list hddscomando.

III. Aggiungi nuovo spazio allocato.

(1) Aggiungi un ISO GParted come nuovo supporto sotto Machine Settings -> Storage -> [rightclick] Controller IDE -> Add CD / DVD Device -> ...e seleziona la Live CD/DVDcasella di controllo.

(2) Avviare la VM e aggiungere lo spazio libero non allocato alla partizione di lavoro.

(3) Arrestare la VM.

(4) Staccare l'ISO GParted.

Godere! :)



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.