Da molti anni il servizio WSUS (Windows Server Update Services, ex SUS, Software Update Services) rappresenta il modo più utilizzato nelle aziende per gestire gli aggiornamenti dei Computer Windows.
Il prodotto esiste dall’anno 2005 e a partire da Windows Server 2008 R2 è diventato un Ruolo installabile sui Server.
WSUS gestisce il catalogo degli aggiornamenti per le componenti di Windows e degli altri prodotti Microsoft, il ciclo di approvazione, la messa a disposizione in rete locale, ma non ha alcun controllo su quando e come tali aggiornamenti vengono applicati sui Computer destinatari: pur con questo limite, WSUS viene preferito perché gratuito e più facile da gestire rispetto al System Center Configuration Manager, prodotto che invece può forzare e controllare centralmente l’invio degli aggiornamenti.
Fin dalle prime versioni, il servizio WSUS ha richiesto un significativo spazio disco per funzionare, almeno 100 GB. Nel tempo la situazione è ulteriormente peggiorata principalmente con l’aumentare dei prodotti Microsoft gestiti da WSUS e soprattutto a causa della frequenza del rilascio degli aggiornamenti, principalmente per questioni legate alla Sicurezza.
Quello che si osserva dal Monitoraggio è un aumento costante nel tempo dello spazio disco occupato da WSUS:
Lo spazio disco è occupato dagli aggiornamenti che vengono approvati (manualmente o automaticamente) dalla Console di WSUS.
Inoltre si manifesta un problema ancora più grave: il servizio WSUS risponde nel tempo sempre più lentamente fino ad arrivare, anche nel giro di pochi mesi, alla Console che si disconnette ad intermittenza o non risponde più ai comandi e, ancora più grave, ai Client che non riescono più a scaricare gli aggiornamenti da applicare.
Questo secondo fenomeno è dovuto alla gestione non ottimizzata del database che WSUS utilizza per memorizzare tutte le informazioni sugli aggiornamenti e sui Client che stanno utilizzando il suo servizio.
Dalle ultime versioni di WSUS il Database utilizzato di default è WID (Windows Internal Database): nel path C:\Windows\WID\Data è possibile trovare il database di WSUS. Curiosamente il Database ha ancora il vecchio nome del prodotto, ovvero SUSDB !
È importante tenere controllata la dimensione del database SUSDB in quanto quando questo cresce già sopra i 7…8 GB si cominciano a riscontrare i primi problemi a WSUS.
Ci sono tre cause principali che provocano la crescita del Database SUSDB:
La tabella tbEventInstance può arrivare a contenere un numero molto elevato di righe in mancanza di una pulizia periodica di WSUS. Qui sotto si vede una situazione normale con qualche migliaio di righe:
Un fattore sicuramente importante da considerare è la dismissione degli aggiornamenti superati (Superseeded) e di quelli per i processori Itanium (sempre che uno non disponga in casa della tecnologia Itanium !): purtroppo WSUS non offre un modo semplice per effettuare questa operazione, conviene ricorrere a script Powershell.
Solo dopo aver esplicitamente dismesso (Declined) questi aggiornamenti inutili, verrà liberato sia lo spazio nel database e soprattutto lo spazio disco occupato da questi dati !
La pulizia del WSUS può essere effettuata sia dalla Console con il Server Cleanup Wizard o via script Powershell:
Per avere un servizio WSUS sempre efficiente è quindi necessario:
Solo così è possibile contenere lo spazio disco occupato da WSUS sotto i 100 GB ed un database sempre efficiente sotto i 5 GB.