Qualche giorno fa mi sono scervellato per risolvere un problema che ha rischiato di farmi ammattire, legandomi ad una sedia per un paio di giorni a fasi alterne.
Un’installazione di Small Business Server 2008 in funzione da oltre un anno di punto in bianco inizia a richiedere circa 45 minuti per la procedura di boot. Inizialmente penso addirittura che il sistema vada in crash e dopo 30/35 minuti lo spengo forzatamente. Ma non è così!
In pratica all’avvio la macchina esegue regolarmente il caricamento fino alla comparsa della barra verde di avanzamento, poi lo schermo rimane nero con il puntatore bianco del mouse (e la possibilità di muoverlo) per circa 40 minuti. Dall’ultimo backup del server è quindi stato fatto un restore su una macchina virtuale e da li sono cominciate le varie prove.
Dopo ore test e ricerche con il fido Google ho scoperto che il problema è essere causato dalla presenza di un quantitativo innumerevole di dispositivi “Copia shadow volume generico” all’interno della gestione dispositivi. Credo che queste entità siano generate dallo strumento di backup e dalla rotazione dei supporti di memorizzazione. Un tale quantitativo di dispositivi appesantisce il sistema che, seppur inesistenti, deve gestirli causando questi rallentamenti all’avvio.
Per verificare che il problema stia proprio nella presenza di questi device, innanzitutto abilitiamo la visulizzazione dei dispositivi nascosti. Dobbiamo aprire un prompt dei comandi e digitate la stringa seguente:
set devmgr_show_nonpresent_devices=1
Ora apriamo la console di gestione dispositivi, dall’interfaccia grafica oppure eseguendo da promtp dei comandi:
start devmgmt.msc
Se colpiti dal problema, il tempo impiegato per aprire la console potrebbe essere anche di svariati minuti, quindi portiamo pazienza…
Una volta aperta la nostra interfaccia selezioniamo, dal menù Visualizza, la voce Visualizza dispositivi nascosti. Nuovamente il tempo richiesto per l’operazione potrebbe essere lungo.
Aprendo la sezione Copie shadow volume di archiviazione ci troveremo in presenza di migliaia di voci identiche, identificate come Copia shadow volume generico. Anche questa visualizzazione, per completarsi, potrebbe richiedere una decina di minuti o più.
Ecco i dispositivi incriminati…
Come prima cosa, per poter eliminare agevolmente le voci dovremo reperire l’utility DevCon, contenuta nel Windows Driver Kit reperibile per il download, in formato ISO, qui. Per l’installazione le istruzioni sono reperibili su Technet. Io ho eseguito l’installazione della sola parte tools nel percorso predefinito (c:\WinDDK) trovando quindi il file devcon.exe nel percorso
C:\WinDDK\7600.16385.1\Tools\devcon\i386
Per comodità copio il file devcon.exe nella cartella C:\DevCon.
Ora dovremo reperire un file batch realizzato da Rob Van Der Woude, scaricabile da qui. Una volta salvato dovremo modificare la riga 53 come segue:
FOR /F “tokens=1 delims=: ” %%A IN (‘DEVCON FindAll @STORAGE\VolumeSnapshot\HarddiskVolumeSnapshot* ^| FIND /I /V “matching device(s)”‘) DO (
TYPE “%Temp%\DevconFind.txt” | FIND “%%~A” >NUL
IF ERRORLEVEL 1 %Debug% DEVCON Remove “@%%~A”
)
Per comodità copio salvo anche il file batch nella cartella C:\DevCon e avvio quindi un prompt dei comandi con privilegi amministrativi dal quale, dopo essermi posizionato sul path C:\DevCon eseguo il comando
RmHidDev.bat /Y /D >> log.txt
Questo comando elenca nel file log.txt la lista dei dispositivi che verranno rimossi così da potersi assicurare che verranno cancellati solo i dispositivi shadow copy generici. Effettuata la verifica, essendo tutto OK, rieseguo il comando senza lo switch >> log.txt.
I dispositivi da eliminare erano oltre 10.000 come si può vedere dal file di log. Da verifiche fatte su altri sistemi in produzione è emerso che comunque sia in pressochè tutte le installazioni è presente un alto numero di queste voci, ma limitato solitamente a poche centinaia.
Fonti:
Rob van der Woude’s Scripting Pages
http://discrucio.wordpress.com
Ciao Andrea, solitamente il problema che ho già riscontrato anche io nel backup , può essere aggirato ricreando il file di log e il database di sbsmonitoring; se vuoi ti posto la mia soluzione
Linka pure
Ciao ciao
Quando lancio il file batch mi dice che serve l’utility devcon, l’ho scaricata ma quando lancio l’installazione per Windows 7 64 bit mi dice che la versione del file non è compatibile con la versione del sistema???
Con Windows 7 non ho provato… appena ho un attimo faccio qualche test