SMB 멀티채널은 여러 네트워크 연결을 하나의 논리적 SMB 세션에 바인딩하여 홈 NAS로 가는 여러 경로를 사용합니다. 클라이언트와 서버는 사용 가능한 인터페이스와 기능을 발견한 후, 하나의 RSS 지원 어댑터, 여러 물리 NIC, 또는 RDMA 지원 링크를 통해 병렬 채널을 생성합니다.
이 기능은 처리량을 높이고 한 연결이 실패해도 파일 세션을 유지할 수 있지만, 단순히 모든 광고된 포트 속도를 합산하지는 않습니다. 선택된 인터페이스는 호환 가능하고 도달 가능해야 하며, NAS 디스크, 클라이언트 저장소, CPU, PCIe 경로, 스위치가 여전히 사용 가능한 한계를 정의합니다.
SMB 클라이언트는 어떻게 둘 이상의 경로를 발견할까요?
첫 번째 SMB 연결이 설정된 후, 양 끝점은 네트워크 인터페이스와 기능에 관한 정보를 교환합니다. SMB는 링크 속도와 인터페이스 선택에 영향을 주는 기능을 포함한 인터페이스 기능 정보를 교환합니다.
경로에는 단순히 추가 물리 포트 이상의 것이 필요합니다. 양쪽 끝점 모두 서로 도달할 수 있는 주소가 있어야 하며, SMB 구현체는 해당 인터페이스를 동일 세션에 적합한 것으로 노출해야 합니다.
속도나 기능 등급이 다른 인터페이스는 단순 합산처럼 함께 사용되지 않을 수 있습니다. SMB는 모든 경로에 트래픽을 고르게 분산하기보다는 더 빠르거나 RSS 지원, RDMA 지원 어댑터를 선호할 수 있습니다.
왜 하나의 SMB 세션이 여러 TCP 연결을 생성할까요?
마운트된 공유와 인증된 파일 세션은 하나의 SMB 세션이 여러 연결을 사용할 수 있을 때에도 논리적으로 통합된 상태를 유지합니다. SMB는 여러 개의 관련 없는 공유를 제공하는 대신 추가 채널을 기존 세션에 바인딩합니다.
파일 요청, 응답, 크레딧 및 데이터는 이러한 채널에 분산될 수 있습니다. 운영 체제가 매핑을 관리하므로 애플리케이션은 일반적으로 하나의 연결로 사용할 때와 동일한 경로와 파일 핸들을 엽니다.
이는 여러 독립 복사 프로그램을 실행하는 것과 다릅니다. 멀티채널은 하나의 SMB 세션 내에서 전송 병렬성을 생성하며, 파일 프로토콜은 인증, 잠금, 순서 및 공유 의미를 계속 유지합니다.
RSS와 여러 NIC가 사용 가능한 병렬성에 어떤 변화를 주나요?
수신 측 스케일링(Receive Side Scaling, RSS)은 하나의 네트워크 어댑터가 수신 처리를 여러 CPU 코어에 분산하도록 합니다. RSS는 네트워크 처리를 CPU 코어에 분산시켜 하나의 고속 흐름이 단일 프로세서 큐를 통과하도록 강제하지 않습니다.
여러 물리 NIC가 있으면 SMB는 서로 다른 인터페이스를 통해 채널을 설정할 수도 있습니다. 이는 링크 용량을 늘리고 클라이언트와 NAS가 호환 가능한 도달 가능한 경로를 모두 노출하는 경우 세션에 별도의 장애 지점을 제공합니다.
단일 RSS 지원 고속 NIC와 두 개의 독립 NIC는 서로 다른 토폴로지입니다. 첫 번째는 하나의 링크 내에서 CPU 병렬성을 향상시키고, 두 번째는 물리적 링크 대역폭과 중복성을 추가할 수 있습니다.
RDMA는 SMB 멀티채널에서 어디에 위치하나요?
SMB Direct는 SMB에서 사용하는 RDMA 전송 기능이며, 멀티채널은 사용 가능한 SMB 경로를 선택하고 결합합니다. RDMA는 양쪽 끝점과 네트워크가 필요한 RDMA 기술을 지원할 때 SMB 데이터 이동 시 CPU 사용량을 줄여줍니다.
멀티채널은 RDMA 없이 일반 TCP를 통해 작동할 수 있습니다. RDMA 지원 경로가 일반적으로 호스트 오버헤드가 적어 선호되지만, 표준 이더넷 어댑터가 있는 일반 가정용 NAS도 여러 TCP 채널을 사용할 수 있습니다.
RoCE 및 기타 RDMA 설계는 자체 스위치, 손실 관리, 드라이버, 토폴로지 요구 사항을 도입합니다. 홈 NAS에 RDMA를 추가하는 것은 별도의 인프라 결정이며, 기본 SMB 멀티채널에 필수적인 체크박스가 아닙니다.
멀티채널은 복사를 재시작하지 않고 어떻게 페일오버를 제공할까요?
여러 연결이 동일한 SMB 세션에 속하기 때문에, 남은 채널이 SMB 세션을 유지할 수 있습니다. 클라이언트는 전체 공유 연결을 재구성하는 대신 도달 가능한 채널을 계속 사용할 수 있습니다.
실패한 연결이 감지되고 미처리 요청이 복구되는 동안에도 중단 현상이 보일 수 있습니다. 파일 내구성은 SMB 방언, 서버 동작, 애플리케이션 타임아웃에도 의존합니다.
멀티채널은 연결 또는 NIC 경로 실패를 방지하지만, NAS 재부팅, 스토리지 풀 실패, 스위치 전원 손실, 또는 모든 채널이 동일한 숨겨진 물리적 구성 요소를 통과하는 상황은 방지하지 못합니다.
왜 다중 네트워킹이 다중 전송 속도를 보장하지 않을까요?
마이크로소프트의 다중 NIC 설계는 SMB 작업이 여러 적합한 네트워크 경로를 사용할 수 있게 하지만, 여러 경로가 스토리지 병목 현상을 초과할 수는 없습니다. 두 포트 NAS는 디스크나 CPU가 한 포트로 이미 포화 상태일 때 두 배의 처리량을 제공할 수 없습니다.
클라이언트는 또한 결합된 속도로 데이터를 읽거나 써야 합니다. 느린 노트북 SSD, USB 어댑터, PCIe 레인, 암호화 프로세스 또는 SMB 서명 경로 중 하나가 세션 속도를 네트워크 인터페이스 합계 이하로 제한할 수 있습니다.
SMB는 장치 간 공유 파일 액세스를 제공합니다. 하나의 SMB 클라이언트 또는 작업 부하가 하나 이상의 경로를 사용할 수 있을 때 멀티채널을 사용하고, 활성 채널을 확인하며 NAS 저장 경로를 측정한 후 사용하지 않는 링크 용량을 프로토콜 실패로 간주하지 마십시오.
| 네트워크 기능 | SMB 멀티채널이 추가하는 것 | 남은 한계 |
|---|---|---|
| 하나의 비-RSS NIC | 보통 하나의 효과적인 연결 경로 | 단일 링크 및 프로세서 큐 |
| 하나의 RSS 지원 NIC | 여러 연결이 여러 CPU 코어를 사용할 수 있음 | 물리적 NIC 라인 속도 |
| 여러 호환 NIC | SMB 세션 계층의 링크 집계 및 경로 장애 조치 | NAS 및 클라이언트 저장 처리량 |
| RDMA 지원 NIC | 저CPU SMB Direct 채널 | RDMA 구성 및 저장 속도 |
자주 묻는 질문
SMB 멀티채널과 링크 집계는 같은 것인가요?
아니요. 링크 집계는 SMB 아래에서 작동하며 일반적으로 각 흐름을 하나의 멤버 링크에 해시합니다. SMB 멀티채널은 하나의 SMB 세션에 대해 여러 연결을 생성하고 이를 직접 사용할 수 있습니다.
2.5GbE 클라이언트가 두 개의 1GbE NAS 포트를 사용할 수 있나요?
지원되는 토폴로지에서는 SMB 클라이언트와 서버가 호환 채널을 발견하고 클라이언트 링크가 결합된 트래픽을 받을 수 있을 때 필요할 수 있습니다. 실제 지원 여부는 NAS 구현, 운영 체제 및 NIC 기능에 따라 다릅니다.
SMB 멀티채널에 관리형 스위치가 필요합니까?
본질적으로는 아닙니다. 여러 일반 이더넷 경로는 LACP 없이 스위치를 통해 작동할 수 있지만, 인터페이스, 주소, 서브넷 및 루프 없는 토폴로지는 여전히 올바르게 설계되어야 합니다.
파일 복사가 케이블 하나를 뽑아도 계속될까요?
클라이언트와 서버가 SMB 세션을 유지하는 한 남은 채널을 통해 계속 진행할 수 있지만, 감지 및 요청 복구 과정에서 일시적인 중단이 발생할 수 있습니다.
최종 요약
SMB 멀티채널은 하나의 파일 공유 세션을 여러 병렬 전송 채널로 전환합니다. RSS는 고속 연결을 CPU 코어에 분산시킬 수 있고, 여러 NIC는 대역폭과 경로 복원력을 추가하며, RDMA는 CPU 부하를 줄일 수 있습니다. 이 기능은 네트워크 경로만 개선하며, 저장소, 클라이언트 I/O, 인터페이스 호환성 및 공유 하드웨어가 측정된 전송 속도의 확장 여부를 결정합니다.
기술 및 AI 허브
더 읽어보기

Plex 상태란 무엇이며, 어떤 부분을 영구적으로 보존해야 하나요?
영구 Plex 상태는 재시작 및 재구축 후에도 서버 환경을 유지하는 정보이며, 미디어와 임시 트랜스코딩 데이터는 별도의 역할을 합니다.

Plex는 로컬 세션과 원격 세션의 인증을 어떻게 처리하나요?
Plex 인증은 서버와 계정의 신원 확인으로 시작되며, 이후 로컬 또는 원격 네트워크 경로에 따라 연결 가능 여부와 보안 연결 동작이 결정됩니다.

라이브러리 데이터가 늘어날수록 Plex 검색이 느려지는 이유는 무엇인가요?
라이브러리 증가만으로는 원인을 진단할 수 없습니다. 데이터베이스 크기를 탓하기 전에 쿼리 형태, 인덱스, 캐시 상태, 스토리지 지연 시간, 쓰기 작업을 점검하세요.

