Estendere i volumi logici

By | Agosto 14, 2018

Nota: questo è un obiettivo d’esame RHCSA 7.


Prerequisiti

Questo tutorial richiede 200MB di spazio disponibile su disco.

Prima di estendere qualsiasi volume logico non crittografato, creiamo uno di 100MB chiamato lv_vol nel gruppo di volumi vg:

# lvcreate --size 100M --name lv_vol vg

Solo i file system Ext4 e XFS non crittografati possono essere estesi, non vfat.

Nota 1: in questo tutorial, i comandi lvextend e lvreduce vengono utilizzati rispettivamente per aumentare e ridurre la dimensione di un volume logico. Per brevità, il comando lvresize non è discusso qui, ma le stesse operazioni possono essere fatte in un modo leggermente diverso con questo comando (vedi commenti).
Nota 2: con RHEL 7.3, il servizio NetworkManager ha ottenuto due nuove direttive nel suo file di unità: ProtectSystem=true e ProtectHome=read-only. Queste direttive vietano alcune modifiche apportate al sistema (/usr, /boot, /root, /run /user) e / home directory, principalmente la creazione di collegamenti simbolici (vedere i dettagli qui). Per la maggior parte delle operazioni, questo non dovrebbe cambiare nulla, ma è meglio saperlo.


Estensione di un Ext4 logical Volume

Per creare un file system ext4 sul volume logico creato in precedenza, digitare:

# mkfs.ext4 /dev/vg/lv_vol
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
25688 inodes, 102400 blocks
5120 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=33685504
13 block groups
8192 blocks per group, 8192 fragments per group
1976 inodes per group
Superblock backups stored on blocks:
        8193, 24577, 40961, 57345, 73729

Allocating group tables: done
Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done

Facoltativamente, installa il nuovo file system su /mnt:

# mount /dev/vg/lv_vol /mnt
Per allocare tutto lo spazio disponibile nel gruppo di volumi in un volume logico in formato Ext4 non crittografato (qui /dev/vg/lv_vol), digitare:
# lvextend -l +100%FREE -r /dev/vg/lv_vol
Nota: il file system viene automaticamente esteso (-r) senza bisogno di smontarlo.
Per estendere la dimensione di un volume logico in formato Ext4 non criptato (qui /dev/vg/lv_vol) di 50MB, digitare:
# lvextend --size +50M -r /dev/vg/lv_vol
  Rounding size to boundary between physical extents: 52.00 MiB
  Extending logical volume lv_vol to 152.00 MiB
  Logical volume lv_vol successfully resized
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/mapper/vg-lv_vol is mounted on /mnt; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 2
The filesystem on /dev/mapper/vg-lv_vol is now 155648 blocks long.
Sebbene non vi sia alcun motivo per farlo, puoi comunque farlo in due passaggi:
# lvextend --size +50M /dev/vg/lv_vol
  Rounding size to boundary between physical extents: 52.00 MiB
  Extending logical volume lv_vol to 152.00 MiB
  Logical volume lv_vol successfully resized
# resize2fs /dev/vg/lv_vol
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/vg/lv_vol is mounted on /mnt; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 2
The filesystem on /dev/vg/lv_vol is now 155648 blocks long.

Riduzione di un Ext4 logical volume

Al contrario, per ridurre la dimensione di un volume logico (qui di 50MB), devi seguire questi passaggi:
Smontare il file system (qui /dev/vg/lv_vol):
# umount /dev/vg/lv_vol
Ridurre la dimensione del volume logico (qui /dev/vg/lv_vol) e il file system associato allo stesso tempo (-r):
# lvreduce --size -50M -r /dev/vg/lv_vol
  Rounding size to boundary between physical extents: 48.00 MiB
fsck from util-linux 2.23.2
/dev/mapper/vg-lv_vol: 11/37544 files (9.1% non-contiguous), 10390/155648 blocks
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/mapper/vg-lv_vol to 106496 (1k) blocks.
The filesystem on /dev/mapper/vg-lv_vol is now 106496 blocks long.

  Reducing logical volume lv_vol to 104.00 MiB
  Logical volume lv_vol successfully resized
Montare il file system (qui /dev/vg/lv_vol):
# mount /dev/vg/lv_vol /mnt

Estensione di un XFS logical volume

Per creare un file system XFS sul volume logico precedentemente creato denominato lv_vol (vedere prerequisiti), digitare:
# mkfs.xfs /dev/vg/lv_vol
meta-data=/dev/vg/lv_vol isize=256 agcount=4, agsize=6400 blks
         = sectsz=512 attr=2, projid32bit=1
         = crc=0
data     = bsize=4096 blocks=25600, imaxpct=25
         = sunit=0 swidth=0 blks
naming   =version 2 bsize=4096 ascii-ci=0 ftype=0
log      =internal log bsize=4096 blocks=853, version=2
         = sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0

Montare il nuovo file system su /mnt:

# mount /dev/vg/lv_vol /mnt

Per estendere la dimensione di un volume logico in formato XFS non criptato (qui /dev/vg/lv_vol) di 50 MB, digitare:

# lvextend --size +50M -r /dev/vg/lv_vol
  Rounding size to boundary between physical extents: 52.00 MiB
  Extending logical volume lv_vol to 152.00 MiB
  Logical volume lv_vol successfully resized
meta-data=/dev/mapper/vg-lv_vol isize=256    agcount=4, agsize=6400 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0
data     =                       bsize=4096   blocks=25600, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
log      =internal               bsize=4096   blocks=853, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 25600 to 38912

Nota 1: il file system viene automaticamente esteso (-r) senza bisogno di smontarlo.
Nota 2: non è possibile ridurre un file system XFS anche se lo si smonta. Devi eseguire il backup (con tar o un altro strumento), rilasciarlo e ricrearlo.

Sebbene non vi sia alcun motivo per farlo, puoi comunque farlo in due passaggi:

# lvextend --size +50M /dev/vg/lv_vol
  Rounding size to boundary between physical extents: 52.00 MiB
  Extending logical volume lv_vol to 152.00 MiB
  Logical volume lv_vol successfully resized
# xfs_growfs /mnt
meta-data=/dev/mapper/vg-lv_vol isize=256    agcount=4, agsize=6400 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0
data     =                       bsize=4096   blocks=25600, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
log      =internal               bsize=4096   blocks=853, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 25600 to 38912

Nota: il comando xfs_growfs accetta solo un file system XFS montato come parametro.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.