SMB diretto
Windows Server include una funzionalità denominata SMB diretto, che supporta l'uso di schede di rete dotate della funzionalità Accesso diretto a memoria remota (RDMA). Le schede di rete con RDMA possono funzionare a tutta velocità con una latenza inferiore senza compromettere l'utilizzo della CPU. Nei carichi di lavoro come Hyper-V o Microsoft SQL Server, ciò consente di assimilare un file server remoto a un archivio locale. SMB diretto viene configurato e abilitato automaticamente per impostazione predefinita in Windows Server 2012 e nelle iterazioni future.
L'uso di SMB diretto offre:
- Velocità effettiva maggiore: sfrutta tutta la velocità effettiva delle reti ad alta velocità in cui le schede di rete coordinano il trasferimento di grandi quantità di dati alla velocità della linea.
- Bassa latenza: offre tempi di risposta alle richieste di rete molto rapidi, rendendo l'archiviazione file remota veloce quanto l'archiviazione a blocchi collegata direttamente.
- Basso utilizzo della CPU: usa meno cicli della CPU durante il trasferimento dei dati in rete, lasciando più potenza a disposizione delle applicazioni server.
È possibile utilizzare SMB diretto in un cluster di failover, ma occorre prima verificare che le reti di cluster per l'accesso client consentano l'utilizzo di SMB diretto. Il clustering di failover supporta l'utilizzo di più reti per l'accesso client, oltre a schede di rete con supporto per RSS (Receive Side Scaling) e RDMA.
Nota
È possibile utilizzare la funzionalità SMB diretto sui sistemi operativi di gestione di Hyper-V a supporto dell'uso di Hyper-V su SMB e come archivio per una macchina virtuale che utilizza lo stack di archiviazione Hyper-V. Tuttavia, le schede di rete con supporto per RDMA non sono esposte direttamente a un client Hyper-V. Se si connette a un commutatore virtuale una scheda di rete con supporto per RDMA, questa non sarà più dotata di supporto per RDMA.
Requisiti
SMB diretto presenta i requisiti seguenti:
- Una o più schede di rete con funzionalità RDMA.
- Almeno due computer che eseguono uno o più dei sistemi operativi seguenti:
- Windows Server 2012 e versioni successive.
- Windows 10 Enterprise e versioni successive.
- Windows 10 Education e versioni successive.
- Windows 10 Pro for Workstations e versioni successive
- Windows 10 Pro 22H2 (installato correttamente, non aggiornato da versioni precedenti) e versioni successive.
Nota
La famiglia Windows 10 e Windows 11 sono limitate solo al client e non possono fungere da server SMB diretto.
SMB multicanale
SMB multicanale è il nome della funzione che rileva le funzionalità RDMA delle schede di rete per abilitare SMB diretto. In mancanza della funzione SMB multicanale, SMB usa il normale protocollo TCP/IP insieme alle schede di rete con supporto per RDMA (tutte le schede di rete, insieme al nuovo stack RDMA, offrono uno stack TCP/IP).
Con la funzione SMB multicanale, il protocollo SMB rileva se una data scheda di rete è dotata o meno di funzionalità RDMA, quindi crea più connessioni RDMA per quella sessione (due per interfaccia). In questo modo, il protocollo SMB è in grado di sfruttare la velocità di trasmissione elevata, la bassa latenza e l'utilizzo minimo della CPU offerti dalle schede di rete con supporto per RDMA. Inoltre, se si utilizzano più interfacce RDMA, garantisce tolleranza di errore.
È possibile eseguire il team delle schede di rete con supporto per RDMA usando Switch Embedded Teaming (edizione Standard T) a partire da Windows Server 2016. Dopo la creazione di almeno una connessione di rete RDMA, la connessione TCP/IP utilizzata per la negoziazione del protocollo originale non sarà più utilizzata. Tuttavia, qualora le connessioni di rete RDMA non riescano, la connessione TCP/IP viene mantenuta.
La disabilitazione di SMB multicanale disabilita anche SMB diretto. Poiché SMB multicanale rileva le funzionalità delle schede di rete e stabilisce se una scheda di rete offre o meno il supporto per RDMA, il client non può utilizzare la funzionalità SMB diretto se la funzionalità SMB multicanale è disabilitata.
Crittografia SMB
A partire da Windows Server 2022 e Windows 11, SMB Direct supporta ora la crittografia. In precedenza, l'abilitazione della crittografia SMB disabilitava il posizionamento diretto dei dati, rendendo RDMA lento come TCP. Ora i dati vengono crittografati prima del posizionamento, con conseguente riduzione relativamente minore delle prestazioni e l'aggiunta della privacy dei pacchetti protetti da AES-128 e AES-256. Per maggiori informazioni sulla configurazione della crittografia SMB, consultare la sezione Miglioramenti della sicurezza SMB.
Inoltre, i cluster di failover di Windows Server supportano ora un controllo granulare della crittografia e della firma delle comunicazioni di archiviazione all'interno dei nodi per i volumi condivisi cluster (Cluster Shared Volumes, CSV) e il livello del bus di archiviazione (Storage Bus Layer, SBL). Questo significa che, quando si usano Spazi di archiviazione diretta e SMB diretto, è ora possibile decidere di crittografare o firmare le comunicazioni east-west all'interno del cluster stesso per una maggiore sicurezza.
Disabilitazione e abilitazione delle funzionalità SMB diretto
Se viene identificata una configurazione appropriata, il client SMB rileva e utilizza automaticamente più connessioni di rete. Poiché SMB diretto è abilitato per impostazione predefinita, una volta disabilitato, deve essere riabilitato manualmente ogni volta che necessario.
In genere, non vi è alcuna necessità di disabilitare SMB diretto, ma è comunque possibile disattivarlo insieme alle relative funzionalità eseguendo i seguenti comandi Windows PowerShell.
Per disabilitare SMB diretto, digitare:
Disable-WindowsOptionalFeature -Online -FeatureName SMBDirect
Per disabilitare SMB multicanale sul lato server, digitare:
Set-SmbServerConfiguration -EnableMultiChannel $false
Per disabilitare SMB multicanale sul lato client, digitare:
Set-SmbClientConfiguration -EnableMultiChannel $false
Per disabilitare RDMA solo per un determinato tipo di interfaccia:
Disable-NetAdapterRdma <name>
Per disabilitare RDMA per tutti i tipi di interfaccia:
Set-NetOffloadGlobalSetting -NetworkDirect Disabled
Se RDMA viene disabilitata sul client o sul server, non può essere utilizzata dai sistemi. Rete diretta è il nome interno del supporto di rete di base di Windows Server per le interfacce RDMA.
Per verificare lo stato di operabilità di SMB diretto attualmente configurato, eseguire il cmdlet seguente:
Get-WindowsOptionalFeature -Online -FeatureName SMBDirect
Test di SMB diretto
È possibile testare le prestazioni di SMB diretto misurando la velocità effettiva durante l'esecuzione di una copia di file di grandi dimensioni. Prima di eseguire il test, verificare che la scheda di rete supporti RDMA tramite PowerShell.
Sul lato server, digitare:
Get-SmbServerNetworkInterface
Sul lato client, digitare:
Get-SmbClientNetworkInterface
Dopo che la scheda di rete è stata verificata in grado di supportare RDMA, eseguire il test seguente:
- Disabilitare RDMA sulla scheda di rete, consultare la sezione Disabilitazione e abilitazione delle funzionalità SMB diretto.
- Misurare il tempo necessario per eseguire la copia di un file di grandi dimensioni con l'impostazione SMB diretto disabilitata.
- Riabilitare RDMA nella scheda di rete, eseguire la stessa copia del file e quindi confrontare i due risultati.
- Per evitare gli effetti della memorizzazione sulla cache, eseguire quanto segue:
- Copiare una grande quantità di dati (superiore alla capacità di gestione della memoria).
- Copiare due volte i dati, dove la prima copia è per fare pratica, e controllando il tempo necessario per la seconda copia.
- Riavviare sia server che client prima di ciascun test per assicurarsi che il funzionamento avvenga in condizioni simili.
Inoltre, è possibile osservare i contatori delle prestazioni durante i test usando lo stesso scenario usando lo strumento Supervisione prestazioni eseguendo le operazioni seguenti:
- Selezionare Start, digitare Esegui, premere Invio.
- Nel riquadro sinistro, in Strumenti di monitoraggio>, selezionare Supervisione prestazioni.
- Nel riquadro destro, selezionare l'icona verde "+" per aggiungere un nuovo contatore.
- Nella finestra di dialogo Aggiungi contatori, espandere Connessione SMB diretto.
- Selezionare Byte RDMA Lettura/sec e Byte RDMA Scrittura/sec, selezionare Aggiungi, quindi selezionare OK.
Funzionalità di failover SMB diretto
Per confermare la capacità di failover di SMB diretto, seguire questa procedura.
- Assicurarsi che SMB diretto sia utilizzata nell'ambito di una configurazione con più schede di rete.
- Eseguire la copia di un file di grandi dimensioni. Durante il processo di copia, scollegare un cavo o disabilitare una scheda di rete per simulare un percorso di rete errato.
- Verificare che la copia del file prosegua utilizzando una delle schede di rete rimanenti e che non vi siano errori durante la copia.
Suggerimento
Per evitare errori a eventuali carichi di lavoro che non utilizzano SMB diretto, assicurarsi che non ve ne siano altri che utilizzano il percorso di rete scollegato.