Sdílet prostřednictvím


Komprese SMB

Komprese SMB umožňuje správci, uživateli nebo aplikaci požadovat kompresi souborů při přenosu přes síť. Tím se odebere potřeba nejprve ručně deflatovat soubor pomocí aplikace, zkopírovat ho a pak nafouknout na cílovém počítači. Komprimované soubory spotřebovávají menší šířku pásma sítě a přenos za cenu mírně zvýšeného využití procesoru během přenosů. Komprese SMB je nejúčinnější v sítích s menší šířkou pásma, jako je ethernet klienta 1 Gb/s nebo síť Wi-Fi; Přenos souborů přes neingestované ethernetové sítě 100 Gb/s mezi dvěma servery s úložištěm flash může být v praxi stejně rychlý bez komprese SMB, ale pro ostatní aplikace bude stále méně zahlcení.

Komprese SMB ve Windows má následující charakteristiky:

  • Podporuje komprimační algoritmy XPRESS (LZ77), XPRESS Huffman (LZ77+Huffman), LZNT1 nebo PATTERN_V1*. XPRESS se používá automaticky.
  • Podporuje algoritmus komprese LZ4 v systému Windows Server 2025.
  • Podporuje podepisování smb a šifrování SMB.
  • Podporuje protokol SMB přes QUIC.
  • Podporuje SMB Multichannel
  • Nepodporuje smb Direct přes RDMA

Note

Systémy Windows 11 a Windows Server 2025 také podporují algoritmus komprese LZ4 definovaný LZ4.org. Další informace o tomto algoritmu komprese najdete v dokumentaci k kompresi LZ4.

Ukázku komprese SMB najdete v tomto videu:

Requirements

Pokud chcete použít kompresi SMB v tradiční úloze souborového serveru klienta, potřebujete následující:

Konfigurace komprese SMB

Kompresi SMB můžete nakonfigurovat z hlediska klienta i serveru. Klient a server neodkazuje na konkrétní edici, jako je Windows Server 2022 nebo Windows 11 verze 24H2, ale místo toho na architekturu přenosu souborů mezi dvěma počítači. Windows Server 2022 i Windows 11 podporují kompresi SMB klientem nebo serverem.

Vyžádání komprese SMB u sdílených složek

Sdílené složky můžete nakonfigurovat tak, aby při připojení klientů vždy požadovaly kompresi. Můžete použít Windows Admin Center nebo PowerShell.

Použití Centra pro správu Windows

  1. Nainstalujte Centrum pro správu Windows a připojte se k souborovém serveru s Windows Serverem 2022.
  2. Klikněte na položku nabídky Soubory a sdílení souborů .
  3. Klikněte na Sdílené složky.
  4. Upravte existující sdílenou složku nebo vytvořte novou sdílenou složku.
  5. Vyberte Komprimovat data a potom klikněte na Přidat nebo upravit.

Snímek obrazovky Centra pro správu Windows v souborovém serveru Windows Server 2022

Použití PowerShellu

  1. Otevřete příkazový řádek PowerShellu se zvýšenými oprávněními jako správce.

  2. Vytvořte novou sdílenou složku s kompresí pomocí New-SMBShare parametru a argumentu -CompressData $true . Například:

    New-SmbShare -Name "Sales" -Path "C:\sales" -CompressData $true
    
  3. Upravte existující sdílenou složku s kompresí pomocí Set-SMBShare parametru a argumentu -CompressData $true . Například:

    Set-SmbShare -Name "Sales" -CompressData $true
    

Vyžádání komprese SMB na mapovaných jednotkách

Můžete požádat o komprimaci všech dat zkopírovaných přes namapovanou jednotku. To lze provést jako součást přihlašovacího skriptu nebo při ručním spuštění.

  1. Otevřete příkazový řádek PowerShellu.

  2. Namapujte jednotku pomocí New-SMBMapping s parametrem -CompressNetworkTraffic $true a argumentem. Například:

    New-SmbMapping -LocalPath "Z:" -RemotePath "\\fs1.corp.contoso.com\sales" -CompressNetworkTraffic $true
    

Vyžádání komprese SMB pomocí nástrojů pro kopírování

Můžete požádat, aby se komprese SMB pokusila o konkrétní soubory pomocí robocopy nebo xcopy.

Note

Pokud chcete, aby Průzkumník souborů, nástroje pro kopírování třetích stran nebo aplikace používaly kompresi, mapovat jednotky s kompresí, povolit kompresi na sdílených složkách nebo nastavit klienty SMB tak, aby vždy komprimovali.

  1. Otevřete příkazový řádek CMD nebo PowerShell.

  2. Zkopírujte příznak /COMPRESS. Například:

    ROBOCOPY c:\hypervdisks \\hypervcluster21.corp.contoso.com\disks$ *.vhdx /COMPRESS
    

Vždy vyžadovat nebo vždy odmítnout žádosti o kompresi

Počínaje Windows Serverem 2022 s aktualizací KB5016693 (build operačního systému 20348.946) a Windows 11 s aktualizací KB5016691 (build operačního systému 22000.918) můžete nakonfigurovat klienta SMB nebo server SMB tak, aby vždy požadoval kompresi a aby vždy odmítal požadavky na kompresi. Teď můžete použít zásady skupiny nebo PowerShell. V počáteční verzi Windows 11 a Windows Serveru 2022 jste mohli použít pouze nastavení registru k řízení většiny těchto chování a server SMB nelze nakonfigurovat tak, aby vždy požadoval kompresi bez ohledu na jeho nastavení sdílené složky. Klient SMB a server SMB odkazují na služby SMB, nikoli na edici Windows nebo SKU. Všechny tyto změny SMB se projeví okamžitě bez restartování.

Vždy se pokus o kompresi (klient SMB)

  1. Spusťte konzolu pro správu zásad skupiny pro vaši doménu služby Active Directory a vytvořte nebo přejděte na zásadu skupiny.
  2. Rozbalte zásadu Konfigurace počítače\Zásady\Šablony pro správu\Síť\Pracovní stanice Lanman.
  3. Povolte zásadu Ve výchozím nastavení používat kompresi SMB.
  4. Zavřete editor zásad.

Nikdy komprimovat (klient SMB)

  1. Spusťte konzolu pro správu zásad skupiny pro vaši doménu služby Active Directory a vytvořte nebo přejděte na zásadu skupiny.
  2. Rozbalte zásadu Konfigurace počítače\Zásady\Šablony pro správu\Síť\Pracovní stanice Lanman.
  3. Povolte zásadu Zakázat kompresi SMB.
  4. Zavřete editor zásad.

Vždy se pokus o kompresi (server SMB)

  1. Spusťte konzolu pro správu zásad skupiny pro vaši doménu služby Active Directory a vytvořte nebo přejděte na zásadu skupiny.
  2. Rozšiřte zásadu Konfigurace počítače\Zásady\Šablony pro správu\Síť\Lanman Server.
  3. Povolte zásadu Komprese provozu žádostí pro všechny sdílené položky.
  4. Zavřete editor zásad.

Nikdy komprimovat (server SMB)

  1. Spusťte konzolu pro správu zásad skupiny pro vaši doménu služby Active Directory a vytvořte nebo přejděte na zásadu skupiny.
  2. Rozšiřte zásadu Konfigurace počítače\Zásady\Šablony pro správu\Síť\Lanman Server.
  3. Povolte zásadu Zakázat kompresi SMB.
  4. Zavřete editor zásad.

Principy a řízení chování komprese

Počínaje Windows Serverem 2022 s aktualizací KB5016693 (build operačního systému 20348.946) a Windows 11 s aktualizací KB5016691 (build operačního systému 22000.918) se protokol SMB ve výchozím nastavení vždy pokusí komprimovat soubor, když ho klient nebo server požádá, aniž by se používalo vzorkování komprese.

Note

V původní verzi Windows Serveru 2022 a Windows 11 se ve výchozím nastavení u komprese SMB použil algoritmus, který se pokusil zkomprimovat prvních 524 288 000 bajtů (500 MiB) souboru během přenosu a sledoval, že v rámci těchto 500 MiB bylo zkomprimováno alespoň 104 857 600 bajtů (100 MiB). Pokud šlo komprimovat méně než 100 MiB, komprese SMB přestala zkoušet komprimovat zbytek souboru. Pokud je komprimováno alespoň 100 MiB, komprese SMB se pokusila zkomprimovat zbytek souboru. Při této změně chování je teď vzorkování ve výchozím nastavení zakázané a protokol SMB se při požadavku klienta nebo serveru vždy pokusí zkomprimovat celý soubor.

Testování komprese SMB

Jednoduchý způsob, jak otestovat konfiguraci komprese, je použití souborů VHDX. Můžete vytvořit a připojit VHDX, přidat do něj některé soubory, pak odpojit VHDX a zkopírovat ho jako soubor. Alternativně můžete jenom zkopírovat existující odpojený soubor VHDX virtuálního počítače, protože většina jeho obsahu se zkomprimuje. Příklad vytvoření testovacího souboru VHDX:

  1. Spusťte nástroj Diskmgmt.msc.

  2. Kliknutím na místní disk (C:) ho vyberte.

  3. Klikněte na Action (Akce ) a potom Create VHD (Vytvořit virtuální pevný disk).

  4. V nástroji Diskmgmt klikněte pravým tlačítkem myši na soubor VHDX, který se teď zobrazuje jako "Není inicializováno" a klepněte na Inicializovat disk a klepněte na OK. Klikněte pravým tlačítkem myši na oddíl Disky Nepřidělený a potom klikněte na Nový jednoduchý svazek a potom na Další pro všechny výzvy nabídky a potom klikněte na Dokončit.

  5. Zadejte cestu k souboru, nastavte velikost na 25 GB, vyberte VHDX a Pevnou velikost a klikněte na TLAČÍTKO OK.

    Snímek obrazovky s vytvořením a připojením virtuálního pevného disku pro Windows Hyper-V

  6. Klepněte pravým tlačítkem myši na disk a klepněte na tlačítko Odpojit virtuální pevný disk a klepněte na tlačítko OK.

  7. V Průzkumníku souborů poklikejte na tento soubor VHDX a připojte ho. Zkopírujte několik MB nekomprimovatelných souborů, například formát JPG, klikněte pravým tlačítkem myši na připojený disk a klikněte na Vysunout.

Teď máte velký testovací soubor s komprimovaným obsahem.

Testování komprese SMB mezi dvojicí virtuálních počítačů běžících na stejném hostiteli Hyper-V nemusí ukazovat časové úspory, protože virtuální přepínač je 10 Gb/s a nemá žádné zahlcení a moderní hypervisory často využívají úložiště flash. Otestujte kompresi ve skutečných sítích, které plánujete použít. Můžete také snížit šířku pásma sítě na Hyper-V virtuálních počítačích pro účely testování pomocí set-VMNetworkAdapter s nastaveným -MaximumBandwidth nastavením , 1Gbnapříklad.

Pokud chcete zjistit, jak dobře komprese funguje, můžete robocopy stejný soubor na server dvakrát, jednou příznakem /compress a znovu bez komprese odstranit soubor serveru mezi jednotlivými testy. Pokud se soubor komprimuje, měli byste ve Správci úloh vidět menší využití sítě a kratší dobu kopírování. Můžete také sledovat objekt Monitoru výkonu serveru SMB "Sdílené složky serveru SMB" a jeho čítače "Komprimované požadavky/s" a "Komprimované odpovědi/s".

RDMA a SMB Direct

Komprese SMB nepodporuje SMB Direct a RDMA. To znamená, že i když klient požaduje kompresi a server ji podporuje, komprese se nepokusí s smb Direct a RDMA. Podpora komprese SMB s protokolem SMB Direct a RDMA bude po verzích Public Preview systému Windows Server 2022 a Windows 11.