Articolo valido per server cloud

In questo articolo ti spieghiamo come modificare il volume logico dopo aver ingrandito l'SSD su Ubuntu o Debian.

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

Ti consigliamo di eseguire un backup prima di modificare manualmente il volume logico.

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

  • Hai effettuato l'accesso al server come amministratore.

Preparazione

  • Se hai installato sul tuo server le distribuzioni Ubuntu 18.04, Ubuntu 20.04  o Ubuntu 22.04 , il programma growpart è già presente di dafault. Se sul tuo server sono invece presenti le distribuzioni Debian 10 o Debian 11, è necessario installare growpart. Se il programma non dovesse essere presente sul server, puoi installarlo con i comandi indicati qui sotto. Dopo aver inserito il relativo comando, segui le istruzioni riportate.

    Debian 10 e Debian 11

    [root@localhost ~]# apt-get install cloud-utils

    Ubuntu 18.04, Ubuntu 20.04 e Ubuntu 22.04

    [root@localhost ~]# apt-get install cloud-guest-utils

  • Per verificare lo spazio disponibile del volume logico, digita il seguente comando:

    [root@localhost ~]# df -h

    Dopo aver inserito il comando comparirà un partizionamento simile al seguente:

    Filesystem             Size   Used   Avail   Use%   Mounted on
    udev                   963M      0    963M     0%   /dev
    tmpfs                  198M   772K    197M     1%   /run
    /dev/mapper/vg00-lv01   77G   1.6G     72G     3%   /
    tmpfs                  986M      0    986M     0%   /dev/shm
    tmpfs                  5.0M      0    5.0M     0%   /run/lock
    tmpfs                  986M      0    986M     0%   /sys/fs/cgroup
    /dev/sda1              464M    60M    377M    14%   /boot
    tmpfs                  197M      0    197M     0%   /run/user/0

  • Annotati il volume logico che desideri ingrandire. Il volume logico si trova sotto /. Nell'esempio precedente, il volume logico da ingrandire è /dev/mapper/vg00-lv01.

  • Per visualizzare il partizionamento del volume logico, digita il seguente comando:

    root@localhost ~]# fdisk -l

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

    root@localhost:~# fdisk -l
    Disk /dev/sda: 100 GiB, 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
    Disklabel type: dos
    Disk identifier: 0xe68dc2ef
     
    Device     Boot    Start        End     Sectors     Size  Id       Type
    /dev/sda1   *       2048     999423      997376     487M  83      Linux
    /dev/sda2         999424  167772159   166772736    79.5G  8e  Linux LVM

    Disk /dev/mapper/vg00-lv01: 77.6 GiB, 83336626176 bytes, 162766848 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/vg00-lv00: 1.9 GiB, 2046820352 bytes, 3997696 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 individuare il file system, immetti il seguente comando:

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

    Nel seguente esempio, il volume logico /dev/mapper/vg00-lv01 utilizza il file system ext4:

    root@localhost:~# df -Th | grep "^/dev"
    /dev/mapper/vg00-lv01 ext4       77G  2.5G   71G   4% /
    /dev/sda1             ext4      456M  147M  276M  35% /boot

Ingrandire la partizione con growpart

Per poter ingrandire la partizione /dev/sda2, utilizza il seguente comando di growpart. Assicurati che ci sia uno spazio vuoto tra il nome del dispositivo e il numero della partizione.

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

Esempio:

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

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             vg00
      PV Size             79.52 GiB / not usable 3.00 MiB
      Allocatable         yes (but full)
      PE Size             4.00 MiB
      Total PE            20357
      Free PE             0
      Allocated PE        20357
      PV UUID             NseCRU-3JHj-Hwcq-BNpX-coVV-jBSy-l0EKWu

  • 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 resized

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

    root@localhost:~# lvdisplay
      --- Logical volume ---
      LV Path                /dev/vg00/lv00
      LV Name                lv00
      VG Name                vg00
      LV UUID                2DoZKM-A912-o9z8-2R1U-HbII-gNRF-lIKM1m
      LV Write Access        read/write
      LV Creation host, time somehost, 2019-03-07 16:43:12 +0000
      LV Status              available
      # open                 2
      LV Size                <1.91 GiB
      Current LE             488
      Segments               1
      Allocation             inherit
      Read ahead sectors     auto
      - currently set to     256
      Block device           253:1

      --- Logical volume ---
      LV Path                /dev/vg00/lv01
      LV Name                lv01
      VG Name                vg00
      LV UUID                dB1lWB-1TBC-Sl6S-g09N-v2lk-kXOv-yFYuFf
      LV Write Access        read/write
      LV Creation host, time somehost, 2019-03-07 16:43:12 +0000
      LV Status              available
      # open                 1
      LV Size                77.61 GiB
      Current LE             19869
      Segments               1
      Allocation             inherit
      Read ahead sectors     auto
      - currently set to     256
      Block device           253:0

  • Annotati il percorso del volume logico che desideri ingrandire. In questo esempio, il percorso è /dev/vg00/lv01.

  • 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/vg00/lv01
      Size of logical volume vg00/lv01 changed from 77.61 GiB (19869 extents) to
    97.61 GiB (24989 extents).
      Logical volume vg00/lv01 successfully resized.

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

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

    Esempio:

    root@localhost:~# resize2fs /dev/vg00/lv01
    resize2fs 1.44.1 (24-Mar-2018)
    Filesystem at /dev/vg00/lv01 is mounted on /; on-line resizing required
    old_desc_blocks = 10, new_desc_blocks = 13
    The filesystem on /dev/vg00/lv01 is now 25588736 (4k) blocks long.

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

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

    Esempio:

    [root@localhost ~]# xfs_growfs /dev/vg00/lv01

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

    [root@localhost ~]# df -h