Computer >> Hướng Dẫn Máy Tính >  >> Hệ Thống >> Máy Chủ Windows

Bật nén SMB để truyền file nhanh trên Windows 11/Windows Server 2022

Với phiên bản giao thức SMB được giới thiệu trong Windows Server 2022 và Windows 11, bạn có thể sử dụng tính năng nén SMB inline khi sao chép, di chuyển hoặc mở file qua mạng. Điều này cho phép làm cho truyền file nhanh hơn, giảm băng thông và độ trễ hoạt động mạng khi truyền file lớn qua mạng (như file ổ đĩa VM, hình ảnh ISO, v.v.). Trong bài viết này, chúng tôi sẽ chỉ cách bật và cấu hình nén SMB cho thư mục chia sẻ trong Windows.

Nhờ sử dụng nén SMB (đừng nhầm lẫn với nén NTFS), bạn không còn cần dùng công cụ bên thứ ba để nén trước file trước khi truyền chúng qua mạng chậm (hoặc metered). Thuật toán nén mặc định là XPRESS (LZ77). Bạn cũng có thể bật thuật toán nén XPRESS Huffman (LZ77+Huffman), LZNT1, hoặc PATTERN_V1* trong Windows.

Bạn có thể bật nén SMB cả phía client và phía máy chủ SMB.

Trong Windows Server 2022, bạn có thể bật nén SMB theo hai cách:

  • Sử dụng Windows Admin Center (WAC): Files and File Sharing -> File Shares -> chọn thư mục chia sẻ mạng và chọn tùy chọn Compress data trong cài đặt của nó; Bật nén SMB để truyền file nhanh trên Windows 11/Windows Server 2022
  • Sử dụng PowerShell: khi tạo thư mục chia sẻ mới (New-SmbShare -Name "Public" -Path "E:\Public" -CompressData $true) hoặc cho share hiện có (Set-SmbShare -Name "Public" -CompressData $true). Bạn có thể liệt kê tất cả thư mục có bật nén SMB: Get-SmbShare -CompressData $true Bật nén SMB để truyền file nhanh trên Windows 11/Windows Server 2022

Nén SMB cũng có thể được bật phía client. Khi đó không quan trọng phía máy chủ có hỗ trợ nén SMB hay không.

Các lệnh sau cho phép ánh xạ ổ đĩa mạng chia sẻ trong Windows 11 với nén SMB được bật:

net use * \\munfs01\images /requestcompression:yes

hoặc:

New-SmbMapping -LocalPath "U:" -RemotePath "\\munfs01\images" -CompressNetworkTraffic $true

Hãy thử đo tốc độ và thời gian truyền file VMDK (ổ đĩa máy ảo VMware) với nén SMB được bật. Bạn có thể tạo thư mục chia sẻ có và không có tùy chọn nén SMB, hoặc dùng tùy chọn /compress của robocopy để ép sao chép file sử dụng nén SMB. Dưới đây là ví dụ các lệnh:

robocopy z:\ c:\VM\without_smb_compression.vmdk srv02.vmdk
robocopy z:\ c:\VM\with_smb_compression.vmdk srv02.vmdk /compress

Trong ví dụ của tôi, sao chép file VMDK 3GB với nén SMB mất ít thời gian 20% so với không dùng nó (29 giây so với 37 giây).

Bật nén SMB để truyền file nhanh trên Windows 11/Windows Server 2022

Trong phiên bản RTM của Windows 11 và Windows Server 2022, nén SMB được dùng cho tất cả file bất kể kích thước của chúng.

Để luôn sử dụng nén SMB cho truyền file, bạn có thể đặt tham số EnableCompressedTraffic = 1 dưới khóa registry HKLM\System\CurrentControlSet\Services\LanManWorkstation\Parameters. Bạn có thể đặt tham số registry này bằng PowerShell:

Set-ItemProperty -Path HKLM:\System\CurrentControlSet\Services\LanManWorkstation\Parameters\ -Name EnableCompressedTraffic -Value 1

Bật nén SMB để truyền file nhanh trên Windows 11/Windows Server 2022

Nếu bạn muốn nén SMB chỉ áp dụng cho file lớn (trên 100 MB), hãy đặt các thuộc tính sau trong cùng khóa registry:

  • CompressibilitySamplingSize = 524288000
  • CompressibleThreshold = 104857600

Nếu bạn đặt CompressibleThreshold = 0 và CompressibilitySamplingSize = 4294967295, thì nén SMB sẽ được dùng khi bạn truy cập bất kỳ file nào trong thư mục SMB qua mạng.

Nếu bạn muốn vô hiệu hóa hoàn toàn việc sử dụng nén SMB trên Windows, đặt DisableCompression = 1:

Set-ItemProperty -Path HKLM:\System\CurrentControlSet\Services\LanManWorkstation\Parameters\ -Name DisableCompressedTraffic -Value 1

Hoặc dùng lệnh dưới đây:

Set-SmbClientConfiguration -DisableCompression $true

Tính năng Nén SMB tương thích với mã hóa và ký SMB, SMB over QUIC, SMB multichannel, và Hyper-V Live Migration. SMB Direct và RDMA chưa được hỗ trợ. Bạn có thể dùng tùy chọn mới /compress trong công cụ Robocopy và Xcopy để buộc sử dụng nén SMB khi sao chép file qua mạng.