Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Il danneggiamento dei dati e gli errori del disco riguardano diverse aree, ad esempio problemi relativi all'accesso a un'unità, al danneggiamento dell'unità e alle prestazioni lente.
Gli ID evento seguenti indicano che si è verificato un danneggiamento dei dati o un errore del disco:
ID evento 153
È stata ritentata l'operazione di I/O in corrispondenza dell'indirizzo del blocco logico 123456 per il disco 2.
ID evento 129
È stato eseguito il ripristino del dispositivo\Device\RaidPort1.
ID evento 157
Disco 2 è stato rimosso a sorpresa.
ID evento 55
La struttura del file system sul disco è danneggiata e inutilizzabile. Eseguire l'utilità chkdsk nel volume.
ID evento 98
Volume C: (\Device\HarddiskVolume3) deve essere portato offline per eseguire un oggetto Full Chkdsk. Eseguire "CHKDSK /F" in locale tramite la riga di comando oppure eseguire "REPAIR-VOLUME <drive:>" localmente o in remoto tramite PowerShell.
Elenco di controllo per la risoluzione dei problemi
Note
Questo articolo descrive i comandi che devono essere eseguiti al prompt dei comandi con privilegi elevati.
Nel registro eventi di sistema cercare New Technology File System (NTFS) e gli avvisi e gli errori correlati al disco. Ad esempio, ID evento 55, 153 o 98.
Eseguire il comando
chkdsk /scan
e verificare il risultato relativo.Note
Il
chkdsk /scan
comando è di sola lettura.Eseguire una query su un'unità per ottenere informazioni sul volume specifiche di NTFS eseguendo il comando seguente:
fsutil fsinfo ntfsinfo <rootpath>:
Note
Il percorso radice segnaposto <> rappresenta la lettera di unità dell'unità radice.
Eseguire il comando
fsutil dirty query <volumepath>:
per verificare se il volume sia dirty.Note
Il percorso del volume segnaposto <> rappresenta la lettera di unità.
Per un volume il cui file system è NTFS, eseguire il comando
chkdsk /f /r
se il volume è dirty. Il comandochkdsk /F /R
richiede tempi di inattività perché il disco non sarà accessibile.Per un volume il cui file system è Resilient File System (ReFS), il danneggiamento del disco verrà riparato automaticamente.
Se l'utilità "chkdsk" non corregge gli errori del disco, eseguire un ripristino da un backup.
Eseguire la convalida dell'archiviazione per controllare se si verifichino errori correlati all'archiviazione.
Rimuovere i dischi dal cluster e ed eseguire una verifica a livello di sistema operativo.
Eseguire il comando
chkdsk /f
in tutti i volumi per cui è stato registrato l'evento.Aggiornare i driver o il firmware di archiviazione di terze parti.
Se il problema persiste, provare quanto segue:
Disinstallare qualsiasi software di gestione di dischi di terze parti, ad esempio Diskeeper.
Rimuovere o aggiornare i driver di filtro.
Contattare il fornitore dell'hardware ed eseguire la diagnostica dell'hardware per verificare che non sia la causa di problemi.
Contattare il fornitore di archiviazione per controllare la configurazione a percorsi multipli.
Aggiornare la porta SCSI o i driver del controller RAID.
Passaggio a tipi diversi di driver. Ad esempio, driver controller RAID o driver monolitici.
Aggiornare i driver Host Bud Adapter (HBA).
Aggiornare i driver a percorsi multipli dei moduli specifici del dispositivo (DSM).
Aggiornare il firmware HBA.
Risoluzione dei problemi relativi all'ID evento 153
L'ID evento 153 indica che si è verificato un errore con il sottosistema di archiviazione. L'ID evento 153 è simile all'ID evento 129, ma la differenza è che l'ID evento 129 viene registrato quando il driver Storport raggiunge il timeout di una richiesta e l'ID evento 153 viene registrato quando il driver del miniport Storport raggiunge il timeout di una richiesta. Il driver miniport può anche essere definito driver adattatore o driver HBA, in genere scritto dal fornitore dell'hardware.
Se viene registrato l'ID evento 153 o l'ID evento 129, il timeout di I/O del disco è la causa comune perché il controller di archiviazione non è in grado di gestire il carico. In questo caso, si verifica il timeout dell'operazione di I/O e il driver miniport (da un fornitore) invia i messaggi al driver Storport (l'ultimo driver di archiviazione Microsoft nello stack). Il driver Storport converte quindi le informazioni e registra l'evento nel Visualizzatore eventi.
Poiché il driver miniport ha una conoscenza sufficiente dell'ambiente di esecuzione della richiesta, alcuni driver miniport orano la richiesta stessa invece di consentire al driver Storport di gestire i tempi delle richieste. Il driver miniport può interrompere una singola richiesta e restituire un errore, mentre il driver Storport reimposta l'unità dopo un timeout. La reimpostazione dell'unità causa un'interruzione del sottosistema di I/O e potrebbe non essere necessaria se si è verificato il timeout di una sola richiesta. Il driver miniport restituisce l'errore al driver di classe che registra l'ID evento 153 e ritenta la richiesta.
Ecco un esempio di ID evento 153:
Log Name: System
Source: disk
Event ID: 153
Level: Warning
Description: The IO operation at logical block address 123456 for Disk 2 was retried.
Questo evento indica che una richiesta non è riuscita ed è stata ritentata dal driver di classe. Nessun messaggio di errore registrato in questa situazione perché il driver Storport non ha superato il timeout della richiesta. La mancanza di messaggi ha generato confusione durante la risoluzione degli errori del disco perché non sono state riscontrate prove dell'errore.
Nella scheda Dettagli del registro eventi, le informazioni dettagliate mostrano l'errore che ha causato il nuovo tentativo e se la richiesta era una richiesta di lettura o scrittura. Ad esempio:
0000: 0004010F 002C0003 00000000 80040099
0010: 00000000 00000000 00000000 00000000
0020: 00000000 00000000 28090000
in bytes
0000: 0F 01 04 00 03 00 2C 00 ......,.
0008: 00 00 00 00 99 00 04 80 ......
0010: 00 00 00 00 00 00 00 00 ........
0018: 00 00 00 00 00 00 00 00 ........
0020: 00 00 00 00 00 00 00 00 ........
0028: 00 00 09 28 ...*
In questo esempio, l'offset 29
dei byte mostra lo stato SCSI, l'offset 30
dei byte mostra lo stato del blocco di richieste SCSI (SRB) che ha causato il nuovo tentativo e l'offset 31
dei byte mostra il comando SCSI che viene ritentato. In questo caso, lo stato SCSI è 00
(SCSISTAT_GOOD
), lo stato SRB è 09
(SRB_STATUS_TIMEOUT
) e il comando SCSI è 28
(SCSIOP_READ
).
Ecco i comandi SCSI più comuni:
SCSIOP_READ - 0x28
SCSIOP_WRITE - 0x2A
Per un elenco di operazioni e stati SCSI, vedere scsi.h .
Ecco gli stati SRB più comuni:
SRB_STATUS_TIMEOUT - 0x09
SRB_STATUS_BUS_RESET - 0x0E
SRB_STATUS_COMMAND_TIMEOUT - 0x0B
Per un elenco degli stati di SRB, vedere srb.h .
Note
Gli errori di timeout (
SRB_STATUS_TIMEOUT
oSRB_STATUS_COMMAND_TIMEOUT
) indicano il timeout di una richiesta nell'adattatore. È stata inviata una richiesta all'unità e non è stata ricevuta alcuna risposta entro il periodo di timeout.L'errore di reimpostazione del bus (
SRB_STATUS_BUS_RESET
) indica che il dispositivo è stato reimpostato e che la richiesta viene ritentata a causa della reimpostazione perché tutte le richieste incomplete vengono interrotte quando un'unità riceve una reimpostazione.
Un amministratore deve verificare l'integrità del sottosistema del disco. Anche se un timeout occasionale può far parte del normale funzionamento di un sistema, le frequenti richieste di ripetizione indicano un problema di prestazioni con l'archiviazione che deve essere risolto.
Ulteriori informazioni
Poiché il problema si trova normalmente all'esterno del sistema operativo, verificare le cause comuni seguenti:
È configurato un tipo di limitazione, ad esempio le limitazioni di I/O. In alcuni casi, il controllo di I/O di archiviazione in VMware causa questo problema.
Troppe unità con un carico elevato si trovano nello stesso controller di archiviazione. Pertanto, le unità devono essere suddivise tra controller diversi.
Se multipath I/O (MPIO) è configurato, un singolo cavo o una scheda di interfaccia di rete danneggiata può causare problemi con iSCSI.
Risoluzione dei problemi relativi all'ID evento 129
L'ID evento 129 viene registrato con il nome del driver dell'adattatore di archiviazione (HBA) come origine. Il driver Storport (Storport.sys) registra questo evento quando rileva il timeout di una richiesta. Il nome del driver HBA viene usato nell'evento perché è il driver miniport associato al driver Storport.
Ecco un esempio di ID evento 129:
Event Type: Warning
Event Source: <HBA_Name>
Event Category: None
Event ID: 129
Computer: <Computer_Name>
Description: Reset to device, \Device\RaidPort1, was issued.
Informazioni sull'architettura dello stack di I/O di Windows
L'operazione di I/O di Windows usa un'architettura a più livelli in cui i driver di dispositivo si trovano in uno stack di dispositivi. In un modello di base, la parte superiore dello stack è il file system. La successiva è la gestione volumi, seguita dal driver del disco. I driver porta e miniport si trovano nella parte inferiore dello stack di dispositivi. Quando una richiesta di I/O raggiunge il file system, accetta il numero di blocco del file e lo converte in un offset nel volume. Gestione volumi converte quindi l'offset del volume in un numero di blocco sul disco e passa la richiesta al driver del disco. Quando la richiesta raggiunge il driver del disco, creerà un blocco del descrittore di comando (CDB) e lo invierà al dispositivo SCSI. Il driver del disco incorpora la rete CDB nella struttura SCSI_REQUEST_BLOCK (SRB). La struttura SRB viene inviata al driver di porta come parte del pacchetto di richiesta di I/O (IRP).
Il driver della porta esegue la maggior parte dell'elaborazione della richiesta. Esistono driver di porta diversi a seconda dell'architettura. Ad esempio, il driver della porta ATA (Ataport.sys) e il driver di porta SCSI (Storport.sys). Ecco alcune responsabilità di un driver di porta:
Fornitura di servizi di temporizzazione per le richieste
Applicazione della profondità della coda per assicurarsi che un dispositivo non abbia più richieste di quanto possa gestire
Creazione di matrici "a dispersione" e "gather" per i buffer di dati
Il driver di porta si interfaccia con il driver miniport e il driver miniport è progettato dal fornitore hardware per lavorare con una scheda specifica. È responsabile dell'acquisizione delle richieste dal driver della porta e dell'invio al numero di unità logica di destinazione (LUN). Il driver di porta chiama la HwStorStartIo()
funzione per inviare richieste al driver miniport e il driver miniport invierà le richieste al driver HBA in modo che possano essere inviate tramite il supporto fisico (Fibre o Ethernet) al LUN. Al termine della richiesta, il driver miniport chiamerà la StorPortNotification()
funzione con il NotificationType
parametro con un valore impostato su RequestComplete
, insieme a un puntatore all'SRB completato.
Quando viene inviata una richiesta al driver miniport, il driver Storport invierà la richiesta in una coda in sospeso e viene indirizzato. Al termine della richiesta, la richiesta viene rimossa da questa coda.
Il meccanismo di temporizzazione è semplice. È presente un timer per unità logica e viene inizializzato in -1
. Quando la prima richiesta viene inviata al driver miniport, il timer viene impostato sul valore di timeout in SRB. Il valore di timeout del disco è un parametro ottimizzabile che si trova nella chiave del Registro di sistema seguente:
HKLM\System\CurrentControlSet\Services\Disk\TimeOutValue
Alcuni fornitori di hardware ottimizzano questo valore in modo che corrispondano meglio all'hardware. Non modificare questo valore senza indicazioni fornite dal fornitore di archiviazione.
Il timer viene decrementato una volta al secondo. Al termine di una richiesta, il timer viene aggiornato con il valore di timeout della richiesta head nella coda in sospeso. Di conseguenza, il timer non andrà mai a zero finché le richieste verranno completate. Se il timer passa a zero, significa che il dispositivo ha smesso di rispondere. Ad esempio, quando il driver Storport registra l'ID evento 129, il driver Storport deve eseguire un'azione correttiva provando a reimpostare l'unità. Quando l'unità viene reimpostata, tutte le richieste incomplete vengono completate con un errore e vengono ritentate. Quando la coda in sospeso viene cancellata, il timer viene impostato su -1
, ovvero il valore iniziale.
Per ogni SRB è impostato un valore del timer. Al termine delle richieste, il timer della coda viene aggiornato con il valore di timeout di SRB all'inizio dell'elenco.
Le cause più comuni dell'ID evento 129 non rispondono o non rispondono a una richiesta eliminata. Le richieste eliminate possono essere causate da router difettosi o da altri problemi hardware nella rete di archiviazione (SAN).
Risoluzione dei problemi relativi all'ID evento 157
Questo evento indica che il driver Classpnp.sys ha ricevuto una richiesta di rimozione a sorpresa dal gestore plug and play (PNP) per un disco non rimovibile.
Questo problema si verifica più spesso quando qualcosa interrompe la comunicazione del sistema con un disco, ad esempio un errore di infrastruttura SAN o un problema del bus SCSI. Gli errori possono anche essere causati da un disco che non riesce o quando un utente scollega un disco durante l'esecuzione del sistema. In questo caso, un amministratore deve verificare il calore del sottosistema del disco.
Risoluzione dei problemi relativi all'ID evento 55 e 98
Se vengono registrati eventi NTFS, ad esempio ID evento 55, 50, 140 e 98, è necessario eseguire l'utilità "chkdsk".
Poiché NTFS non è riuscito a scrivere dati nel log delle transazioni, ciò potrebbe influire sulla capacità di NTFS di arrestare o eseguire il rollback delle operazioni in cui non è stato possibile scrivere i dati delle transazioni.
Ecco un esempio di ID evento 55:
Event Type: Error
Event Source: NTFS
Event ID: 55
Description: The file system structure on the disk is corrupt and unusable. Please run the chkdsk utility on the volume.
In genere, l'ID evento 55 viene registrato quando si verifica il danneggiamento del file system. Il danneggiamento del file system si verifica quando si verificano uno o più dei problemi seguenti:
Un disco presenta settori non valido.
Le richieste di I/O recapitate dal file system al sottosistema del disco non vengono completate correttamente.
La maggior parte dei problemi sono correlati all'hardware e l'hardware potrebbe essere danneggiato in modo imprevisto. Per risolvere i problemi, è possibile provare i metodi seguenti:
Aggiornare la porta SCSI o i driver del controller RAID.
Rimuovere o aggiornare i driver di filtro.
Aggiornare i driver o il firmware di archiviazione di terze parti.
Passaggio a tipi diversi di driver. Ad esempio, driver controller RAID o driver monolitici.
Ridisporre l'hardware in varie combinazioni.
Dichiarazione di non responsabilità sulle informazioni di terze parti
I prodotti di terzi citati in questo articolo sono prodotti da società indipendenti da Microsoft. Microsoft non rilascia alcuna garanzia implicita o esplicita relativa alle prestazioni o all'affidabilità di tali prodotti