Dela via


SMB Direct

Windows Server innehåller en funktion som kallas SMB-direkt (Server Message Block), som stöder användning av nätverkskort som har rdma-funktioner (Remote Direct Memory Access). Nätverkskort som har RDMA kan fungera med full hastighet med lägre svarstid utan att äventyra CPU-användningen. För arbetsbelastningar som Hyper-V eller Microsoft SQL Server gör den här funktionen att en fjärrfilserver kan likna lokal lagring. SMB Direct konfigureras automatiskt och aktiveras som standard i Windows Server 2012 och framtida iterationer.

Med SMB Direct får du:

  • Ökat dataflöde: Tillämpar det fullständiga dataflödet för höghastighetsnätverk där nätverkskorten samordnar överföringen av stora mängder data med linjehastighet.
  • Låg svarstid: Ger snabba svar på nätverksbegäranden, vilket gör att fjärrfillagring känns som direktansluten blocklagring.
  • Låg CPU-användning: Använder färre CPU-cykler vid överföring av data över nätverket, vilket ger mer ström till serverprogram.

Du kan använda SMB Direct i ett redundanskluster. Du måste dock se till att klusternätverken som används för klientåtkomst är tillräckliga för SMB Direct. Redundansklustring stöder användningen av flera nätverk för klientåtkomst, tillsammans med nätverkskort som har stöd för RSS (Receive Side Scaling) och är RDMA-kompatibla.

Note

Du kan använda SMB Direct på Hyper-V-hanteringsoperativsystemet för att stödja användning av Hyper-V via SMB och för att tillhandahålla lagring till en virtuell dator som använder Hyper-V lagringsstacken. RDMA-kompatibla nätverkskort exponeras dock inte direkt för en Hyper-V-klient. Även om du ansluter ett RDMA-kompatibelt nätverkskort till en virtuell växel kan de virtuella nätverkskort som skapas av växeln inte stödja RDMA.

Requirements

Följande är SMB Direct-krav:

  • Ett eller flera nätverkskort med RDMA-kapacitet.
  • Minst två datorer som kör ett eller flera av följande operativsystem:
    • Windows Server 2012 och senare.
    • Windows 10 Enterprise och senare.
    • Windows 10 Education och senare.
    • Windows 10 Pro för arbetsstationer och senare
    • Windows 10 Pro 22H2 (ren installation, inte uppgraderad från äldre versioner) och senare.

Note

Windows 10- och Windows 11-serien är begränsade till endast klient och kan inte fungera som en SMB Direct-server.

SMB Multichannel

SMB Multichannel är den funktion som ansvarar för att identifiera RDMA-funktionerna i nätverkskort för att aktivera SMB Direct. Utan SMB Multichannel använder SMB vanlig TCP/IP med RDMA-kompatibla nätverkskort (alla nätverkskort tillhandahåller en TCP/IP-stack tillsammans med den nya RDMA-stacken).

Med SMB Multichannel identifierar SMB om ett nätverkskort har RDMA-kapacitet och skapar flera RDMA-anslutningar för den enskilda sessionen (två per gränssnitt). Med den här funktionen kan SMB använda högt dataflöde, låg svarstid och låg CPU-användning som erbjuds av RDMA-kompatibla nätverkskort. Den erbjuder också feltolerans om du använder flera RDMA-gränssnitt.

Du kan teamhantera RDMA-kompatibla nätverkskort med hjälp av Switch Embedded Teaming (SET) från och med Windows Server 2016. När minst en RDMA-nätverksanslutning har skapats används inte längre den TCP/IP-anslutning som användes för den ursprungliga protokollförhandlingen. TCP/IP-anslutningen behålls dock om RDMA-nätverksanslutningarna misslyckas.

Om du inaktiverar SMB Multichannel inaktiveras även SMB Direct. SMB Multichannel identifierar nätverkskortfunktioner och avgör om ett nätverkskort är RDMA-kompatibelt. Klientenheter kan inte använda SMB Direct om SMB Multichannel är inaktiverat.

SMB-kryptering

Från och med Windows Server 2022 och Windows 11 stöder SMB Direct nu kryptering. Tidigare inaktiverade aktivering av SMB-kryptering direktdataplacering, vilket gjorde RDMA-prestanda så långsam som TCP. Nu krypteras data innan det lagras, vilket leder till relativt liten prestandaförsämring samtidigt som paketsekretessen skyddas med AES-128 och AES-256. Mer information om hur du konfigurerar SMB-kryptering finns i SMB-säkerhetsförbättringar.

Dessutom har Windows Server-redundanskluster nu stöd för detaljerad kontroll av kryptering av lagringskommunikation inom noden för klusterdelade volymer (CSV) och lagringsbusslagret (SBL). Det innebär att när du använder Storage Spaces Direct och SMB Direct kan du välja att kryptera internkommunikationen inom klustret för högre säkerhet.

Inaktivera och aktivera SMB Direct-funktioner

SMB-klienten identifierar och använder automatiskt flera nätverksanslutningar om en lämplig konfiguration identifieras. Eftersom SMB Direct är aktiverat som standard, när det är inaktiverat, måste det återaktiveras manuellt när det behövs.

Vanligtvis behöver du inte inaktivera SMB Direct, men du kan inaktivera det tillsammans med dess funktioner genom att köra följande Windows PowerShell-kommandon.

Om du vill inaktivera SMB Direct skriver du:

Disable-WindowsOptionalFeature -Online -FeatureName SMBDirect

Om du vill inaktivera SMB Multichannel på serversidan skriver du:

Set-SmbServerConfiguration -EnableMultiChannel $false

Om du vill inaktivera SMB Multichannel på klientsidan skriver du:

Set-SmbClientConfiguration -EnableMultiChannel $false

Om du vill inaktivera RDMA för ett specifikt gränssnitt skriver du:

Disable-NetAdapterRdma <name>

Om du vill inaktivera RDMA för alla gränssnitt skriver du:

Set-NetOffloadGlobalSetting -NetworkDirect Disabled

När du inaktiverar RDMA på antingen klienten eller servern kan systemen inte använda det. Network Direct är det interna namnet för grundläggande nätverksstöd för Windows Server för RDMA-gränssnitt.

Kontrollera vilket operativt tillstånd SMB Direct för närvarande är konfigurerat till genom att köra följande cmdlet:

Get-WindowsOptionalFeature -Online -FeatureName SMBDirect

Testa SMB Direct

Du kan testa prestanda för SMB Direct genom att mäta dataflödet när du kör en stor filkopia. Innan du testar kontrollerar du att nätverkskortet stöder RDMA med hjälp av PowerShell.

På serversidan skriver du:

Get-SmbServerNetworkInterface

På klientsidan skriver du:

Get-SmbClientNetworkInterface

När nätverkskortet har verifierats RDMA-kompatibelt utför du följande åtgärder:

  1. Inaktivera RDMA på nätverkskortet, se Inaktivera och aktivera SMB Direct-funktioner.
  2. Mät hur lång tid det tar att köra en stor filkopia utan att använda SMB Direct.
  3. Återaktivera RDMA på nätverkskortet, utför samma filkopia och jämför sedan de två resultaten.
  4. Utför följande åtgärder för att undvika påverkan av cachelagring:
    1. Kopiera en stor mängd data (mer data än minne kan hantera).
    2. Kopiera data två gånger, med den första kopian som övning och tajma sedan den andra kopian.
    3. Starta om både servern och klienten före varje test för att säkerställa att de fungerar under liknande förhållanden.

Dessutom kan du observera prestandaräknarna under testningen med samma scenario som använder verktyget Prestandaövervakare genom att utföra följande steg:

  1. Välj Start, skriv perfmon och tryck på Retur.
  2. I den vänstra rutan går du till Övervakningsverktyg> och väljer Prestandaövervakare.
  3. I den högra rutan väljer du den gröna ikonen för+ att lägga till en ny räknare.
  4. I dialogrutan Lägg till räknare expanderar du SMB Direct Connection.
  5. Välj både Bytes RDMA Read/sec och Bytes RDMA Written/sec, välj Lägg till och välj sedan OK.

SMB Direct-failoverfunktion

Så här bekräftar du redundansfunktionen för SMB Direct:

  1. Kontrollera att SMB Direct fungerar i en konfiguration med flera nätverkskort.
  2. Utför en stor filkopiering. Under kopieringsprocessen simulerar du ett fel på en av nätverkssökvägarna genom att koppla från en av kablarna eller genom att inaktivera något av nätverkskorten.
  3. Bekräfta att filkopieringen fortsätter att använda något av de återstående nätverkskorten och att det inte finns några filkopieringsfel.

Tip

Om du vill undvika fel i en arbetsbelastning som inte använder SMB Direct kontrollerar du att det inte finns några andra arbetsbelastningar som använder den frånkopplade nätverkssökvägen.

Se även