In questo articolo ti spieghiamo come modificare il volume logico dopo aver ingrandito l'SSD su CentOS 7, CentOS Stream 8 e CentOS Stream 9.

Per gestire lo spazio di archiviazione sui Server Cloud viene utilizzato il Logical Volume Manager (LVM), che imposta un livello logico tra il file system e le partizioni della memoria dati utilizzata. Questo permette di creare un file system che copre più partizioni e/o dischi. In questo modo è possibile combinare lo spazio di archiviazione di più partizioni o dischi. Inoltre, il Logical Volume Manager offre la possibilità di ingrandire un volume logico mentre è in esecuzione.

Dopo aver ingrandito l'SSD del tuo Server Cloud, è necessario modificare manualmente il volume logico. Per farlo, procedi come segue:

Nota bene

Prima di procedere con la modifica manuale del volume logico, ti consigliamo di realizzare un'istantanea. Un'istantanea ti permette di salvare e, in seguito, ripristinare lo stato di un server cloud o di un server virtuale. Ricorda però che le istantanee vengono eliminate automaticamente dopo tre giorni.

Qui trovi ulteriori informazioni sulla creazione di un'istantanea:

Creare un'istantanea

Requisiti
  • Hai riavviato il server dopo aver ingrandito l'unità SSD.

  • Hai effettuato l'accesso al server come amministratore.

Preparazione

  • Installa il programma growpart. Per farlo, immetti il seguente comando e segui le istruzioni che ti compaiono:

    [root@localhost ~]# yum install cloud-utils-growpart

  • Per verificare lo spazio di archiviazione disponibile del volume logico, immetti il seguente comando:

    [root@localhost ~]# df -h

    Dopo aver inserito il comando, visualizzerai un partizionamento simile a questo:

    Filesystem                 Size  Used  Avail  Use%   Mounted on
    /dev/mapper/centos-root     78G  1.3G    77G    2%   /
    devtmpfs                   899M     0   899M    0%   /dev
    tmpfs                      910M     0   910M    0%   /dev/shm
    tmpfs                      910M   18M   893M    2%   /run
    tmpfs                      910M     0   910M    0%   /sys/fs/cgroup
    /dev/sda1                  509M  213M   296M   42%   /boot
    tmpfs                      182M     0   182M    0%   /run/user/0

  • Annotati il volume logico che desideri espandere. Questo si trova sotto /. Nell'esempio precedente, il volume logico che deve essere ingrandito è /dev/mapper/centos-root.

  • Per visualizzare il partizionamento del volume logico, digita il seguente comando. Successivamente, clicca su Invio.

    [root@localhost ~]# fdisk -l

    Dopo aver inserito il comando, visualizzerai la struttura del file system:

    [root@localhost ~]# fdisk -l

    Disk /dev/sda: 107.4 GB, 107374182400 bytes, 209715200 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 label type: dos
    Disk identifier: 0x000b4f66

       Device    Boot    Start        End    Blocks   Id     System
    /dev/sda1    *        2048    1050623    524288   83      Linux
    /dev/sda2          1050624  167772159  83360768   8e  Linux LVM

    Disk /dev/mapper/centos-root: 83.2 GB, 83181436928 bytes, 162463744 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 /dev/mapper/centos-swap: 2147 MB, 2147483648 bytes, 4194304 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

    In questo esempio, la partizione che deve essere modificata manualmente è sda2. Per farlo, annotatati il nome della partizione.

  • Per individuare il file system, immetti il seguente comando:

    [root@localhost ~]# df -Th | grep "^/dev"

    Nel seguente esempio il volume logico /dev/mapper/centos-root utilizza il file system xfs:

    [root@localhost ~]# df -Th | grep "^/dev"
    /dev/mapper/centos-root xfs        78G  1.7G   76G   3% /
    /dev/sda1               xfs       509M  207M  303M  41% /boot

Ingrandire la partizione con growpart

Per ingrandire la partizione, utilizza il seguente comando di growpart:

[root@localhost ~]# growpart /dev/nome-del-dispositivo

Esempio:

[root@localhost ~]# growpart /dev/sda 2

Assicurati che ci sia uno spazio vuoto tra il nome del dispositivo e il numero della partizione.

Ingrandire il volume logico manualmente

  • Per visualizzare informazioni dettagliate sui volumi fisici, digita il seguente comando:

    [root@localhost ~]# pvdisplay

    Dopo aver digitato il comando, visualizzerai delle informazioni simili alle seguenti:

    [root@localhost ~]# pvdisplay
      --- Physical volume ---
      PV Name              /dev/sda2
      VG Name              centos
      PV Size              <79.50 GiB / not usable 30.00 MiB
      Allocatable          yes (but full)
      PE Size              32.00 MiB
      Total PE             2543
      Free PE              0
      Allocated PE         2543
      PV UUID              6FKWEG-OnkG-QxZt-m7TB-wiDb-K9P6-I403lP

  • Per ingrandire il volume fisico, immetti il seguente comando:

    [root@localhost ~]# pvresize /dev/sda2

    Dopo aver inserito il comando, visualizzerai le seguenti informazioni:

    [root@localhost ~]# pvresize /dev/sda2
       Physical volume "/dev/sda2" changed
       1 physical volume(s) resized or updated / 0 physical volume(s) not resize

  • Per verificare lo stato dei volumi logici, immetti il seguente comando:

    [root@localhost ~]# lvdisplay
      --- Logical volume ---
      LV Path                /dev/centos/swap
      LV Name                swap
      VG Name                centos
      LV UUID                ZghzAz-F7hG-Kxsn-OEdM-idwf-HPmJ-esaD8s
      LV Write Access        read/write
      LV Creation            host, time localhost, 2019-03-18 19:48:34 +0000
      LV Status              available
      # open                 2
      LV Size                2.00 GiB
      Current LE             64
      Segments               1
      Allocation             inherit
      Read ahead sectors     auto
      - currently set to     8192
      Block device           253:1

    --- Logical volume ---
      LV Path                /dev/centos/root
      LV Name                root
      VG Name                centos
      LV UUID                1ajYhy-gUdt-KUG4-9MaO-8ayT-g7Yi-Q3lGg1
      LV Write Access        read/write
      LV Creation host, time localhost, 2019-03-18 19:48:34 +0000
      LV Status              available
      # open                 1
      LV Size                <77.47 GiB
      Current LE             2479
      Segments               1
      Allocation             inherit
      Read ahead sectors     auto
      - currently set to     8192
      Block device           253:0

  • Prendi nota del percorso del volume logico che desideri ingrandire. In questo esempio, il percorso è /dev/centos/root.

  • Per ingrandire il volume logico con il programma lvresize, digita il comando lvresize nel seguente formato:

    [root@localhost ~]# lvresize -l +100%FREE [PERCORSO DEL VOLUME LOGICO]

    Esempio:

    [root@localhost ~]# lvresize -l+100%FREE /dev/centos/root
      Size of logical volume centos/root changed from <77.47 GiB (2479 extents) to
    <97.47 GiB (3119 extents).
      Logical volume centos/root successfully resized.

  • Modifica le dimensioni del file system per utilizzare il nuovo spazio. Per impostare le nuove dimensioni per il file system con xfs_growfs, digita il comando xfs_growfs nel seguente formato:

    [root@localhost ~]# xfs_growfs [PERCORSO DEL VOLUME LOGICO]

    Esempio:

    [root@localhost ~]# xfs_growfs /dev/centos/root
    meta-data=/dev/mapper/centos-root isize=512   agcount=42, agsize=489472 blks
             =                        sectsz=512  attr=2, projid32bit=1
             =                        crc=1       finobt=0 spinodes=0
    data     =                        bsize=4096  blocks=20307968, imaxpct=25
             =                        sunit=0     swidth=0 blks
    naming   =version 2               bsize=4096  ascii-ci=0 ftype=1
    log      =internal                bsize=4096  blocks=2560, version=2
             =                        sectsz=512  sunit=0 blks, lazy-count=1
    realtime =none                    extsz=4096  blocks=0, rtextents=0
    data blocks changed from 20307968 to 2555084

    Se la partizione utilizza il file system ext4, immetti il seguente comando per poter modificare le dimensioni del file system:

    [root@localhost ~]# resize2fs [PERCORSO DEL VOLUME LOGICO]

    Esempio:

    [root@localhost ~]# resize2fs /dev/centos/root

  • Per verificare se il file system è stato modificato, immetti il seguente comando:

    [root@localhost ~]# df -h