Salta al contenuto

Come posso utilizzare LVM per creare un volume logico sulla partizione di un volume EBS?

7 minuti di lettura
0

Desidero utilizzare Logical Volume Manager (LVM) per creare un LV sulla partizione del mio volume Amazon Elastic Block Store (Amazon EBS).

Risoluzione

Se hai già creato e montato un LV, passa alla sezione Estendi il LV.

Crea PV sulla partizione del tuo volume

L'unità di archiviazione fisica sottostante di un LV è un dispositivo a blocchi, ad esempio una partizione di un volume o di un intero volume.

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 ai nomi dei dispositivi nei passaggi seguenti il nome del dispositivo appropriato. Per ulteriori informazioni, consulta Nomi dei dispositivi per i volumi su istanze Amazon EC2.

Per creare volumi fisici sulla partizione del volume, completa i seguenti passaggi:

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

  2. Crea il tuo volume EBS, quindi collega il volume alla tua istanza Amazon EC2.

  3. Esegui il seguente comando per installare LVM:

    sudo yum install lvm2 -y

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

    sudo apt-get install -y lvm2
  4. Esegui il comando gdisk per creare una partizione. Per il prompt Comando, inserisci n. 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

    Esempio di output:

    Changed type of partition to 'Linux LVM'
    
    OK; writing new GUID partition table (GPT) to /dev/xvdh.
    The operation has completed successfully.
  5. Esegui il comando lsblk per confermare che la partizione è stata creata:

    lsblk

    Esempio di output:

    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
  6. Esegui il comando pvcreate per creare un volume fisico (PV) dalla partizione. L'esempio seguente crea un PV da /dev/xvdh1:

    sudo pvcreate /dev/xvdh1

    Esempio di output:

    Physical volume "/dev/xvdh1" successfully created.

Crea gruppi di volumi e aggiungi il PV al gruppo di volumi

Completa i seguenti passaggi:

  1. Esegui il comando vgcreate per creare un gruppo di volumi che combini i nuovi PV. L'esempio seguente utilizza un PV per creare il gruppo di volumi examplegroup1:

    sudo vgcreate examplegroup1 /dev/xvdh1

    Esempio di output:

    group "examplegroup1" successfully created
  2. Esegui il comando vgs o vgdisplay per visualizzare i dettagli del gruppo di volumi:

    sudo vgs

    Esempio di output:

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

Crea un LV e una directory di montaggio

Completa i seguenti passaggi:

  1. Esegui il comando lvcreate per creare LV dal gruppo di volumi. L'esempio seguente crea un LV da 9 GB, lvexample1, dal gruppo di volumi examplegroup1:

    sudo lvcreate -n lvexample1 -L 9G examplegroup1

    Esempio di output:

    volume "lvexample1" created
  2. Esegui il comando lvs o lvdisplay per visualizzare i dettagli del LV:

    sudo lvs

    Esempio di output:

    LV          VG             Attr       LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
    lvexample1  examplegroup1  -wi-a----- 9.00g
  3. Esegui il comando mkdir per creare una directory di montaggio. L'esempio seguente crea la directory /mnt1:

    sudo mkdir /mnt1

Crea e monta un file system

Completa i seguenti passaggi:

  1. Esegui il comando mkfs -t per creare il file system:

    sudo mkfs -t xfs /dev/examplegroup1/lvexample1

    Nota: sostituisci xfs con il tuo tipo di file system. Ad esempio, utilizza ext2, ext3 o ext4.

  2. Esegui il comando lsblk -f per verificare che il file system sia stato creato:

    lsblk -f

    Esempio di output:

    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

    Nota: il tipo di file system viene visualizzato in FSTYPE.

  3. Esegui il comando mount per montare il file system nella directory di montaggio:

     sudo mount /dev/examplegroup1/lvexample1 /mnt1
  4. 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: sostituisci xfs con il tuo tipo di file system.

Estendi il LV

Per estendere il LV, aumenta le dimensioni del volume EBS esistente o aggiungi volumi EBS al gruppo di volumi.

Aumenta le dimensioni del volume EBS esistente

Nota: quando aumenti le dimensioni del volume esistente, le modifiche alle dimensioni hanno generalmente effetto entro pochi secondi dal momento in cui il volume entra nello stato Ottimizzazione. Quando il volume è nello stato Ottimizzazione, le sue prestazioni restano comprese tra le specifiche di configurazione di origine e di destinazione. A seconda del tipo di volume, le modifiche alle prestazioni possono richiedere da alcuni minuti a qualche ora. Per ulteriori informazioni, consulta Monitoraggio dell'avanzamento delle modifiche ai volumi Amazon EBS.

Per aumentare le dimensioni di un volume EBS esistente, completa i seguenti passaggi:

  1. Modifica le dimensioni del volume EBS esistente.

  2. Installa l'utilità growpart:

    sudo yum install cloud-utils-growpart -y

    Nota: utilizza 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. Nell'esempio seguente, la partizione /dev/xvdh1 è estesa:

    sudo growpart /dev/xvdh1    

    Esempio di output:

    CHANGED: disk=/dev/xvdh partition=1: start=2048 old: size=20971519,end=16777182 new: size=41940958,end=41943006
  4. Esegui il comando pvresize per ridimensionare il PV:

    sudo pvresize /dev/xvdh1   

    Esempio di output:

    Physical volume "/dev/xvdh1" changed
    1 physical volume(s) resized or updated / 0 physical volume(s) not resized
  5. Esegui il comando pvs o pvdisplay per visualizzare i dettagli del PV:

    sudo pvs

    Esempio di output:

    PV         VG            Fmt  Attr PSize   PFree
    /dev/xvdh1 examplegroup1 lvm2 a--  <20.00g <13.00g
  6. Esegui il comando vgs o vgdisplay per visualizzare i dettagli del gruppo di volumi:

    sudo vgs  

    Esempio di output:

    VG            #PV #LV #SN Attr   VSize   VFree
    examplegroup1   1   1   0 wz--n- <20.00g <13.00g
  7. Esegui il comando lvextend per estendere il LV:

    sudo lvextend -L 19G /dev/examplegroup1/lvexample1
  8. Esegui il comando lvs o lvdisplay per visualizzare i dettagli del LV:

     sudo lvs  

    Esempio di output:

    LV          VG             Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
    lvexample1  examplegroup1  -wi-a----- 19.00g
  9. Esegui uno di questi comandi per estendere il file system.
    File system Ext2, Ext3 e Ext4:

    sudo resize2fs /dev/examplegroup1/lvexample1

    File system XFS:

    sudo xfs_growfs /dev/examplegroup1/lvexample1

Aggiungi volumi EBS al gruppo di volumi

Completa i seguenti passaggi:

  1. Crea un altro volume EBS da 10 GB, quindi collega il volume all'istanza.

  2. Crea una partizione sul dispositivo /dev/xvdi.

  3. Esegui il comando pvcreate per creare un PV. Nell'esempio seguente, il nome del dispositivo a blocchi del volume è /dev/xvdi1:

    sudo pvcreate /dev/xvdi1

    Esempio di output:

    Physical volume "/dev/xvdi1" successfully created.
  4. Esegui 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

    Esempio di output:

    Volume group "examplegroup2" successfully extended
  5. Esegui il comando vgs o vgdisplay per verificare l’estensione:

     sudo vgs  

    L'esempio seguente mostra che ora sono presenti due PV nel gruppo di volumi examplegroup1:

                           #PV #LV #SN Attr   VSize   VFree
    examplegroup1           2   1   0 wz--n-  29.99g   20.99g
  6. Esegui il comando lvextend per estendere il LV:

    sudo lvextend -L 29G /dev/examplegroup1/lvexample1
  7. Esegui uno di questi comandi per estendere il file system.
    File system Ext2, Ext3 e Ext4:

    sudo resize2fs /dev/examplegroup1/lvexample1

    File system XFS:

    sudo xfs_growfs /dev/examplegroup1/lvexample1