Windows Server 2022 및 Windows 11에 도입된 SMB 프로토콜 버전에서는 인라인 SMB 압축을 사용할 수 있습니다. 네트워크를 통해 파일을 복사, 이동 또는 열 때 기능. 이를 통해 네트워크를 통해 대용량 파일(예:VM 디스크 파일, ISO 이미지 등)을 전송할 때 파일 전송 속도를 높이고 대역폭 및 네트워크 작업 대기 시간을 줄일 수 있습니다. 이 기사에서는 Windows의 공유 폴더에 대해 SMB 압축을 활성화하고 구성하는 방법을 보여줍니다.
SMB 압축을 사용하기 때문에(NTFS 압축과 혼합하지 마십시오) 느린(또는 데이터 요금제) 네트워크를 통해 파일을 전송하기 전에 파일을 미리 압축하기 위해 더 이상 타사 도구를 사용할 필요가 없습니다. 기본 압축 알고리즘은 XPRESS (LZ77)
입니다. . XPRESS Huffman (LZ77+Huffman)
을 활성화할 수도 있습니다. , LZNT1
또는 PATTERN_V1*
Windows의 압축 알고리즘.
클라이언트 측과 SMB 서버 측 모두에서 SMB 압축을 활성화할 수 있습니다.
Windows Server 2022에서는 다음 두 가지 방법으로 SMB 압축을 활성화할 수 있습니다.
- Windows 관리 센터(WAC) 사용:파일 및 파일 공유 -> 파일 공유 -> 네트워크 공유 폴더를 선택하고 데이터 압축을 확인합니다. 설정의 옵션;
- PowerShell 사용:새 공유 폴더 생성 시(
New-SmbShare -Name "Public" -Path "E:\Public" -CompressData $true
) 또는 기존 공유의 경우(Set-SmbShare -Name "Public" -CompressData $true
). SMB 압축이 활성화된 모든 디렉터리를 나열할 수 있습니다.Get-SmbShare -CompressData $true
SMB 압축은 클라이언트 측에서도 활성화될 수 있습니다. 그렇다면 서버 측이 SMB 압축을 지원하는지 여부는 중요하지 않습니다.
다음 명령을 사용하면 SMB 압축이 활성화된 Windows 11에서 공유 네트워크 드라이브를 매핑할 수 있습니다.
net use * \\munfs01\images /requestcompression:yes
또는:
New-SmbMapping -LocalPath "U:" -RemotePath "\\munfs01\images" -CompressNetworkTraffic $true
SMB 압축이 활성화된 상태에서 VMDK(VMware 가상 머신 디스크) 파일 전송 속도와 시간을 측정해 보겠습니다. SMB 압축 옵션이 활성화되거나 활성화되지 않은 공유 폴더를 생성하거나 /compress
를 사용할 수 있습니다. SMB 압축을 사용하여 파일을 강제 복사하는 robocopy 옵션. 다음은 명령의 예입니다.
robocopy z:\ c:\VM\without_smb_compression.vmdk srv02.vmdk
robocopy z:\ c:\VM\with_smb_compression.vmdk srv02.vmdk /compress
내 예에서 SMB 압축을 사용하여 3GB VMDK 파일을 복사하는 데 사용하지 않는 경우에 비해 시간이 20% 단축되었습니다(29초 대 37초).
Windows 11 및 Windows Server 2022의 RTM 버전에서는 크기에 관계없이 모든 파일에 SMB 압축이 사용됩니다.
파일 전송에 항상 SMB 압축을 사용하려면 EnableCompressedTraffic = 1
매개변수를 설정할 수 있습니다. 레지스트리 키 HKLM\System\CurrentControlSet\Services\LanManWorkstation\Parameters 아래에 있습니다. PowerShell을 사용하여 이 레지스트리 매개변수를 설정할 수 있습니다.
Set-ItemProperty -Path HKLM:\System\CurrentControlSet\Services\LanManWorkstation\Parameters\ -Name EnableCompressedTraffic -Value 1
SMB 압축을 대용량 파일(100MB 이상)에만 적용하려면 동일한 레지스트리 키에서 다음 속성을 설정하십시오.
- 압축성 샘플링 크기 =524288000
- 압축 가능 임계값 =104857600
Windows에서 SMB 압축 사용을 완전히 비활성화하려면 DisableCompression = 1
을 설정하십시오. :
Set-ItemProperty -Path HKLM:\System\CurrentControlSet\Services\LanManWorkstation\Parameters\ -Name DisableCompressedTraffic -Value 1
또는 아래 명령을 사용하십시오:
Set-SmbClientConfiguration -DisableCompression $true
SMB 압축 기능은 SMB 암호화 및 서명, SMB over QUIC, SMB 다중 채널 및 Hyper-V 라이브 마이그레이션과 호환됩니다. SMB Direct 및 RDMA는 아직 지원되지 않습니다. 새로운 /compress
를 사용할 수 있습니다. Robocopy 및 Xcopy 도구의 옵션을 사용하여 네트워크를 통해 파일을 복사할 때 SMB 압축을 강제로 사용합니다.