Sul mio SSD da 240 GB avevo inizialmente due partizioni, una contenente il volume logico con Linux Mint e laltra conteneva una partizione NTFS da condividere con Windows .
Ora ho rimosso la partizione NTFS e desidero estendere il mio gruppo di volumi logici per utilizzare lo spazio su disco rilasciato.
Come faccio a estendi il gruppo di volumi , il mio volume logico contenente / home e il filesystem (ext4) su / home? È possibile farlo online?
PS: Sì, so che devo eseguire il backup dei miei dati 🙂
/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
output di 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
output di 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
Commenti
Risposta
Puoi farlo in modo abbastanza semplice. Un po sorpreso che non ci fosse già una risposta per questo qui.
Puoi eseguire lintero processo mentre sei in esecuzione sul filesystem che desideri ridimensionare (sì, è sicuro e completamente supportato). Non sono necessari CD di ripristino o sistemi operativi alternativi.
- Ridimensiona la partizione (di nuovo, puoi farlo con il sistema in esecuzione). GParted è facile da usare e supporta il ridimensionamento.
Puoi anche utilizzare uno strumento di livello inferiore comefdisk
. Ma dovrai eliminare la partizione e ricrearla. Assicurati solo quando lo fai che la nuova partizione inizi esattamente nella stessa posizione. - Riavvia. Poiché la tabella delle partizioni è stata modificata sul sistema in esecuzione, non avrà effetto fino al riavvio.
- Esegui
pvresize /dev/sdXY
per fare in modo che LVM prenda il nuovo spazio. - Ridimensiona il volume logico con
lvextend
. Se desideri utilizzare tutto ciò,lvextend -r -l +100%FREE /dev/VGNAME/LVNAME
.-r
ridimensionerà anche il filesystem.
Anche se raccomando sempre di non utilizzare lintero gruppo di volumi. Non sai mai di cosa avrai bisogno in futuro. Puoi sempre espandere in seguito, non puoi “rimpicciolirti.
Commenti
- Vorrei accettare la tua risposta, ma ‘ non ha funzionato come hai suggerito, perché GParted può ‘ t ridimensionare la partizione di root su un sistema in esecuzione (almeno nel mio caso).
- @HalosGhost Ho ripristinato la tua modifica.
partprobe -s
non fa quello che pensi. Il kernel non rileverà il ridimensionamento di una partizione in uso.partprobe -s
funziona solo se la partizione era in uso durante il ridimensionamento (quindi quando fdisk ha notificato al kernel che non è riuscito), ma non lo è più. - @Patrick, Non ho aggiunto lidea per questo; Ho ” migliorato ” la modifica inserendo il comando in backtick (la guerra per il codice sfugge agli stipendi!).
- Oh, scusa, leggi il nome dallevento storico sbagliato. @Qetesh che si applica a te allora 🙂
- È ‘ possibile non riavviare affatto usando ” partx -u ” per il passaggio 2, per dire al kernel di aggiornare la dimensione della partizione ‘: funziona anche su partizioni attive e può essere verificato controllando /sys/…/sdXY/size prima e dopo.
Risposta
Nessuno di le risposte rendono giustizia alla potenza di LVM.
(Questo si basa sul commento di @frostchutz alla domanda precedente.)
Vediamo i fatti:
- OP ha due partizioni, sdb1 e sdb2 è un volume fisico per LVM.
- sdb1 è ntfs in questo momento, dobbiamo dare quello spazio a
home
volume logico allinterno dellinuxvg
gruppo di volumi.
Passaggi LVM utilizzando il ” modo pragmatico “:
- crea volume fisico su sdb1:
pvcreate /dev/sdb1
- aggiungi s db1 a
linuxvg
:vgextend linuxvg /dev/sdb1
- estendi volume logico
home
con tutto lo spazio libero:lvextend -r -l +100%FREE /dev/linuxvg/home
LVM consente un ottimo livello di indirezione. Un volume logico si trova allinterno di un gruppo di volumi, che potrebbe utilizzare diversi dischi.
home – > linuxvg – > (sdb1, sdb2, sdc1)
http://tldp.org/HOWTO/LVM-HOWTO/createvgs.html
Commenti
- Ha funzionato, grazie. Ho usato
lvresize -l +100%FREE ...
al posto degli ultimi 2 comandi lvextend + resizefs - Buono a sapersi, grazie per aver condiviso @AlessandroDentella!
- Se aggiungi
-r
al comando lvextend, estenderà automaticamente anche il filesystem. Quindi:lvextend -r -l +100%FREE /dev/linuxvg/home
e puoi evitare ilresize2fs
- aggiornato. Grazie! @lucaferrario
Risposta
La domanda è stata risolta, dopo aver letto questo post del blog. Scriverò la soluzione in forma breve:
- avvia da un live cd con
- usa
gdisk
(se usi GPT ) altrimenti potresti andare con il buon vecchiofdisk
- nota le impostazioni della partizione, nel mio caso
gdisk -l /dev/sdb
- elimina la tua partizione con
- crea una nuova partizione con lo stesso identico allineamento della precedente (nel mio esempio a partire dal blocco 2048)
- scrivi la tua nuova tabella delle partizioni
- esegui
partprobe -s
per aggiornare la tabella delle partizioni senza riavviare - ridimensiona il volume fisico con
pvresize /dev/sdb1
o dovè il tuo pv (usapvs
per determinare se non “lo sai) - ora ridimensiona il tuo volume logico con
lvextend -l +100%FREE /dev/file/of/your/lv
, nel mio casosudo lvextend -l +100%FREE /dev/linuxvg/home
- ridimensiona il filesystem
sudo resize2fs /dev/linuxvg/home
- prima controlla la coerenza
sudo e2fsck -f /dev/linuxvg/home
- divertiti 🙂
Commen ts
- In realtà puoi tagliare circa la metà di questi passaggi e farlo con un solo riavvio.
- GParted si è rifiutato di ridimensionare la partizione, perché era bloccato (questo simbolo della chiave).
Risposta
Già alcune ottime risposte.
Se stai usando xfs, allora usi il comando
xfs_growfs /mountpoint
invece di resize2fs. Puoi farlo mentre il mountpoint è attivo, ad esempio se hai aumentato la partizione di root e non hai bisogno di riavviare dopo.
vgextend
, invece di rimuovere completamente la partizione. Se invece aumenti la partizione PV esistente, probabilmente dovrai riavviare, poiché Linux si rifiuta di rileggere la tabella delle partizioni mentre il disco è in uso. Lavorare su questo argomento online è imbarazzante. – Mostra la tabella delle partizioni corrente.