1,645 22/03/2026 07/04/2026 3 min

Gestire e ottimizzare lo spazio su un file system è fondamentale, specialmente in ambienti di produzione. Utilizzando LVM (Logical Volume Manager) con Btrfs, possiamo sfruttare snapshot e quote per migliorare la gestione dello storage. In questo articolo, forniremo una checklist post-deploy con comandi essenziali per verificare lo stato del file system e garantire prestazioni ottimali.

Prerequisiti

  • Accesso root o privilegi sudo sul server Linux.
  • Un sistema con LVM e Btrfs configurato.
  • Familiarità con il terminale Linux e comandi di base.

Step per la Verifica e Ottimizzazione

1. Controllo dello Spazio Disponibile

Verificare quanto spazio è disponibile sui volumi LVM è il primo passo per evitare problemi di spazio esaurito.

lvdisplay
# Output:
  --- Logical volume ---
  LV Name                /dev/vg0/lv_data
  VG Name                vg0
  LV Size                10.00 GiB
  Current LE             256
  Allocation             inherit

Perché funziona: Il comando lvdisplay mostra dettagli sui volumi logici e il loro utilizzo.

2. Controllo degli Snapshot Btrfs

Un file system Btrfs permette la creazione di snapshot rapidi. Controlliamo gli snapshot esistenti per garantire che non occupino troppo spazio.

btrfs subvolume list /mnt/data
# Output:
ID 256 gen 5 top level 5 path snapshots

Perché funziona: Questo comando elenca tutti i subvolumi e gli snapshot presenti nel file system Btrfs.

3. Configurazione delle Quote su Btrfs

Aggiungere quote sui subvolumi permette di evitare che occupino spazio eccessivo. Configuriamo le quote.

btrfs quota enable /mnt/data
btrfs quota limit  /mnt/data
# Output:
Quota limits set for /mnt/data

Perché funziona: L'abilitazione delle quote su Btrfs consente di gestire l'uso dello spazio su disco per ogni subvolume.

4. Ottimizzazione dell'I/O Scheduler

La scelta di un buon I/O scheduler può migliorare nettamente le prestazioni. Verifichiamo quale scheduler è in uso e cambiamolo se necessario.

cat /sys/block/sda/queue/scheduler
# Output:
[bfq] mq-deadline none

echo bfq > /sys/block/sda/queue/scheduler
# Output:
Scheduler changed to bfq

Perché funziona: Il comando cat mostra l'attuale I/O scheduler, e possiamo cambiarlo tramite echo.

Verifica Finale

Dopo aver eseguito i passaggi precedenti, controlliamo che tutto sia configurato correttamente. Utilizziamo comandi per verificare l'efficacia delle impostazioni.

df -h
# Output:
Filesystem      Size  Used Avail Use% Mounted on
/dev/vg0/lv_data   10G  1G  9G  10% /mnt/data

Assicuriamoci che il file system mostri lo spazio corretto e che le quote siano rispettate.

Troubleshooting

Ecco alcuni errori comuni e come risolverli:

  1. Errore: Not enough space on device
    Cause: Il volume logico è pieno.
    Fix: Espandere il volume usando lvextend -L +5G /dev/vg0/lv_data
  2. Errore: Cannot create snapshot
    Cause: Non è abilitata la quota sul subvolume.
    Fix: Abilitare la quota con btrfs quota enable /mnt/data
  3. Errore: IO scheduler not changing
    Cause: Permessi insufficienti.
    Fix: Eseguire il comando come root o con sudo.

Conclusione

Ottimizzare il file system LVM con Btrfs richiede attenzione e verifica costante. I passaggi presentati garantiscono che tu possa gestire lo spazio efficacemente. Il prossimo passo concreto è monitorare regolarmente le performance del sistema e pianificare eventuali espansioni o ottimizzazioni future.