Windows Server 2016: spazio disco errato su volume dati E: — liberare spazio rimuovendo Shadow Copies e limitando System Volume Information

Windows Server 2016 segnala poco spazio libero su un volume dati (E:) nonostante i file visibili occupino solo ~400 GB? Il colpevole, quasi sempre, è la cartella System Volume Information piena di snapshot VSS (Shadow Copies) non governate. In questa guida trovi diagnosi rapida, comandi sicuri e prevenzione.

Indice

Panoramica del problema

Scenario reale: volume dati da 1,8 TB (unità E:) usato da anni come share di rete. I file visibili pesano circa 400 GB, ma Esplora risorse mostra solo 66 GB liberi. chkdsk non evidenzia errori. Il comportamento è tipico di un consumo anomalo nella cartella protetta System Volume Information (SVI), alimentato da Volume Shadow Copy Service (VSS), spesso attivato da software di backup o dalle “Versioni precedenti” anche quando il Ripristino configurazione non è abilitato sul server.

Perché accade

VSS crea snapshot differenziali del volume: ogni modifica futura a un blocco già “fotografato” viene salvata a parte, facendo crescere lo spazio occupato in SVI. Senza un limite esplicito (shadowstorage), la crescita può saturare il disco. Poiché SVI è nascosta e protetta, strumenti standard e conteggi “da utente” non ne mostrano l’impatto a meno di usare privilegi SYSTEM.

Cause principali emerse

CategoriaDettagli rilevati o ipotizzatiCome influisce sullo spazio
Cartella System Volume InformationAnalisi con TreeSize avviato come SYSTEM (psexec -s -i) mostra un utilizzo anomalo della cartellaContiene copie shadow VSS che possono crescere fino a saturare il disco se non c’è un limite
Shadow Copies attive senza gestioneAnche senza “Ripristino configurazione”, VSS può essere invocato da backup di terze parti o dalla funzione “Versioni precedenti”Ogni snapshot conserva blocchi modificati → spazio occupato » dimensione dei file correnti
File nascosti / diritti NTFSFile nascosti o protetti non compaiono nei conteggi se non si opera con privilegi di sistemaVisibilità parziale dei consumi, analisi fuorviante
Altre ipotesi esclusePaging file, deduplicazione, dimensione cluster e chkdsk non mostrano anomalieNon responsabili nel caso specifico

Diagnosi rapida e affidabile

Obiettivo: confermare che la maggior parte dello spazio è allocata in System Volume Information a causa di VSS.

  1. Mappa l’uso reale come SYSTEM
    psexec -s -i cmd "C:\Program Files\TreeSize Free\TreeSizeFree.exe" Scansiona la radice E:\ e verifica che System Volume Information sia la voce predominante.
  2. Interroga VSS e lo shadowstorage di E:
    vssadmin list shadows /for=E: vssadmin list shadowstorage /for=E: Annota Used Shadow Copy Storage space e Maximum Shadow Copy Storage space. Se il massimo è “UNBOUNDED”, non esiste un tetto.
  3. Controlla anche le “Versioni precedenti” dal punto di vista utente
    Tasto destro su E:\ProprietàVersioni precedenti. Se compaiono istantanee, il VSS è in uso.

Soluzioni operative consolidate

Le azioni seguenti sono le più efficaci e sicure in ambienti di produzione. Esegui i comandi in un prompt amministrativo.

Eliminare tutte le Shadow Copies del volume

Metodo rapido (consigliato e già verificato in casi analoghi):

diskshadow
delete shadows volume E:
exit

Alternativa nativa con vssadmin:

vssadmin list shadows /for=E:
vssadmin delete shadows /for=E: /all

Disattivare o limitare la crescita di VSS

Da interfaccia grafica: Proprietà del volume E: → scheda Shadow CopiesSettings → imposta una Quota massima (consigliato ≤ 10–15% del volume) oppure Disable se il requisito è abolire le versioni precedenti su quel disco dati.

Da riga di comando (reset dello shadowstorage e quota fissa):

vssadmin delete shadowstorage /for=E: /on=E:
vssadmin add shadowstorage /for=E: /on=E: /maxsize=50GB

La prima riga rimuove l’associazione storage esistente; la seconda la ricrea con un tetto rigido (esempio: 50 GB). Adatta il valore a retention e carico modifiche.

Verificare che System Restore non sia stato forzato

Su Windows Server 2016 la scheda “Protezione sistema” non appare tipicamente per dischi dati. Se compare (configurazioni atipiche), disabilitala per il volume E:.

Controlli post‑pulizia

  • Esegui chkdsk E: /f per risolvere eventuali riferimenti ancora allocati.
  • Riesegui TreeSize come SYSTEM per confermare la riduzione di SVI.
  • Monitora periodicamente: vssadmin list shadowstorage /for=E:

Piano B se il delta persiste

  1. Replica tutto il contenuto visibile con robocopy verso un disco esterno o un volume temporaneo.
  2. Elimina/ricrea la partizione o esegui una formattazione veloce NTFS (cluster 4 KB).
  3. Ripristina i dati con robocopy e verifica spazio e ACL.

Approfondimento tecnico

Come funziona VSS e perché “gonfia” SVI

Le Shadow Copies sono copy‑on‑write: alla prima modifica di un blocco già “fotografato”, VSS salva il valore precedente nello storage VSS (in SVI). Con carichi che riscrivono spesso gli stessi file (database, log, VM, build), lo spazio delle snapshot cresce rapidamente anche se la dimensione della directory “visibile” non aumenta.

Senza limitazione (UNBOUNDED), VSS può consumare l’intero volume. Impostando una quota, Windows elimina automaticamente le snapshot più vecchie quando serve spazio per quelle nuove.

Altri fattori che possono contribuire (secondari)

  • USN Journal (fsutil usn queryjournal E:): di solito nell’ordine di centinaia di MB o pochi GB, raramente causa principale ma utile verificarne le dimensioni. Puoi rigenerarlo: fsutil usn deletejournal /d E: fsutil usn createjournal m=134217728 a=33554432 E:
  • Cestino ($RECYCLE.BIN): svuotalo per tutti gli utenti: rd /s /q E:\$RECYCLE.BIN
  • File offline/temporanei generati da antivirus o software di replica: controlla cartelle di lavoro e log rotati.

Checklist operativa

AzioneComando/PassoEsito atteso
Inventario spazio come SYSTEMpsexec -s -i + TreeSizeSVI risulta la cartella più grande
Verifica shadowstoragevssadmin list shadowstorage /for=E:Quota illimitata o uso elevato
Rimozione snapshotdiskshadowdelete shadows volume E:Spazio libero aumenta subito
Imposizione quotavssadmin add shadowstorage ... /maxsize=XXGBCrescita VSS sotto controllo
Verifica integritàchkdsk E: /fNessun errore residuo

Automazione e monitoraggio

Script DiskShadow per pulizia periodica

  1. Crea il file C:\Scripts\purgevssE.dsh con il contenuto: DELETE SHADOWS VOLUME E: EXIT
  2. Crea un’attività pianificata che lo esegua come SYSTEM: schtasks /Create /TN "Purge VSS E" ^ /TR "cmd.exe /c diskshadow /s C:\Scripts\purgevssE.dsh" ^ /SC WEEKLY /D SUN /ST 23:30 /RU "SYSTEM"

Monitoraggio con PowerShell

Report sintetico su uso e quota di shadowstorage per E:

Get-CimInstance -ClassName Win32_ShadowStorage |
  Where-Object { $_.Volume -like "E:" } |
  Select-Object Volume,
                @{n="UsedGB";e={[math]::Round($_.UsedSpace/1GB,2)}},
                @{n="AllocatedGB";e={[math]::Round($_.AllocatedSpace/1GB,2)}},
                @{n="MaxGB";e={[math]::Round($_.MaxSpace/1GB,2)}}

Eliminare tutte le Shadow Copies del solo volume E: via CIM:

Get-CimInstance Win32_ShadowCopy |
  Where-Object { $_.VolumeName -like "E:" } |
  ForEach-Object { $_ | Invoke-CimMethod -MethodName Delete }

Allerta preventiva via registro eventi

Puoi creare un’attività che invii un alert quando lo spazio libero scende sotto una soglia, o quando VSS genera eventi ricorrenti. Log utili: Applicazione & Servizi → Microsoft → Windows → VSS e ShadowCopy (Operational), oltre al classico registro Applicazione.

Domande frequenti

“Il ripristino configurazione non è attivo: perché ho ancora snapshot?”

Perché VSS è un servizio di sistema. Può essere invocato da software di backup o dalla funzione “Versioni precedenti” sulle share SMB. Anche senza System Restore, le snapshot esistono e occupano spazio.

vssadmin list shadows non mostra nulla, ma lo spazio è comunque occupato”

Capita quando le snapshot sono state già eliminate ma lo shadowstorage è ancora alto, oppure quando la visibilità è parziale. Controlla vssadmin list shadowstorage /for=E:; se necessario, resetta e ricrea lo storage con quota fissa.

“Posso cancellare SVI con Esplora?”

No. È protetta da NTFS e dal sistema. Intervieni solo tramite diskshadow/vssadmin o comandi supportati. La cancellazione forzata può corrompere il volume o rompere il backup.

“Quale quota impostare per VSS?”

Dipende da: frequenza snapshot, volume di modifiche giornaliere (change rate) e retention desiderata. Per volumi di dati generici, un 10–15% è un buon compromesso. Per share con file grandi ma rari cambiamenti, può bastare meno; per carichi con molte riscritture, valuta più spazio o snapshot meno frequenti.

“Le snapshot influiscono sulle performance?”

Un numero elevato di snapshot e un change rate elevato aumentano l’I/O su SVI e la frammentazione logica. Limitare il numero di snapshot e fissare una quota riduce l’impatto.

Errori comuni da evitare

  • Lasciare shadowstorage illimitato su volumi dati condivisi: rischio saturazione improvvisa.
  • Eliminare tutte le snapshot senza coordinarsi con chi gestisce i backup: potresti perdere punti di ripristino necessari.
  • Confondere lettera e GUID volume: verifica con mountvol E: /L prima di agire.
  • Usare strumenti senza privilegi SYSTEM e trarre conclusioni errate sui consumi.

Procedure dettagliate consigliate

Sequenza di ripristino spazio “senza sorprese”

  1. Finestra di manutenzione e snapshot/backup ad-hoc del server (se richiesto dalla policy).
  2. Inventario con TreeSize come SYSTEM per fotografare la situazione di partenza.
  3. Eliminazione snapshot con diskshadow o vssadmin come sopra.
  4. Impostazione quota con vssadmin add shadowstorage.
  5. Verifica con vssadmin list shadowstorage e nuovo scan TreeSize.
  6. Monitoraggio periodico (task o script) e documentazione della configurazione.

Calcolo empirico della quota VSS

Stima veloce quando non conosci il change rate:

  • Se il volume contiene documenti e file condivisi: quota iniziale = 10% della capacità.
  • Se ospita dataset riscritti frequentemente (ad es. build, log, esportazioni): quota iniziale = 15–20% o snapshot meno frequenti.
  • Se l’obiettivo è solo “Versioni precedenti” per recuperi occasionali: 5–10% spesso è sufficiente.

Osserva per una settimana la metrica “Used Shadow Copy Storage space” e affina.

Strumenti e comandi utili

ScopoComandoNote
Dettaglio spazio VSSvssadmin list shadowstorage /for=E:Mostra usato/allocato/massimo
Elenco snapshotvssadmin list shadows /for=E:Può risultare vuoto se già scadute, ma lo storage può restare elevato
Elimina snapshot E:diskshadow ↵ delete shadows volume E:Metodo rapido e affidabile
Quota shadowstoragevssadmin add shadowstorage /for=E: /on=E: /maxsize=50GBTetto rigido; adatta a esigenze
Volume GUIDmountvol E: /LUtile per verifiche VSS basate su GUID
Spazio logicowmic logicaldisk where "DeviceID='E:'" get Size,FreeSpaceConfronto rapido numerico
Integrità NTFSchkdsk E: /fCorregge eventuali riferimenti orfani

Politiche e buone pratiche per evitare recidive

AzioneFrequenzaMotivo
Controllare vssadmin list shadowstorageMensileIndividuare crescita anomala
Impostare una quota VSS fissaUna tantumEvita consumi illimitati
Automatizzare diskshadow delete shadows volume E:Settimanale o dopo i backupMantiene il volume pulito
Documentare chi crea snapshot (backup, agent, script)SubitoResponsabilità chiare e ripristini prevedibili

Riepilogo essenziale

La discrepanza tra “file visibili” e “spazio libero” su Windows Server 2016 nasce quasi sempre da Volume Shadow Copy che accumula snapshot in System Volume Information. Per risolvere: elimina le copie con diskshadow/vssadmin, poi disabilita o limita VSS sul volume dati con una quota fissa. Esegui la diagnosi e le verifiche come SYSTEM (TreeSize), monitora lo shadowstorage e automatizza la pulizia se necessario. Le procedure qui indicate sono state applicate con successo in ambienti produttivi analoghi e riducono drasticamente il rischio di nuove saturazioni.


Appendice: esempio di sessione completa

:: 1) Diagnosi
psexec -s -i cmd
"C:\Program Files\TreeSize Free\TreeSizeFree.exe"

:: 2) Stato VSS
vssadmin list shadowstorage /for=E:
vssadmin list shadows /for=E:

:: 3) Pulizia
diskshadow
delete shadows volume E:
exit

:: 4) Quota e ri-configurazione
vssadmin delete shadowstorage /for=E: /on=E:
vssadmin add shadowstorage /for=E: /on=E: /maxsize=50GB

:: 5) Verifica & integrità
vssadmin list shadowstorage /for=E:
chkdsk E: /f

Tip: se TreeSize è installato in un percorso diverso, sostituisci la path nell’esempio. Puoi anche avviarlo come psexec -s -i powershell.exe e poi eseguire l’applicazione dal prompt PowerShell elevato di sistema.


Nota operativa sulla sicurezza: la cancellazione delle snapshot può rimuovere punti di ripristino utilizzati da piani di backup o da utenti tramite “Versioni precedenti”. Coordinati con il team di backup e rispetta le policy di retention prima di procedere.

Indice