Come ottimizzare lo spazio di archiviazione su Linux

15 min di lettura - 22 maggio 2026

hero section cover
Indice
  • Come ottimizzare lo spazio di archiviazione su Linux
  • Scoprire cosa sta occupando spazio sul disco
  • Cancellazione delle cache dei pacchetti, dei log e dei duplicati
  • Ottimizzazione a livello di filesystem
  • Automazione della manutenzione dello storage
  • Sfruttare al massimo ogni gigabyte
Condividi

Tecniche pratiche per recuperare e ottimizzare lo spazio su disco dei server Linux, dalla pulizia della cache dei pacchetti alla messa a punto del filesystem e alla manutenzione automatica.

Come ottimizzare lo spazio di archiviazione su Linux

Per anni, la risposta standard a un disco pieno era semplice: aggiungere più spazio di archiviazione. Lo spazio di archiviazione era economico. Ora non è più così. I prezzi delle memorie flash NAND sono aumentati vertiginosamente dalla fine del 2025, spinti dalla domanda di infrastrutture di IA che ha assorbito la capacità produttiva globale. I prezzi contrattuali degli SSD aziendali sono aumentati dell'85-90% solo nel primo trimestre del 2026, le unità NVMe di consumo hanno quasi raddoppiato il prezzo al dettaglio e la nuova capacità produttiva di NAND non dovrebbe diventare operativa prima del 2027.

Il risultato: ogni gigabyte sul vostro server costa più di un anno fa, e questo rende l'ottimizzazione di ciò che già possedete un investimento molto migliore rispetto all'acquisto di nuova capacità. Questo post spiega come individuare cosa sta occupando lo spazio sul vostro disco, ripulirlo e configurare il vostro filesystem per utilizzare lo spazio di archiviazione in modo più efficiente.


 

Scoprire cosa sta occupando spazio sul disco

Inizia con df -h per ottenere un'istantanea di ogni filesystem montato, incluse le dimensioni totali, lo spazio utilizzato e la percentuale di utilizzo. Qualsiasi partizione al di sopra del 90% richiede attenzione. Controlla le partizioni specifiche singolarmente se necessario:

df -h /
df -h /boot

Non trascurare gli inode. Un filesystem può avere spazio libero ma nessun inode disponibile, il che causa gli stessi errori. Controlla con df -i.

Se df mostra un utilizzo del 100% ma i numeri non tornano, probabilmente hai dei file fantasma. Si tratta di file che sono stati eliminati ma che sono ancora tenuti aperti da un processo in esecuzione. Lo spazio non verrà recuperato finché il processo non rilascerà l'handle del file. Trovali con:

sudo lsof / | grep deleted

Una volta individuati i file system sotto pressione, approfondisci le directory con du o ncdu. Per controlli rapidi o script, du è lo strumento giusto:

du -h --max-depth=1 /var

Aggiungi -x durante la scansione dalla radice per rimanere su un singolo filesystem e saltare i mount virtuali come /proc. Per l'esplorazione interattiva su un server remoto, ncdu ti offre un'interfaccia testuale navigabile in cui puoi ordinare per dimensione ed eliminare i file direttamente.

Caratteristicaduncdu
InterfacciaOutput statico della riga di comandoTUI interattiva con navigazione tramite tasti freccia
Ideale perScripting e controlli rapidiEsplorazione manuale su server remoti
OrdinamentoRichiede il piping a sortIntegrato (per dimensione, nome, ecc.)
Eliminazione dei fileComando rm comandoIntegrato (premere d)

Cancellazione delle cache dei pacchetti, dei log e dei duplicati

Tre aree rappresentano costantemente lo spazio più recuperabile: cache dei pacchetti, file di log e file di grandi dimensioni o duplicati.

Cache dei pacchetti e dipendenze orfane

Ogni installazione o aggiornamento lascia dei file di pacchetti nella cache. Col tempo, questi si accumulano silenziosamente. Puliscili in base alla tua distribuzione:

AttivitàDebian/Ubuntu (APT)Fedora/RHEL (DNF)Arch (Pacman)
Svuota la cachesudo apt cleansudo dnf clean allsudo paccache -r
Rimuovi i file orfanisudo apt autoremovesudo dnf autoremovepacman -Rs $(pacman -Qdtq)
Elimina i file di configurazione residuisudo apt autoremove --purgeGestito da autoremoveN/A

Visualizza prima l'anteprima delle modifiche con sudo apt autoremove --dry-run. I vecchi kernel possono occupare 1,5 GB o più sui sistemi Ubuntu. Conserva sempre il kernel in esecuzione e un backup prima di rimuovere le versioni precedenti.

Se si utilizza Snap o Flatpak, anche questi accumulano revisioni e runtime:

sudo snap set system refresh.retain=2
flatpak uninstall --unused

File di log in /var/log

I log sono la causa più comune di consumo silenzioso di spazio su disco. Individua prima i log di dimensioni eccessive:

du -xhd1 /var/log | sort -h
find /var/log -type f -size +100M

Per i journal di systemd, usa lo strumento vacuum integrato invece di eliminare i file manualmente:

sudo journalctl --vacuum-size=500M

Per impostare un limite permanente, modifica /etc/systemd/journald.conf:

SystemMaxUse=500M
MaxRetentionSec=14day

Per i file di log attivi ancora tenuti aperti da un servizio, non utilizzare rm. Lo spazio non verrà liberato finché il processo mantiene il descrittore di file. Utilizza invece il comando truncate:

sudo truncate -s 0 /var/log/syslog

File di grandi dimensioni e duplicati

Trova i file superiori a 500 MB in tutto il sistema:

sudo find / -type f -size +500M -exec ls -lh {} +

Per i duplicati, rmlint utilizza confronti basati su hash per rilevare file duplicati, directory vuote e collegamenti simbolici non funzionanti. Esaminare attentamente l'output prima di rimuovere qualsiasi cosa, in particolare sui server in cui file identici possono svolgere ruoli diversi.

Ottimizzazione a livello di filesystem

Dopo aver ripulito i file, è possibile ricavare più spazio utilizzabile dallo stesso hardware ottimizzando il filesystem.

Riduzione dello spazio riservato ext4

Per impostazione predefinita, ext4 riserva il 5% del filesystem per la root. Su una partizione dati da 2 TB, ciò significa 100 GB inutilizzati. Su un server dedicato in cui la partizione dati non è il filesystem di root, è possibile ridurre tranquillamente questa percentuale:

sudo tune2fs -m 1 /dev/sdXn

Questo imposta la riserva all'1%, che è sufficiente per la maggior parte dei casi d'uso. Verifica la modifica con tune2fs -l /dev/sdXn.

Compressione trasparente di Btrfs

Btrfs supporta la compressione trasparente dei file, che ext4 e XFS non offrono. Montare con compress=zstd per comprimere automaticamente i dati in fase di scrittura. ZSTD offre un buon equilibrio tra velocità e rapporto di compressione. Per carichi di lavoro con file misti, compress-force=zstd può offrire un ulteriore risparmio del 10-20% comprimendo i file che l'euristica normalmente tralascierebbe.

Per comprimere i dati esistenti su un volume Btrfs:

btrfs filesystem defragment -czstd /path/to/dir

Fare attenzione a questa operazione su volumi che contengono snapshot o reflink. La deframmentazione interrompe le relazioni Copy-on-Write, il che può effettivamente aumentare l'utilizzo del disco.

Sia XFS che Btrfs supportano i reflink, che creano copie di file che condividono blocchi fisici fino a quando una copia non viene modificata. Ciò è utile per clonare immagini disco di VM o livelli di container senza raddoppiare il consumo di spazio di archiviazione:

cp --reflink=always source.img clone.img

Thin provisioning LVM

Il thin provisioning LVM consente di allocare più spazio logico di quello fisicamente disponibile, consumando spazio su disco solo man mano che i dati vengono scritti. Ciò è utile quando si eseguono più VM o container che necessitano ciascuno di un proprio volume logico, ma che non li riempiono tutti contemporaneamente.

Per evitare che i pool thin si esauriscano, abilitare l'estensione automatica in /etc/lvm/lvm.conf impostando thin_pool_autoextend_threshold e thin_pool_autoextend_percent.

Automazione della manutenzione dello storage

Le pulizie manuali funzionano una volta sola. Quelle automatizzate mantengono i dischi in buono stato da ora fino al prossimo accesso. Utilizza systemd i timer cron , ove possibile. Registrano automaticamente l'output journalctl e Persistent=true recupera le esecuzioni perse dopo un riavvio.

StrumentoStrumentoFrequenza
Rotazione dei loglogrotateGiornaliera o settimanale
Aspirazione del registrojournalctl --vacuum-timeSettimanale
Pulizia della cache dei pacchettiapt clean / dnf clean allMensile
Eliminazione dei file temporaneisystemd-tmpfilesGiornaliero
Pulizia di Dockerdocker system pruneSettimanale
Monitoraggio dell'utilizzo del discoScript personalizzato + timer systemdOgni 15-30 min

Docker merita un'attenzione particolare. I log dei container possono crescere senza alcun preavviso visibile. Limita la dimensione dei log a livello globale modificando /etc/docker/daemon.json. Impostare max-size e max-file sotto la log-opts chiave per impedire che i singoli container riempiano il disco.

Per un monitoraggio proattivo, imposta un sistema di avvisi a due livelli: un avviso all'80% di utilizzo del disco e un avviso critico al 90%. Registra l'utilizzo del disco ogni ora in modo da poter monitorare le tendenze di crescita e prevedere quando una partizione raggiungerà la capacità massima:

0 * * * * df --output=source,size,used,pcent >> /var/log/disk_usage.csv

Un'ulteriore misura di sicurezza: montare /var, /tmpe /home su partizioni separate. Ciò impedisce che i log fuori controllo o i dati degli utenti consumino il filesystem di root e causino il crash dell'intero sistema.

Sfruttare al massimo ogni gigabyte

Con i prezzi dello storage in aumento e nessuna tregua prevista fino all'avvio della nuova produzione di NAND nel 2027, ottimizzare ciò che si ha a disposizione non è solo una buona pratica. Consente di risparmiare denaro reale. L'approccio è semplice:

  • Verificate l'utilizzo del disco con df, due ncdu prima di apportare qualsiasi modifica.
  • Svuotare le cache dei pacchetti, ruotare i log e rimuovere i duplicati per recuperare spazio immediatamente.
  • Ottimizzate il vostro filesystem. Riducete i blocchi riservati di ext4, abilitate la compressione Btrfs o utilizzate il thin provisioning LVM per ottenere di più dallo stesso hardware.
  • Automatizza la manutenzione con i timer di systemd in modo che i tuoi dischi rimangano puliti tra un controllo e l'altro.
  • Monitorate le tendenze di utilizzo e impostate avvisi all'80% e al 90% per individuare i problemi in anticipo.

Se hai bisogno di un'infrastruttura server dedicata con storage NVMe ad alte prestazioni, i server dedicati di FDC sono fatti apposta per te.

Blog

In primo piano questa settimana

Altri articoli
Perché è importante avere un VPS potente e senza contatore

Perché è importante avere un VPS potente e senza contatore

Avete bisogno di prestazioni affidabili e traffico illimitato? Un potente VPS senza contatore offre la velocità, la scalabilità e la larghezza di banda di cui avete bisogno, senza preoccuparvi dei limiti di utilizzo.

3 min di lettura - 9 maggio 2025

Come ottimizzare lo spazio di archiviazione su Linux

15 min di lettura - 22 maggio 2026

Altri articoli
background image

Avete domande o avete bisogno di una soluzione personalizzata?

icon

Opzioni flessibili

icon

Portata globale

icon

Distribuzione immediata

icon

Opzioni flessibili

icon

Portata globale

icon

Distribuzione immediata