GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Espandere il volume logico Lvm su macchina virtuale?

Ho avuto un problema molto specifico. Ho un LVM in esecuzione su un singolo volume fisico su una macchina virtuale. La dimensione del volume logico è di ~150 GB e desidero espanderla a ~250 GB.

Sono stato in grado di espandere il volume fisico dal mio gestore di macchine virtuali, ma la modifica delle dimensioni fisiche non si riflette sul volume logico LVM.

Non ho trovato nessuna risposta direttamente e attraverso alcune sperimentazioni ho trovato una soluzione. Ho pensato di condividerlo nella mia risposta di seguito.

Risposta accettata:

Un esempio di diagramma LVM:

L'idea di LVM è che astrae il volume logico dal volume fisico, in modo tale che più volumi fisici appaiano all'utente un unico volume logico continuo.

Il file system radice è in /dev/file-server-vg/root e lo scambio è in /dev/file-server-vg/swap . L'idea è che possiamo effettivamente avere più dischi rigidi reali nello strato PV, e possono essere tutti aggiunti in un gruppo di volumi, che consentirà loro di apparire tutti come un unico file system continuo al sistema in /dev/file-server-vg/root .

In questo problema ho utilizzato /dev/file-server-vg/root come file server e sta esaurendo lo spazio. Fortunatamente questo sistema è su una macchina virtuale e sono stato in grado di espandere il volume fisico /dev/sda utilizzando il gestore della macchina virtuale. Tuttavia, l'aumento delle dimensioni non viene passato automaticamente a /dev/file-server-vg/root file system. Dobbiamo eseguire alcuni semplici comandi per farlo funzionare.

Prima di iniziare, usa pvdisplay per vedere quali volumi fisici sono presenti. Questo elencherà tutti i volumi fisici e il gruppo di volumi a cui appartiene. In questo caso abbiamo solo un volume fisico che è /dev/sda3 .

  --- Physical volume ---
  PV Name               /dev/sda3
  VG Name               file-server-vg
  PV Size               155.26 GiB / not usable 0   
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              65346
  Free PE               0
  Allocated PE          65346
  PV UUID               0EXhc4-EoHZ-b79R-ncSe-SWXI-ztPe-Fsc7zk

La tabella delle partizioni corrente può essere elencata usando sudo parted e poi print .

Number  Start   End    Size   File system  Name  Flags
 1      1049kB  538MB  537MB  fat32              boot
 2      538MB   794MB  256MB  ext2
 3      794MB   167GB  166GB                     lvm

In questo esempio vogliamo espandere la capacità da 155,56 GiB a 255,56 GiB. Utilizzando il gestore della macchina virtuale di solito possiamo estendere lo spazio su disco, e in questo caso lo espanderemo di 100GiB.

Dopo che l'espansione è riuscita, la tabella delle partizioni risultante (usa print free ) sarà simile al seguente. Tieni presente che lo "Spazio libero" mostra 108 GB (~100 GiB).

Number  Start   End    Size   File system  Name  Flags
 1      1049kB  538MB  537MB  fat32              boot
 2      538MB   794MB  256MB  ext2
 3      794MB   275GB  166GB                     lvm
      167GB   275GB  108GB  Free Space

Esistono due modi per espandere il volume logico:
Creare una nuova partizione e aggiungerla al gruppo di volumi, oppure
Aumentare la stessa partizione.

A mio parere, ove possibile, il secondo metodo è più ordinato. Ovviamente se /dev/sda3 è un disco rigido fisico e hai acquistato un altro disco rigido per espandere lo spazio, quindi sarà logico utilizzare il primo metodo.

In parte digita resize 3 794MB 275GB ridimensionerà la partizione 3 per occupare tutto lo spazio libero, quasi quasi:

Number  Start   End     Size    File system  Name  Flags
        17.4kB  1049kB  1031kB  Free Space
 1      1049kB  538MB   537MB   fat32              boot
 2      538MB   794MB   256MB   ext2
 3      794MB   275GB   274GB                      lvm
        275GB   275GB   1032kB  Free Space

Questo è abbastanza buono, solo 1 MB non viene utilizzato.

Correlati:come modificare la propria home directory?

Successivamente riavvieremo la macchina. Questo è necessario per aggiornare la tabella delle partizioni.

Quello che vedrai ora è che il volume fisico è aumentato di dimensioni con pvdisplay

--- Physical volume ---
  PV Name               /dev/sda3
  VG Name               file-server-vg
  PV Size               255.26 GiB / not usable 0   
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              65346
  Free PE               0
  Allocated PE          65346
  PV UUID               0EXhc4-EoHZ-b79R-ncSe-SWXI-ztPe-Fsc7zk

Questo aumento delle dimensioni verrà trasferito automaticamente al gruppo di volumi, utilizzando vgdisplay ottieni quanto segue. Nota vgextend in realtà non fa quello che potresti pensare che faccia. Non occupa lo spazio libero, ma viene utilizzato per aggiungere nuovi volumi fisici a un particolare gruppo di volumi.

--- Volume group ---
  VG Name               file-server-vg
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  5
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               255.26 GiB
  PE Size               4.00 MiB
  Total PE              65346
  Alloc PE / Size       65346 / 255.26 GiB
  Free  PE / Size       0 / 0   
  VG UUID               NwwIgT-W0SH-aeTe-d078-hcxx-XZ6W-QfnSA0

Il volume logico non aumenta di dimensioni automaticamente. Questo in realtà ha senso perché il computer non ha idea di quale volume logico si desidera aumentare di dimensioni, o forse si desidera creare un nuovo volume logico con lo spazio aggiuntivo nel gruppo di volumi. Quindi con lvdisplay vedrai la seguente tabella, che mostra il /dev/file-server-vg/root ha solo 153.26GiB, ma non preoccuparti siamo molto vicini.

--- Logical volume ---
  LV Path                /dev/file-server-vg/root
  LV Name                root
  VG Name                file-server-vg
  LV UUID                l6qvYZ-AmYw-tdgi-2jUu-XNB2-gecQ-6fDPt8
  LV Write Access        read/write
  LV Creation host, time file-server, 2014-07-10 14:54:58 +1000
  LV Status              available
  # open                 1
  LV Size                153.26 GiB
  Current LE             64834
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:0

  --- Logical volume ---
  LV Path                /dev/file-server-vg/swap_1
  LV Name                swap_1
  VG Name                file-server-vg
  LV UUID                OohMkN-rGLa-fM4M-6he2-MbM9-BBc3-Ck2Hs5
  LV Write Access        read/write
  LV Creation host, time file-server, 2014-07-10 14:54:58 +1000
  LV Status              available
  # open                 2
  LV Size                2.00 GiB
  Current LE             512
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:1

Il modo per aumentare il volume logico è usare lvextend -L +100GB /dev/file-server-vg/root

Dopodiché espandi il file system con resize2fs /dev/file-server-vg/root

E hai finito. Puoi fare lvdisplay per verificare che il /dev/file-server-vg/root il volume è stato esteso a 253,26 GiB

  --- Logical volume ---
  LV Path                /dev/file-server-vg/root
  LV Name                root
  VG Name                file-server-vg
  LV UUID                l6qvYZ-AmYw-tdgi-2jUu-XNB2-gecQ-6fDPt8
  LV Write Access        read/write
  LV Creation host, time file-server, 2014-07-10 14:54:58 +1000
  LV Status              available
  # open                 1
  LV Size                253.26 GiB
  Current LE             64834
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:0

  --- Logical volume ---
  LV Path                /dev/file-server-vg/swap_1
  LV Name                swap_1
  VG Name                file-server-vg
  LV UUID                OohMkN-rGLa-fM4M-6he2-MbM9-BBc3-Ck2Hs5
  LV Write Access        read/write
  LV Creation host, time file-server, 2014-07-10 14:54:58 +1000
  LV Status              available
  # open                 2
  LV Size                2.00 GiB
  Current LE             512
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:1

Ubuntu
  1. Lum - Come estendere una partizione con un Lvm e il volume fisico contenuto e il volume logico?

  2. Come creare una partizione Lvm/volume fisico> 2 TB?

  3. Come attivare un volume fisico LVM “SOSPESO”.

  4. CentOS / RHEL:come trovare i volumi logici (LV) contenuti in Physical Volume (PV) in LVM

  5. Configurazione LVM:Operazioni/Utility Volume Logico (LV).

Utilizzo di LVM per gestire volumi fisici, gruppi di volumi e volumi logici – Preparazione dell'obiettivo RHCSA

Creazione di un backup dei dati archiviati in una macchina virtuale Linux

Backup e ripristino di snapshot LVM su Linux

Spiegazione della gestione del volume logico su Linux

Guida per principianti a LVM (Gestione del volume logico)

Come trovare i volumi fisici che contengono un volume logico in LVM