SMB 다중 채널 관리

적용 대상: Azure Stack HCI, 버전 22H2 및 21H2; Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012, Windows 10

SMB 다중 채널은 네트워크 성능과 파일 서버의 가용성을 향상시키는 SMB(서버 메시지 블록) 3.0 프로토콜의 일부입니다.

SMB 다중 채널을 사용하면 파일 서버에서 여러 네트워크 연결을 동시에 사용할 수 있습니다. SMB 3.0 클라이언트와 SMB 3.0 서버 간에 여러 경로를 사용할 수 있는 경우 네트워크 대역폭 및 네트워크 내결함성을 쉽게 집계할 수 있습니다. 이렇게 하면 서버 애플리케이션이 사용 가능한 모든 네트워크 대역폭을 최대한 활용하고 네트워크 오류에 대한 복원력을 높일 수 있습니다.

SMB 다중 채널은 다음과 같은 기능을 제공합니다.

  • 향상된 처리량. 파일 서버는 고속 네트워크 어댑터 또는 여러 네트워크 어댑터에 대해 여러 연결을 사용하여 추가 데이터를 동시에 전송할 수 있습니다.

  • 네트워크 내결함성. 클라이언트가 동시에 여러 네트워크 연결을 사용하는 경우 네트워크 연결이 끊어졌음에도 불구하고 클라이언트는 중단 없이 계속할 수 있습니다.

  • 자동 구성. SMB 다중 채널은 사용 가능한 여러 네트워크 경로를 자동으로 검색하고 필요에 따라 연결을 동적으로 추가합니다.

SMB 다중 채널에 대한 요구 사항

SMB 다중 채널은 기본적으로 사용하도록 설정되어 있으므로 추가 역할, 역할 서비스 또는 기능을 설치할 필요가 없습니다. SMB 클라이언트는 구성이 식별될 때 여러 네트워크 연결을 자동으로 검색하고 사용합니다. 그러나 SMB 다중 채널에는 다음과 같은 요구 사항이 있습니다.

  • Azure Stack HCI, Windows Server 또는 Windows 10 운영 체제를 실행하는 컴퓨터가 두 대 이상 있습니다.

  • 다음 구성 중 하나 이상:

    • 여러 네트워크 어댑터

    • RSS(수신측 크기 조정)를 지원하는 하나 이상의 네트워크 어댑터

    • 여러 네트워크 어댑터가 팀화되어 있습니다( NIC 팀 참조).

    • RDMA(원격 직접 메모리 액세스)를 지원하는 하나 이상의 네트워크 어댑터

SMB 다중 채널 구성

이 섹션에서는 네트워크 어댑터 배열을 사용하여 SMB 다중 채널을 배포하기 위한 몇 가지 구성 옵션을 설명합니다. 이러한 구성은 예제 구성일 뿐입니다. 이 항목에 포함되지 않은 다른 많은 구성이 있습니다.

단일 RSS 지원 네트워크 어댑터

이 일반적인 구성에서 SMB 클라이언트와 SMB 서버는 단일 10기가비트 이더넷(10GbE) 네트워크 어댑터를 사용하여 구성됩니다. SMB 다중 채널 없이 SMB를 배포하고 SMB 세션이 하나만 설정된 경우 SMB는 단일 TCP/IP 연결을 만듭니다. 단일 CPU 코어만 사용하는 이 구성은 특히 많은 작은 I/O 작업이 수행되는 경우 기본적으로 정체로 이어집니다. 따라서 성능 병목 현상이 발생할 가능성이 매우 큽 있습니다.

대부분의 현재 네트워크 어댑터는 여러 연결이 여러 CPU 코어에 자동으로 분산되도록 하는 RSS(수신측 크기 조정)라는 기능을 제공합니다. 그러나 단일 연결을 사용하는 경우 RSS가 도움이 될 수 없습니다. RSS 지원 네트워크 어댑터에서 SMB 다중 채널을 사용하는 경우 SMB는 해당 특정 세션에 대해 여러 TCP/IP 연결을 만듭니다. 이 구성은 많은 작은 I/O 작업이 필요한 경우 단일 CPU 코어에서 잠재적인 병목 상태를 방지합니다.

여러 네트워크 어댑터

이 구성에서는 여러 10GbE 네트워크 어댑터를 사용하여 SMB 클라이언트 및 SMB 서버를 구성합니다. SMB 다중 채널 없이 SMB를 배포하고 SMB 세션이 하나만 설정된 경우 SMB는 사용 가능한 네트워크 어댑터 중 하나를 사용하여 단일 TCP/IP 연결을 만듭니다. 이 시나리오에서는 여러 네트워크 어댑터의 대역폭을 집계할 수 없습니다. 예를 들어 두 개의 1GbE 네트워크 어댑터를 사용하는 경우 초당 2Gbps(기가비트)를 달성할 수 없습니다. 선택한 네트워크 어댑터의 연결이 끊어지거나 사용하지 않도록 설정된 경우에도 오류가 발생할 수 있습니다.

SMB 다중 채널을 사용하여 SMB를 배포하는 경우 네트워크 어댑터가 RSS를 지원하는 경우 SMB는 인터페이스당 하나 이상의 연결이 있는 단일 세션에 대해 여러 TCP/IP 연결을 만듭니다. 이 구성을 사용하면 SMB에서 사용할 수 있는 결합된 네트워크 어댑터 대역폭을 사용할 수 있으며 네트워크 어댑터가 실패할 경우 SMB 클라이언트가 중단 없이 계속할 수 있습니다.

NIC 팀

Azure Stack HCI 및 Windows Server는 NIC 팀이라는 기능을 사용하여 여러 네트워크 어댑터를 하나의 네트워크 어댑터로 결합하는 기능을 지원합니다. 팀은 항상 내결함성을 제공하지만 SMB 다중 채널 없이 SMB를 배포할 때 SMB는 팀당 하나의 TCP/IP 연결만 만듭니다. 이 구성은 참여하는 CPU 코어 수와 팀 대역폭의 최대 사용 모두에 제한이 있습니다.

SMB 다중 채널을 사용하여 SMB를 배포하는 경우 SMB는 CPU 코어 간 균형을 향상시키고 사용 가능한 대역폭을 더 잘 사용하기 위해 단일 세션에 대해 여러 TCP/IP 연결을 만듭니다. NIC 팀은 자체 SMB 다중 채널을 사용하는 것보다 더 빠르게 작동하는 장애 조치(failover) 기능을 계속 제공합니다. 또한 이러한 워크로드는 SMB 다중 채널의 장애 조치(failover) 기능을 활용할 수 없으므로 SMB를 사용하지 않는 다른 워크로드에 장애 조치(failover) 기능을 제공하므로 NIC 팀을 사용하는 것이 좋습니다.

Azure Stack HCI에서 수행하는 것처럼 저장소 공간 다이렉트 트래픽에 전용 네트워크 어댑터 집합을 사용하는 경우 이러한 스토리지 네트워크 어댑터를 팀하는 것은 엄격하게 선택 사항입니다. 이는 중요한 이점이나 단점을 제공하지 않습니다.

중요

Windows Server 2012 R2 이하에서는 네트워크 어댑터의 RDMA 기능을 사용하려는 경우 NIC 팀을 사용하지 마세요. 이러한 운영 체제에서는 팀이 네트워크 어댑터의 RDMA 기능을 사용하지 않도록 설정하기 때문에 RDMA 지원 네트워크 어댑터 팀이 항상 비 RDMA 지원으로 보고됩니다.

단일 또는 여러 RDMA 지원 네트워크 어댑터

SMB 다중 채널은 네트워크 어댑터의 RDMA 기능을 검색하여 RDMA를 통한 SMB Direct라는 SMB 직접 기능을 사용하도록 설정합니다. SMB 다중 채널이 없으면 SMB는 모든 네트워크 어댑터가 새 RDMA 스택과 함께 존재하는 TCP/IP 스택을 제공하는 RDMA 지원 네트워크 어댑터와 일반 TCP/IP 연결을 사용합니다.

SMB 다중 채널을 사용하여 SMB를 배포하면 SMB는 네트워크 어댑터의 RDMA 기능을 검색하고 인터페이스당 두 개의 RDMA 연결을 사용하여 해당 단일 세션에 대해 여러 RDMA 연결을 만듭니다. 이 구성을 사용하면 SMB가 RDMA 지원 네트워크 어댑터에서 제공하는 높은 처리량, 짧은 대기 시간 및 낮은 CPU 사용률을 활용할 수 있습니다. 또한 여러 RDMA 인터페이스를 사용할 때 내결함성을 제공합니다.

중요

RDMA 연결을 만든 후에는 원래 프로토콜 협상에 대한 TCP/IP 연결이 더 이상 사용되지 않습니다. 그러나 다른 RDMA 연결이 실패하는 경우 해당 연결이 유지됩니다.

SMB 다중 채널, RDMA 지원 네트워크 어댑터 및 NIC 팀 호환성

다음 표에는 SMB 다중 채널, RDMA(SMB Direct) 및 NIC 팀을 결합할 때 사용할 수 있는 다양한 기능이 요약되어 있습니다.

Configuration 처리량 SMB에 대한 내결함성 비 SMB에 대한 내결함성 낮은 CPU 사용률
단일 네트워크 어댑터(RSS 없음) *
여러 네트워크 어댑터(RSS 없음) ** *
NIC 팀이 있는 여러 네트워크 어댑터(RSS 없음) ** ** *
RSS가 있는 단일 네트워크 어댑터 *
RSS를 사용하는 여러 네트워크 어댑터 ** *
RSS 및 NIC 팀을 사용하는 여러 네트워크 어댑터 ** ** *
단일 RDMA 지원 네트워크 어댑터 * *
여러 RDMA 지원 네트워크 어댑터 *** * *
NIC 팀이 있는 여러 RDMA 지원 네트워크 어댑터 *** ** * *

Windows Server 2016 이상을 실행하는 경우 이상적인 솔루션은 여러 RDMA 지원 네트워크 어댑터를 사용하고 NIC 팀을 SMB 다중 채널과 결합하는 것입니다. 이 조합은 최상의 처리량을 제공하고, SMB 및 기타 프로토콜을 사용하는 애플리케이션에 내결함성을 제공하며, CPU 영향이 가장 낮습니다.

위에서 설명한 것처럼 Windows Server 2012 R2 이하에서 RDMA 지원 네트워크 어댑터를 사용하는 경우 네트워크 어댑터의 RDMA 기능을 사용하지 않도록 설정하기 때문에 NIC 팀은 좋은 옵션이 아닙니다.

SMB 다중 채널이 없는 예제 구성

RSS 없이 단일 네트워크 어댑터를 사용하려는 경우 여러 네트워크 연결의 이점을 누릴 수 없으므로 SMB 다중 채널은 사용되지 않습니다. 또한 속도가 다른 네트워크 어댑터를 사용하려는 경우 SMB 다중 채널은 자동으로 가장 빠른 네트워크 어댑터를 선택합니다. 이는 동일한 형식(예: RDMA, RSS 또는 둘 다)이고 속도가 같은 네트워크 어댑터가 SMB 다중 채널에서 동시에 사용되기 때문입니다. 느린 네트워크 어댑터는 유휴 상태입니다.

SMB 다중 채널 사용 안 함

일반적으로 SMB 다중 채널을 사용하지 않도록 설정할 필요가 없습니다. 그러나 예를 들어 테스트 환경에서 SMB 다중 채널을 사용하지 않도록 설정하려면 다음 Windows PowerShell 절차를 사용합니다.

먼저 PowerShell 세션을 열어 서버 중 하나에 연결합니다.

Enter-PSSession <server-name>

서버 쪽에서 SMB 다중 채널을 사용하지 않도록 설정하려면 다음 cmdlet을 사용합니다.

Set-SmbServerConfiguration -EnableMultiChannel $false

클라이언트 쪽에서 SMB 다중 채널을 사용하지 않도록 설정하려면 다음 cmdlet을 사용합니다.

Set-SmbClientConfiguration -EnableMultiChannel $false

참고

클라이언트 또는 서버에서 SMB 다중 채널을 사용하지 않도록 설정하면 두 시스템의 사용이 차단됩니다.

SMB 다중 채널 다시 사용

SMB 다중 채널을 사용하지 않도록 설정하고 다시 사용하도록 설정하려면 다음 절차를 사용합니다.

서버 쪽에서 SMB 다중 채널을 다시 사용하도록 설정하려면 다음 cmdlet을 사용합니다.

Set-SmbServerConfiguration -EnableMultiChannel $true

클라이언트 쪽에서 SMB 다중 채널을 다시 사용하도록 설정하려면 다음 cmdlet을 사용합니다.

Set-SmbClientConfiguration -EnableMultiChannel $true

참고

다시 사용하려면 클라이언트와 서버 모두에서 SMB 다중 채널을 다시 사용하도록 설정해야 합니다.

SMB 다중 채널 테스트

이 섹션에서는 SMB 다중 채널 테스트에 대한 몇 가지 시나리오에 대해 설명합니다. 여기에는 SMB 다중 채널과 파일 복사본을 비교한 다음 SMB 다중 채널 없이 비교하고 파일 복사 작업 중에 네트워크 어댑터가 의도적으로 실패하게 만드는 작업이 포함됩니다.

SMB 다중 채널과 파일 복사본 비교

SMB 다중 채널에서 제공하는 증가된 처리량을 측정하려면 다음 테스트를 수행합니다. 각 테스트 전에 서버와 클라이언트를 모두 다시 시작하여 유사한 조건에서 작동하는지 확인합니다.

  1. 이전에 설명한 구성 중 하나를 사용하여 SMB 다중 채널을 구성합니다.

  2. SMB 다중 채널을 사용하여 장기 실행 파일 복사 작업을 수행하는 데 걸리는 시간을 측정합니다.

  3. SMB 다중 채널을 사용하지 않도록 설정합니다. 자세한 내용은 SMB 다중 채널 사용 안 함을 참조하세요.

  4. SMB 다중 채널 없이 동일한 파일 복사를 수행하는 데 걸리는 시간을 측정합니다.

  5. SMB 다중 채널을 다시 사용하도록 설정합니다. 자세한 내용은 SMB 다중 채널 다시 사용을 참조하세요.

  6. 두 결과를 비교합니다.

중요

캐싱의 성능 영향을 방지하려면 먼저 사용 가능한 메모리 크기를 초과하는 대량의 데이터를 복사합니다. 그런 다음 첫 번째 복사 작업을 준비로 사용하여 복사 작업을 다시 수행합니다. 두 번째 복사 작업 시간만 지정합니다.

SMB 다중 채널이 있는 파일 복사 중에 네트워크 어댑터 중 하나가 실패하도록 합니다.

SMB 다중 채널의 장애 조치(failover) 기능을 확인하려면 다음을 수행합니다.

  1. SMB 다중 채널이 여러 네트워크 어댑터 구성에서 작동하는지 확인합니다.

  2. 장기 실행 파일 복사 작업을 수행합니다.

  3. 파일 복사 작업이 실행되는 동안 케이블 중 하나의 연결을 끊거나 네트워크 어댑터 중 하나를 사용하지 않도록 설정하여 네트워크 경로 중 하나의 오류를 시뮬레이션합니다.

  4. 파일 복사본이 나머지 네트워크 어댑터를 계속 사용하고 파일 복사 오류 없이 작동하는지 확인합니다.

연결이 끊긴 네트워크 연결 경로를 사용하는 다른 워크로드가 없는지 확인합니다. 이 예방 조치는 SMB 다중 채널을 활용하지 않는 워크로드에서 발생할 수 있는 오류를 방지합니다.

SMB 다중 채널이 작동하는지 확인

다음 절차에 따라 SMB 다중 채널이 작동하는지 확인합니다.

  1. 네트워크 어댑터 구성이 올바른지 확인하려면 SMB 서버와 SMB 클라이언트의 Windows PowerShell 다음을 입력합니다.

    Get-NetAdapter
    Get-NetAdapterRSS
    Get-NetAdapterRDMA
    Get-NetAdapterHardwareInfo
    
  2. SMB 다중 채널이 사용하도록 설정되어 있는지 확인하려면 SMB가 네트워크 어댑터를 올바르게 식별하고 네트워크 어댑터의 RSS 및 RDMA 기능이 올바르게 식별되었는지 확인하려면 다음을 수행합니다.

    SMB 클라이언트의 Windows PowerShell 다음을 입력합니다.

    Get-SmbClientConfiguration | Select EnableMultichannel
    Get-SmbClientNetworkInterface
    

    SMB 서버의 Windows PowerShell 다음을 입력합니다.

    Get-SmbServerConfiguration | Select EnableMultichannel
    Get-SmbServerNetworkInterface
    
  3. SMB 클라이언트에서 SMB 서버와 함께 진행 중인 세션을 만드는 장기 실행 파일 복사 작업을 수행합니다. 복사 작업이 실행되는 동안 Windows PowerShell 다음을 입력하여 연결이 올바른 버전의 SMB를 사용하고 SMB 다중 채널이 작동하는지 확인합니다.

    Get-SmbConnection
    Get-SmbMultichannelConnection
    Get-SmbMultichannelConnection -IncludeNotSelected
    

다음 단계

관련 정보는 다음을 참조하세요.