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.
Provare l'agente virtuale: consente di identificare e risolvere rapidamente i problemi comuni di SMB.
Questo articolo è strutturato per facilitare la risoluzione dei problemi di Server Message Block (SMB). La maggior parte degli utenti è in grado di risolvere il problema usando le soluzioni fornite qui.
Terminologia SMB
La comunicazione della terminologia corretta è un aspetto chiave per una risoluzione dei problemi di qualità in SMB. Pertanto, è necessario apprendere la terminologia SMB di base per garantire l'accuratezza della raccolta e dell'analisi dei dati.
- SMB Server (SRV) (noto anche come file server) è sempre il sistema che ospita il file system.
- Il client SMB (interfaccia della riga di comando) è sempre il sistema che tenta di accedere al file system.
Questi termini sono coerenti indipendentemente dalla versione o dall'edizione del sistema operativo. Ad esempio, se un computer basato su Windows Server 2016 tenta di raggiungere la condivisione SMB \\MyWorkstation\Data in un computer basato su Windows 10, Windows Server 2016 è il client SMB e Windows 10 è il server SMB.
Elenco di controllo per la risoluzione dei problemi
- Verificare che sia installato il protocollo di rete SMB corretto. Il protocollo di rete SMBv1 non viene più installato per impostazione predefinita.
- Disabilitare SMBv1.
- Se SMBv1 è disabilitato in un dispositivo che supporta solo SMBv1, non è possibile accedere a tale dispositivo. In questo caso, aggiornare il sistema.
- Non è possibile disabilitare SMBv2 o SMBv3 separatamente perché queste versioni fanno parte dello stesso driver.
- Analizzare il traffico: SMB è un protocollo a livello di applicazione che usa TCP/IP come protocollo di trasporto di rete. Pertanto, un problema correlato a SMB potrebbe indicare che sono presenti problemi correlati a TCP/IP sottostanti.
- Analizzare il protocollo: per comprendere i comandi e le opzioni esatti utilizzati, esaminare i dettagli effettivi del protocollo SMB nella traccia di rete.
- Aggiornare i file di sistema correlati a SMB: mantenere aggiornati i file di sistema. Assicurarsi che l'aggiornamento cumulativo più recente sia installato.
Informazioni sui file SMB
File binari del client SMB elencati in %windir%\system32\Drivers:
- RDBSS.sys
- MRXSMB.sys
- MRXSMB10.sys
- MRXSMB20.sys
- MUP.sys
- SMBdirect.sys
File binari del server SMB elencati in %windir%\system32:
- Srvsvc.dll
File binari del server SMB elencati in %windir%\system32\Drivers:
- SRVNET.sys
- SRV.sys
- SRV2.sys
- SMBdirect.sys
È consigliabile aggiornare i componenti seguenti prima di risolvere i problemi di SMB:
- iSCSI: un file server richiede l'archiviazione dei file. Se l'archiviazione include i componenti iSCSI, aggiornarli.
- Rete: aggiornare i componenti di rete.
- Windows Core: per prestazioni e stabilità migliori, aggiornare Windows Core.
Disconnessione di tutte le risorse condivise dal computer locale
È possibile utilizzare il comando Net Use * /delete
per disconnettere le risorse condivise attive o memorizzate su un computer locale.
Note
È anche possibile usare questo comando nei computer remoti. Eseguire Net help use
per altre opzioni.
Importante
Questa sezione di questo articolo è basata sui contenuti della community.
Dichiarazione di non responsabilità per il contenuto delle soluzioni della Community
Microsoft Corporation e/o i rispettivi fornitori non rilasciano alcuna dichiarazione relativa all'idoneità, all'affidabilità o alla correttezza delle informazioni e della relativa grafica contenute nel presente documento. Tutte queste informazioni e la relativa grafica sono fornite "così come sono" senza garanzia di alcun tipo. Microsoft e/o i rispettivi fornitori non riconoscono alcuna garanzia e condizione relative a queste informazioni e alla relativa grafica, incluse le eventuali garanzie implicite e condizioni di commerciabilità, l'idoneità per uno scopo specifico, la perizia, il titolo e la non violazione. L'utente accetta espressamente che in nessun caso Microsoft e/o i suoi fornitori saranno ritenuti responsabili per eventuali danni diretti, indiretti, punitivi, incidentali, speciali, consequenziali o di qualsiasi tipo, inclusi, a mero titolo esemplificativo, i danni per perdita di utilizzo, di dati o di profitti, derivanti da, o in qualsiasi modo connessi all'utilizzo o all'impossibilità di utilizzare le informazioni e la relativa la grafica contenute nel presente documento, sia in base a un contratto, illecito, negligenza, responsabilità oggettiva o altrimenti, anche se Microsoft o uno dei suoi fornitori è stato informato della possibilità del verificarsi di tali danni.
Problemi noti e soluzioni
quando si accede a File server di scalabilità orizzontale, le prestazioni sono limitate
La rete di accesso client usa l'accesso diretto in memoria diretta (RDMA) ad alta velocità, ma la rete del cluster non lo fa. A causa di questo comportamento, il reindirizzamento si verifica solo nella rete del cluster. La rete del cluster si connette in genere a schede di rete da 1 GbE.
Per risolvere questo problema, è possibile configurare l'opzione per usare la rete di accesso client per volumi condivisi cluster (CSV). In alternativa, eseguire l'aggiornamento a Windows Server 2012 R2 o a una versione successiva. Tale sistema reindirizza automaticamente i client al nodo del cluster con accesso ottimale al volume della condivisione file. Per altre informazioni, vedere l'articolo archivio del blog seguente: Ribilanciamento automatico SMB con scalabilità orizzontale in Windows Server 2012 R2.
SMB preferisce usare la scheda di rete fisica più lenta rispetto alla scheda di rete virtuale
La scheda di rete virtuale nell'host non è in grado di supportare RSS. La scheda di rete fisica supporta RSS. SMB usa sempre la scheda di rete che supporta RSS anziché la scheda di rete non RSS anche se la scheda di rete RSS è più lenta.
Per risolvere questo problema, disabilitare la funzionalità RSS nella scheda di rete fisica o usare vincoli SMB multicanale per limitare la comunicazione SMB a una o più interfacce di rete definite. Per altre informazioni, vedere il cmdlet della condivisione SMB New-SmbMultichannelConstraint in Windows PowerShell.
SMB segnala che la scheda di rete non è compatibile con RDMA anche se si ritiene che sia
Questo problema si verifica perché le schede di rete con supporto per RDMA con driver o firmware meno recenti potrebbero non identificarsi correttamente come compatibili con RDMA.
Per risolvere questo problema, aggiornare il firmware e il driver della scheda di rete dal sito Web del produttore.
La quantità di traffico di rete necessaria prima dell'avvio di SMB multicanale varia
La funzionalità SMB multicanale viene usata per individuare le funzionalità RSS e RDMA delle schede di rete. Nei sistemi operativi server, SMB multicanale viene avviato quando si verifica l'operazione di lettura o scrittura iniziale. Nei sistemi operativi client, SMB multicanale non viene avviato fino a quando non si verifica una determinata quantità di traffico di rete.
Nei sistemi operativi server, SMB multicanale viene avviato rapidamente una sola volta per sessione. Nei sistemi operativi del client è possibile configurare una voce del registro per avviare più rapidamente SMB multicanale. Per altre informazioni, vedere l'articolo seguente del blog sull'archivio: Quanto traffico deve passare tra il client SMB e il server prima dell'avvio effettivo del multicanale?.
SMB multicanale non aggrega più schede di rete da 10 GbE.
Una scheda di rete 10 GbE con supporto per RSS viene talvolta identificata come non compatibile con RSS. Quando si verifica questo problema, SMB usa una sola connessione TCP. Quando SMB multicanale usa schede di rete con supporto per RSS e non RSS, deve usare solo le schede di rete che supportano RSS.
Le schede di rete di classe server devono essere visualizzate come compatibili con RSS. In caso contrario, aggiornare il driver della scheda di rete dal sito Web del produttore e quindi controllare nuovamente le impostazioni RSS.
Potrebbe essere necessario disabilitare RSS in entrambe le schede di rete per aggregare la velocità effettiva. Per altre informazioni, vedere l'articolo del blog archivio seguente: Suggerimento sul file server di Windows Server 2012: Assicurarsi che le interfacce di rete siano compatibili con RSS.
La scheda di rete virtuale nell'host non funziona correttamente.
La scheda di rete virtuale nell'host non è in grado di supportare RSS. Senza una scheda di rete con supporto RSS, SMB usa una sola connessione TCP. Questo comportamento si verifica quando si usano schede di rete da 10 GbE, schede di rete che supportano RSS e gruppo NIC.
Per risolvere questo problema, usare più schede di rete virtuale per assicurarsi di avere più connessioni TCP. Per altre informazioni, vedere l'articolo del blog archivio seguente: Suggerimento sul file server di Windows Server 2012: Assicurarsi che le interfacce di rete siano compatibili con RSS.
Windows Server 2012 R2 registra periodicamente l'ID evento SMBClient 30818
Si supponga che un computer basato su Windows Server 2012 R2 usi una scheda di rete InfiniBand. Questa scheda usa la funzionalità SMB diretta per supportare la comunicazione RDMA (Remote Direct Memory Access) tra i nodi del cluster e gli host Hyper-V. Dopo aver riavviato un host Hyper-V, Windows potrebbe registrare l'ID evento 30818 nel percorso Registri applicazioni e servizi/Microsoft/Windows/SmbClient in Visualizzatore eventi. In questo caso, è anche possibile che si verifichino problemi di prestazioni.
In Windows Server 2012 R2 il servizio LanmanServer avvia automaticamente il servizio SmbDirect. Tuttavia, se il servizio LanmanWorkstation viene avviato per primo e tenta di aprire una connessione RDMA prima del caricamento del servizio SmbDirect, Windows registra l'ID evento 30818. Quando il client comunica inizialmente con il server tramite TCP/IP, usa l'interfaccia RDMA. Di conseguenza, non è necessaria alcuna azione dell'utente per il ripristino.
Microsoft sta valutando la possibilità di fornire una risoluzione per questo problema in una versione futura di Windows Server.
Soluzione alternativa
Importante
In questa sezione, metodo o attività viene illustrata la procedura per modificare il Registro di sistema. Se, tuttavia, si modifica il Registro di sistema in modo errato, possono verificarsi gravi problemi. Pertanto, assicurarsi di osservare attentamente la procedura seguente. Al fine di protezione, eseguire il backup del registro di sistema prima di modificarlo, in modo da poterlo ripristinare in caso di problemi. Per ulteriori informazioni su come eseguire il backup e il ripristino del Registro di sistema, vedi Come eseguire il backup e il ripristino del Registro di sistema in Windows.
Per risolvere questo problema in Windows Server 2012 R2, configurare il servizio SmbDirect per l'avvio automatico. A tale scopo, effettuare i passaggi seguenti:
Aprire l'editor del Registro di sistema e quindi passare alla seguente sottochiave del Registro di sistema:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\smbdirect
Fare clic con il pulsante destro del mouse sulla voce Avvia registro e quindi scegliere Modifica.
Nella casella Dati valore modificare il valore (il valore predefinito è 3, ovvero su richiesta) su 2 (automatico).
Dopo aver apportato questa modifica, si dovrebbe essere in grado di riavviare il computer senza i messaggi di ID evento di registrazione di Windows 30818. Se Windows continua a registrare questi eventi, è possibile che altri problemi impediscano l'inizializzazione dell'interfaccia RDMA.
Quando si installa Windows Server, Windows registra l'ID evento 1
Quando si installa Windows Server 2019, Windows Server 2016 o Windows Server 2012 R2, Windows registra l'ID evento 1. Le informazioni sull'evento sono simili alle seguenti:
Nome log: Microsoft-Windows-SMBWitnessClient/Admin
Origine: Microsoft-Windows-SMBWitnessClient
ID evento:1
Livello: errore
Descrizione: l'inizializzazione del client di controllo non è riuscita con errore (il sistema non riesce a trovare il file specificato.
Se si tratta di una nuova distribuzione di Windows Server che non dispone di ruoli o funzionalità abilitati, è possibile ignorare in modo sicuro questo evento.
Problemi noti di SMB
- Errore di handshake TCP a tre vie
- Trasferimento dei file rallentato
- Errori di negoziazione, configurazione della sessione e connessione ad albero
- Connessione TCP interrotta durante la convalida della negoziazione
- Risoluzione dei problemi di SMB multicanale
- Problema di utilizzo elevato della CPU nel server SMB
- Risolvere i problemi relativi al messaggio di errore con ID evento 50
- SMBv1 non è installato per impostazione predefinita
- Accesso negato quando si accede a una condivisione file SMB
Raccolta dei dati
Prima di contattare supporto tecnico Microsoft, è possibile raccogliere informazioni sul problema.
Prerequisiti
- Eseguire TSS nel contesto di sicurezza di un account con privilegi di amministratore nel sistema locale. La prima volta che viene eseguita, accettare il contratto di licenza. Dopo aver accettato il contratto di licenza, il TSS non richiederà di nuovo.
- È consigliabile usare i
RemoteSigned
criteri di esecuzione di PowerShell nell'ambitoLocalMachine
.
Note
Se i criteri di esecuzione correnti di PowerShell non consentono di eseguire TSS, eseguire le azioni seguenti:
- Impostare i
RemoteSigned
criteri di esecuzione per il livello di processo eseguendo ilSet-ExecutionPolicy -scope Process -ExecutionPolicy RemoteSigned
cmdlet . - Per verificare che la modifica abbia effetto, eseguire il
Get-ExecutionPolicy -List
cmdlet .
Queste autorizzazioni a livello di processo si applicano solo alla sessione di PowerShell corrente. Dopo aver chiuso la finestra di PowerShell in cui viene eseguita la funzionalità TSS, l'autorizzazione assegnata per il livello di processo viene ripristinata allo stato configurato in precedenza.
Raccogliere le informazioni chiave prima di contattare il supporto tecnico Microsoft
Scaricare TSS in tutti i nodi ed espandere il file nella cartella C:\tss .
Aprire la cartella C:\tss in una finestra del prompt dei comandi di PowerShell con privilegi elevati.
Avviare le tracce nel client e nel server eseguendo i cmdlet seguenti:
Client:
TSS.ps1 -Scenario NET_SMBcli
Server:
TSS.ps1 -Scenario NET_SMBsrv
Accettare il contratto di licenza se le tracce vengono eseguite per la prima volta nel server o nel client.
Consenti registrazione (PSR o video).
Note
Se si raccolgono i log sia sul client che sul server, attendere che questo messaggio venga visualizzato in entrambi i nodi prima di riprodurre il problema.
Riprodurre il problema.
Dopo aver riprodotto il problema, immettere Y per completare i dati di registrazione.
TSS archivia le tracce in un file compresso nella cartella C:\MS_DATA . È possibile caricare il file nell'area di lavoro per l'analisi.