1,325 22/03/2026 07/04/2026 4 min

Gestire le risorse di storage su Linux può diventare un compito complesso, specialmente in ambienti di produzione. Utilizzare LVM (Logical Volume Manager) e btrfs (B-tree File System) offre flessibilità e potenza, ma richiede anche un monitoraggio costante. Automatizzare questo processo è fondamentale per evitare interruzioni e garantire la disponibilità delle risorse. In questo articolo, vedremo come configurare un timer systemd per monitorare le quote LVM e verificare i snapshot btrfs.

Prerequisiti

  • Un sistema Linux con LVM e btrfs configurati.
  • Accesso come utente con privilegi sudo.
  • Conoscenze di base su systemd e comandi di shell.

Step 1: Configurare la quota su LVM

Prima di tutto, dobbiamo assicurarci che le quote siano abilitate per i volumi logici. Questo ci permetterà di monitorare l'uso dello spazio e prevenire il superamento dei limiti.

sudo lvcreate --size 10G --name my_volume vg_name
sudo lvchange --suspend vg_name/my_volume
sudo quotaon /dev/vg_name/my_volume

# Output:

Quota abilitata sul volume specificato.

Perché funziona: Abilitando le quote, possiamo definire limiti per gli utenti e prevenire l'esaurimento dello spazio di archiviazione.

Step 2: Creare uno script per il monitoraggio delle quote

Ora che le quote sono attive, creiamo uno script che verifichi periodicamente lo stato delle quote e invii un avviso se ci si avvicina ai limiti impostati.

#!/bin/bash

THRESHOLD=80
usage=$(lvs --units g --noheadings --units g --select 'lv_name=my_volume' --nosuffix | awk '{print $5}')

if [ $usage -gt $THRESHOLD ]; then
  echo "Attenzione: quota supera il $THRESHOLD%" | mail -s "Avviso di quota" tuo@email.com
fi

# Output:

Messaggio di avviso via mail.

Perché funziona: Lo script utilizza il comando lvs per monitorare l'uso e invia una notifica se il limite viene superato.

Step 3: Configurare systemd per eseguire lo script

Adesso configuriamo un timer systemd per eseguire il nostro script a intervalli regolari.

[Unit]
Description=Run quota check

[Timer]
OnCalendar=*:0/30

[Install]
WantedBy=multi-user.target

Salva questo file in /etc/systemd/system/quota-check.timer. Ora, creiamo l'unità per lo script:

[Unit]
Description=Quota check script

[Service]
Type=simple
ExecStart=/path/to/your/script.sh

Salva questo file in /etc/systemd/system/quota-check.service.

# Output:

Il timer è attivo e lo script viene eseguito ogni 30 minuti.

Perché funziona: Utilizzando systemd, possiamo pianificare l'esecuzione di task in modo semplice ed efficiente.

Step 4: Verificare i snapshot btrfs

Oltre a monitorare le quote LVM, è fondamentale verificare regolarmente lo stato dei snapshot btrfs. Creiamo uno script dedicato per questa operazione.

#!/bin/bash

snapshot_count=$(btrfs subvol show /path/to/snapshot | grep "Number of snapshots:" | awk '{print $NF}')

if [ $snapshot_count -lt 3 ]; then
  echo "Attenzione: numero di snapshot sotto il minimo richiesto." | mail -s "Avviso snapshot btrfs" tuo@email.com
fi

# Output:

Messaggio di avviso sui snapshot.

Perché funziona: Questo script controlla il numero di snapshot e invia una notifica se non è sufficiente.

Verifica Finale

Per assicurarti che tutto funzioni correttamente, è importante testare sia la configurazione del timer systemd sia lo script di monitoraggio delle quote.

sudo systemctl start quota-check.timer
sudo systemctl status quota-check.timer

# Output:

Stato del timer systemd attivo.

Nota: Controlla anche i log di sistema per eventuali errori relativi all’esecuzione dello script.

Troubleshooting

Errore 1: "Quota exceed limit"

Causa: Utilizzo della quota superiore al limite definito.

Fix: Riduci l'uso del volume o aumenta la quota consentita.

Errore 2: "Snapshot creation failed"

Causa: Spazio insufficiente per creare un nuovo snapshot.

Fix: Libera spazio o aumenta la dimensione del volume btrfs.

Errore 3: "Mail command not found"

Causa: Pacchetto mail non installato o configurato.

Fix: Installa un mail transfer agent come postfix o ssmtp.

Conclusione

Automatizzare il monitoraggio delle quote e la verifica dei snapshot è un approccio essenziale per mantenere la stabilità del sistema. Configurando correttamente LVM e btrfs insieme a systemd, riduci il rischio di problemi futuri. Come prossimo passo, esplora l'integrazione con strumenti di monitoring avanzati per una gestione ancora più efficace delle risorse.