Come ridurre i volumi logici e fisici di Ubuntu LVM?


26

Ho installato Ubuntu 12.10 come unico sistema operativo sul mio sistema.

Ho detto a Ubuntu di sovrascrivere tutto mentre avevo fretta, quindi ho solo le due partizioni create da Ubuntu, la partizione di avvio di un paio di centinaia di MB, e poi tutto il resto.

La partizione principale è di circa 600 GB,

Vorrei ridimensionare questo a 450 GB, quindi posso installare Windows 8 come doppio avvio.

Il problema è che non riesco a capire come ridurre la partizione, normalmente va bene dall'iso live di Gparted (gparted-live-0.14.1-6-i486.iso), ridimensiona semplicemente e sei a posto.

Ma questa volta Ubuntu è stato installato con LVM.

Quindi, la partizione Ubuntu ha un'icona a forma di lucchetto accanto. Questo mi impedisce di fare qualsiasi cosa, posso selezionare la partizione e c'è un'opzione per "disattivare" che se ho ragione credo che stia disattivando lo scambio? Se lo faccio, posso manipolare la partizione.

Chiedo qui se questa è la cosa giusta da fare prima di rompere il mio sistema.

  1. Avvio dall'iso gparted live.
  2. Seleziona la partizione Ubuntu.
  3. "Disattiva" la partizione.
  4. Ridimensiona la partizione.
  5. "Attiva" la partizione.
  6. Applicare.
  7. Profitto???

Il mio pensiero è corretto?

Modifica n. 1

Quindi, dopo alcune chat estese, sono arrivato a questo comando

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

Che ha ridotto con successo la partizione logica.

Nuovo colpo partizionato

Ma ora ho la parte difficile.

Ora ho bisogno di ridurre la partizione fisica in modo da poter creare una nuova partizione fisica con lo spazio per installare Windows 8.

Quindi ho pensato di poter correre

pvresize --setphysicalvolumesize {any size here} /dev/sda5

Ma torno:

/ dev / sda5: impossibile ridimensionare a xxxxx in quanto vengono allocati quelli successivi.

Che credo sia dovuto allo scambio dovuto a questa immagine:

Darn Swap!, quindi qual è il mio prossimo passo?

$: lvdisplay
  --- Logical volume ---
  LV Path                /dev/ubuntu/root
  LV Name                root
  VG Name                ubuntu
  LV UUID                G7Z3dA-xska-8QpO-Y5oD-aIVO-D8l1-22s6dO
  LV Write Access        read/write
  LV Creation host, time ubuntu, 2013-01-29 22:06:02 +1300
  LV Status              available
  # open                 1
  LV Size                540.42 GiB
  Current LE             138348
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:0

  --- Logical volume ---
  LV Path                /dev/ubuntu/swap_1
  LV Name                swap_1
  VG Name                ubuntu
  LV UUID                14qpRy-H5jl-dTAq-CVle-k7Bz-95Rm-Y46zOs
  LV Write Access        read/write
  LV Creation host, time ubuntu, 2013-01-29 22:06:04 +1300
  LV Status              available
  # open                 2
  LV Size                7.97 GiB
  Current LE             2041
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:1

Ulteriori informazioni prima della modifica n. 1

Schermata Gparted
Nota che lo scatto sopra è preso dalla versione Gparted nei repository Ubuntu, non dall'ultima versione

matthew @ play: ~ $ sudo fdisk -l

Disk /dev/sda: 750.2 GB, 750156374016 bytes
255 heads, 63 sectors/track, 91201 cylinders, total 1465149168 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: 0x000c5bec

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      499711      248832   83  Linux
/dev/sda2          501758  1465147391   732322817    5  Extended
/dev/sda5          501760  1465147391   732322816   8e  Linux LVM

Disk /dev/mapper/ubuntu-root: 741.3 GB, 741334843392 bytes
255 heads, 63 sectors/track, 90128 cylinders, total 1447919616 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/ubuntu-root doesn't contain a valid partition table

Disk /dev/mapper/ubuntu-swap_1: 8560 MB, 8560574464 bytes
255 heads, 63 sectors/track, 1040 cylinders, total 16719872 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/ubuntu-swap_1 doesn't contain a valid partition table

matthew @ play: ~ $ sudo lvs

  LV     VG     Attr     LSize   Pool Origin Data%  Move Log Copy%  Convert
  root   ubuntu -wi-ao-- 690.42g                                           
  swap_1 ubuntu -wi-ao--   7.97g  

matthew @ play: ~ $ sudo vgs

  VG     #PV #LV #SN Attr   VSize   VFree
  ubuntu   1   2   0 wz--n- 698.39g    0 

matthew @ play: ~ $ sudo pvs

  PV         VG     Fmt  Attr PSize   PFree
  /dev/sda5  ubuntu lvm2 a--  698.39g    0 

Assicurati di eseguire una versione GParted recente (solo recentemente ha ottenuto il supporto LVM - lo sei, quindi semplicemente una nota per altri lettori). E la disattivazione, a mio avviso, sta disattivando il gruppo di volumi ( vgchange -an myvgname) che potrebbe essere necessario se si intende modificare il volume fisico. :) Oh, è quasi una risposta.
gertvdijk,

Maggiori dettagli forniti.
Hailwood,

@gertvdijk Ping me in chat se hai bisogno di informazioni rapide.
Hailwood,

È stato risolto? Sto cercando di ridurre la partizione fisica per installare un'altra versione del sistema operativo parallelamente.
Jamess,

Risposte:


17

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

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

sudo pvresize --setphysicalvolumesize {any size here} /dev/sda5

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

Devi riorganizzare lo spazio non allocato alla fine di LVM. Ciò significa che dopo la partizione root e swap_1. Quindi, è necessario spostare quello spazio libero usando il comando seguente

pvs -v --segments /dev/sda5

This will show the output like below
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g 0 xxx root 0 linear /dev/sda:0-xxx
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g xxx nnn 0 free                          
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g yyy zzz swap 0 linear /dev/sda5:yyy-zzz

Ora usa il comando qui sotto per rimuovere la frammentazione esterna -

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

Ora vediamo come va -

pvs -v --segments /dev/sda5

This will show the output like below
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g 0 xxx root 0 linear /dev/sda:0-xxx
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g xxx nnn swap 0 linear /dev/sda5:xxx-yyy(-1)
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g yyy zzz 0 free

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


7

Vorrei, ora che hai il LV radice più piccolo, lvremovelo scambio LV e ricrearlo. Ciò dovrebbe costringerlo ad essere aggiunto direttamente al LV principale in termini di posizione. Una volta fatto ciò, dovresti essere in grado di eseguire pvresizeil volume fisico. Quindi è la parte spaventosa nella modifica della tabella delle partizioni ( fdisk) per ridimensionare la partizione in base alle nuove dimensioni del PV, liberando così spazio per l'installer di Windows da usare.

Per il ridimensionamento della partizione, consiglierei di aumentare leggermente di qualche MB, rispetto al PV, che indica la sua dimensione e che sovradimensiona il PV e il root LV per riempire le estensioni libere. In questo modo puoi essere sicuro di essere A) utilizzando tutte le dimensioni della partizione per LVM e non perdere spazio rendendolo inaccessibile, e B) non tagliare i dati vitali dal PV interpretando erroneamente binario KiB / MiB / GiB per KB decimali / MB / GB o viceversa durante l'operazione fdisk.

Il nuovo swap, se ne crei uno nuovo per assicurarti che sia aggiunto al LV principale come suggerito sopra, avrà un UUID diverso e quindi il tuo / etc / fstab non corrisponderà. Una volta terminato il ridimensionamento, dovrai mount /dev/ubuntu/root /mntmodificare / mnt ** / etc / fstab **.

Nel file fstab è necessario trovare la voce di scambio simile alla seguente e aggiornare l'esadecimale dopo UUID = con il valore riportato da blkid.

I passaggi per blkidsul mio sistema sono i seguenti:

  1. correre

    blkid /dev/ubuntu/swap_1
    

    quali uscite

    /dev/ubuntu/swap_1: UUID="9e99b37a-38af-4987-85eb-92048abd9825" TYPE="swap"
    
  2. copia il valore UUID

    9e99b37a-38af-4987-85eb-92048abd9825

  3. modifica / etc / fstab dal tuo LV radice e inserisci il valore UUID al posto del vecchio UUID.

    trova

    UUID=**old-uuid** none swap sw 0 0
    

    sostituisci il tuo nuovo UUID al posto di old-uuid

    UUID=9e99b37a-38af-4987-85eb-92048abd9825 none swap sw 0 0
    

    in alternativa, è possibile sostituire il meccanismo UUID e utilizzarlo /dev/ubuntu/swap_1, ad es

    /dev/ubuntu/swap_1 none swap sw 0 0
    

Questa procedura insieme alla modifica in questione mi ha aiutato a ridimensionare la partizione. Non sono riuscito a trovare il comando lvdelete (12.04) e ho usato lvremove per rimuovere la partizione di swap. La dimensione ha funzionato come un fascino. Quindi ho usato il CD live gparted per ridimensionare la porzione a dimensioni inferiori. ha completato l'operazione e sono state create dimensioni non allocate. Suggerirei al richiedente di creare una risposta completa.
Jamess,

Per inciso, non stavo usando l'UUID (l'ho cambiato, non ricordo), forse systyem non ha mai usato l'UUID per lo scambio. Quindi potrei saltare i passaggi di modifica dell'UUID.
Jamess,

Come ricreare uno swap lv 1. lvcreate -L 5G -n / dev / vg0 / swap_1 2. mkswap / dev / vg0 / swap_1, swapon -s / dev / vg0 / swap_1, quindi convalidare le voci / etc / fstab e se necessario cambio UUID.
Jamess,

Grazie per la menzione di lvdeleteessere errato nella mia risposta. Ora ho corretto il testo per citare il lvremovenome proprio .
Daniel Llewellyn,

6

Usa KVPM dal Software Center. Ho installato Ubuntu 14.10 LTS usando l'intero disco un enorme LVM (so qual è il punto di un enorme LVM) ma volevo aggiungere altri due LVM per un altro sistema operativo e un'unità dati. Ho usato KVPM, dice nella descrizione il gestore delle partizioni di KDE ma funziona alla grande su 14.04. Ecco i passaggi.

  1. Scarica 14.04LTS e crea una USB avviabile.
  2. Avvia da USB, usando l'opzione TRY UBUNTU in modo da essere in esecuzione su chiavetta USB.
  3. Installa KVPM da Software Center.
  4. Esegui KVPM dal terminale di tua scelta,

    sudo kvpm- se hai appena eseguito kvpm, il CD live ti darà un errore e si bloccherà.

  5. Una volta, kvpm ha aperto la GUI, vai alla scheda etichettata some_drive-vg

  6. Evidenzia il volume da ridimensionare e fai clic con il pulsante destro del mouse per le opzioni, scegli Riduci volume.
  7. Puoi rietichettare LVM mentre inserisci le nuove dimensioni.
  8. Segui le istruzioni per confermare la modifica e voilà, avrai spazio libero non allocato.
  9. Puoi creare tutti i nuovi LVM di cui hai bisogno con lo spazio disponibile. Il mio display mostrava uno spazio verde non allocato, semplicemente fai clic con il pulsante destro del mouse sullo spazio verde, l'unica opzione sarà "Crea nuovo volume logico".

Mi ci è voluto più tempo per scrivere questo che non per eseguire l'intero processo.

A proposito, la partizione / root che ho ridimensionato funziona perfettamente dopo tutte le modifiche. Basta riavviare il disco rigido nel sistema operativo scelto e goditi i tuoi nuovi volumi trovati.


0

KVPM è la strada da percorrere, non è necessario il riavvio.

  1. Fare clic con il tasto destro su Smonta partizione
  2. ridurre le dimensioni
  3. fare clic con il tasto destro su un'altra partizione per estendere le dimensioni
  4. rimontare la partizione originale

FATTO!

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.