Come faccio a creare un volume logico LVM su una partizione creata su un volume EBS?

8 minuti di lettura
0

Come faccio a usare Logical Volume Manager (LVM) per creare un volume logico (LV) su una partizione creata sul mio volume Amazon Elastic Block Store (Amazon EBS)?

Breve descrizione

LVM consente di allocare spazio sul disco e rimuovere, ri-duplicare e ridimensionare i volumi logici. Utilizzando LVM, è possibile allocare un volume EBS o un set di volumi EBS a uno o più volumi fisici.

Per usare LVM sul tuo volume EBS ed estendere le partizioni, esegui questi passaggi:

  1. Crea volumi fisici (PV) dal tuo volume EBS.
  2. Crea un gruppo di volumi (VG), quindi aggiungi i volumi fisici al gruppo di volumi.
  3. Creare un volume logico (LV), dopodiché monta la directory su LVM.
  4. Crea e monta un file system.
  5. Ridimensiona il volume logico.

Risoluzione

**Nota:**Se hai già creato LVM sul tuo volume e l'hai montato per l'uso, segui le istruzioni che iniziano da Estendere il volume logico.

Creare volumi fisici sulla partizione del tuo volume EBS

L'unità di archiviazione fisica sottostante di un volume logico LVM è un dispositivo a blocchi, come una partizione di un volume EBS o un intero volume EBS.

**Nota:**Le istanze basate su Nitro espongono i volumi come dispositivi NVMe. I nomi dei dispositivi a blocchi seguono lo schema /dev/nvme1n1, /dev/nvme2n1, /dev/nvme3n1, e così via. Se utilizzi un'istanza basata su Nitro, sostituisci i nomi dei dispositivi nei passaggi seguenti con il nome del dispositivo appropriato. Per ulteriori informazioni sulla denominazione dei dispositivi, consulta Nomi dei dispositivi su istanze Linux.

1.    Apri la console Amazon Elastic Compute Cloud (Amazon EC2).

2.    Crea il tuo volume EBS e poi collega il volume alla tua istanza.

3.    Usa il comando gdisk per creare una partizione. Per il codice esadecimale o GUID variabile, inserisci 8e00. L'esempio seguente crea la partizione /dev/xvdh1 su /dev/xvdh.

$ sudo gdisk /dev/xvdh
Command (? for help): n
Partition number (1-1218, default 1): 1
First sector (34-20971486, default = 2048) or {+-}size{KMGTP}:
Last sector (2048-20971486, default = 20971486) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300): 8e00        
Changed type of partition to 'Linux LVM'
...
OK; writing new GUID partition table (GPT) to /dev/xvdh.
The operation has completed successfully.

Usa il comando lsblk per confermare la creazione della partizione:

$ lsblk
NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda    202:0    0   8G  0 disk
└─xvda1 202:1    0   8G  0 part /
xvdh    202:80   0  10G  0 disk
└─xvdh1 202:81   0  10G  0 part

4.    Usa il comando pvcreate per creare un volume fisico dalla partizione. L'esempio che segue, crea un volume fisico da /dev/xvdh1:

$ sudo pvcreate /dev/xvdh1
  Physical volume "/dev/xvdh1" successfully created.

Crea gruppi di volumi e aggiungi i volumi fisici nel gruppo di volumi

Usa il comando vgcreate per creare un gruppo di volumi in nuovi volumi fisici. L'esempio seguente utilizza un volume fisico per creare il gruppo di volumi examplegroup1:

$ sudo vgcreate examplegroup1 /dev/xvdh1    
  Volume group "examplegroup1" successfully created

Usa vgs o vgdisplay per visualizzare i dettagli del gruppo di volumi:

$ sudo vgs
  VG             #PV #LV #SN Attr   VSize  VFree
  examplegroup1   1   0   0 wz--n- <10.00g <10.00g

Creare un volume logico (LV) e una directory di montaggio

1.    Usa il comando lvcreate per creare volumi logici (partizioni) dal tuo gruppo di volumi. L'esempio seguente crea un volume logico da 9 GB, lvexample1 dal gruppo di volumi examplegroup1:

$ sudo lvcreate -n lvexample1 -L 9G examplegroup1
  Logical volume "lvexample1" created

Usa il comando lvs o lvdisplay per visualizzare i dettagli del volume logico:

$ sudo lvs
  LV          VG   Attr       LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert                                 
  lvexample1 examplegroup1 -wi-a----- 9.00g

2.    Usa il comando mkdir per creare una directory di montaggio. L'esempio seguente crea la directory /mnt1:

$ sudo mkdir /mnt1

Creare e montare un file system

1.    Usa i seguenti comandi per creare un file system e montare le partizioni da utilizzare.

Esegui il comando mkfs -t per creare il file system. Nota: Sostituisci xfs con il tuo tipo di file system, se diverso. Ad esempio, usa ext2, ext3 o ext4.

$ sudo mkfs -t xfs /dev/examplegroup1/lvexample1

Esegui il comando lsblk -f per verificare la creazione del nuovo file system. Nota: Il tipo di file system creato nel passaggio precedente viene visualizzato in FSTYPE.

$ lsblk -f
NAME                         FSTYPE      LABEL UUID                                   MOUNTPOINT
xvda                                                                            
├─xvda1                                                                         
└─xvda2                      xfs               66e5e079-770e-4359-a9da-5205c3d8d5af   /
xvdh                                                                            
└─xvdh1                      LVM2_member       0UnOic-e2ng-XxH5-z0UW-7aTh-RxQK-KMrDqo
  └─examplegroup1-lvexample1 xfs              5db36052-81d5-4762-8502-6986ff3964e7

Esegui il comando mount per montare il file system nella directory di montaggio creata nel passaggio precedente:

$ sudo mount /dev/examplegroup1/lvexample1 /mnt1

2.    Modifica le opzioni di montaggio nel file /etc/fstab in modo che il nuovo montaggio persista dopo il riavvio.

/dev/examplegroup1/lvexample1 /mnt1   xfs     defaults,nofail   0   0

Nota: Se il tuo tipo di file system non è xfs, sostituisci xfs con il tipo nel file /etc/fstab.

Estendere il volume logico

Esistono due opzioni per estendere i volumi logici:

  • Opzione 1: aumentare le dimensioni del volume EBS esistente.
  • Opzione 2: aggiungere ulteriori volumi EBS al tuo gruppo di volumi.

Opzione 1: aumentare le dimensioni del volume EBS esistente

Nota: Quando si aumenta la dimensione del volume esistente, le modifiche alle dimensioni hanno generalmente effetto entro pochi secondi quando il volume entra nello stato di ottimizzazione. Le prestazioni del volume sono influenzate durante lo stato di ottimizzazione, ma non scendono al di sotto delle specifiche di configurazione di origine. A seconda del tipo di volume, le modifiche alle prestazioni potrebbero richiedere da alcuni minuti a qualche ora. Per ulteriori informazioni, consulta Monitoraggio dell'avanzamento delle modifiche del volume.

1.    Modifica le dimensioni del volume EBS esistente.

2.    Installa l'utilità growpart:

$ sudo yum install cloud-utils-growpart

Nota: Usa il seguente comando per installare l'utilità growpart su sistemi basati su Debian o Ubuntu:

$ sudo apt install -y cloud-guest-utils

3.    Esegui il comando growpart per estendere la partizione, quindi esegui il comando pvresize per ridimensionare il PV. Nell'esempio seguente, la partizione /dev/xvdh1 è estesa:

$ sudo growpart /dev/xvdh 1                      
CHANGED: disk=/dev/xvdh partition=1: start=2048 old: size=20971519,end=16777182 new: size=41940958,end=41943006

$ sudo pvresize /dev/xvdh1                       
  Physical volume "/dev/xvdh1" changed
  1 physical volume(s) resized or updated / 0 physical volume(s) not resized

Usa pvs o pvdisplay per visualizzare i dettagli del volume fisico:

$ sudo pvs
  PV         VG            Fmt  Attr PSize   PFree
  /dev/xvdh1 examplegroup1 lvm2 a--  <20.00g <13.00g

Usa vgs o vgdisplay per visualizzare i dettagli del gruppo di volumi:

$ sudo vgs
  VG            #PV #LV #SN Attr   VSize   VFree
  examplegroup1   1   1   0 wz--n- <20.00g <13.00g

4.    Esegui il comando lvextend per estendere il volume logico:

$ sudo lvextend -L 19G /dev/examplegroup1/lvexample1

Usa il comando lvs o lvdisplay per visualizzare i dettagli del volume logico:

$ sudo lvs
  LV        VG            Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lvexample1 examplegroup1 -wi-a----- 19.00g

5.    Estendi il file system:

Nota: Assicurati di inserire il tipo di file system corretto nella voce /etc/fstab.

File system Ext2, Ext3 e Ext4:

$ sudo resize2fs /dev/examplegroup1/lvexample1

File system XFS:

$ sudo yum install x    rogs
$ sudo xfs_growfs /dev/examplegroup1/lvexample1

Opzione 2: aggiungere ulteriori volumi EBS al gruppo di volumi

1.    Crea un altro volume da 10 GB e quindi collega il volume all'istanza. Crea una partizione sul dispositivo /dev/xvdi seguendo il passaggio 3 di Creare volumi fisici sulla partizione del tuo volume EBS. Quindi esegui il comando pvcreate. Nell'esempio seguente, il nome del dispositivo a blocchi del volume è /dev/xvdi1.

$ sudo pvcreate /dev/xvdi1
Physical volume "/dev/xvdi1" successfully created.

2.    Usa il comando vgextend per estendere il gruppo di volumi e aggiungere il nuovo volume. L'esempio seguente estende il gruppo di volumi examplegroup1 per includere il volume /dev/xvdi1:

$ sudo vgextend examplegroup1 /dev/xvdi1
  Volume group "examplegroup2" successfully extended

Per confermare l'estensione, esegui il comando vgs o vgdisplay. L'esempio seguente mostra che ora ci sono due PV nel gruppo di volumi examplegroup1:

$ sudo vgs
  VG                       #PV #LV #SN Attr   VSize   VFree
  examplegroup1            2   1   0 wz--n-  29.99g   20.99g

3.    Esegui il comando lvextend per estendere il volume logico:

$ sudo lvextend -L 29G /dev/examplegroup1/lvexample1

4.    Ridimensiona il file system:

**Nota:**A seconda del caso d'uso, segui i passaggi per i file system XFS o Ext2, Ext3 e Ext4.

File system Ext2, Ext3 e Ext4:

$ sudo resize2fs /dev/examplegroup1/lvexample1

File system XFS:

$ sudo xfs_growfs /dev/examplegroup1/lvexample1

Informazioni correlate

Come faccio a creare un volume logico LVM su un volume EBS?

AWS UFFICIALE
AWS UFFICIALEAggiornata 2 anni fa