NIC Teaming과 SMB Multi-channel 그리고 동시 사용 가능한 최대 물리 NIC 개수
조회 4312 추천 0
https://technet.microsoft.com/en-us/library/dn610980(v=ws.11).aspx (1585)
MS 기술문서를 통해 답을 얻었습니다.
답변을 주신분들께 그리고 2cpu에 보답하는 마음으로 공유합니다.
(수정: 죄송합니다. 해당 문제에 대한 답이 아닌듯 합니다.)
해당 기술문서 링크: https://technet.microsoft.com/en-us/library/dn610980(v=ws.11).aspx
Configure SMB Multichannel
> Example configurations
> NIC Teaming
Windows Server 2012 R2 and Windows Server 2012 support the ability to combine multiple network adapters into one network adapter by using a feature called NIC Teaming. Although a team always provides fault tolerance, when SMB is deployed without SMB Multichannel, SMB creates only one TCP/IP connection per team. This configuration leads to limitations in both the number of CPU cores that are engaged and the maximum use of the team bandwidth.(수정: 해당 문단은 multichannel을 사용 안할 경우이네요: 답변 감사드립니다.)
When SMB is deployed with SMB Multichannel, SMB creates multiple TCP/IP connections for a single session to achieve a better balance across CPU cores and better use of the available bandwidth. NIC Teaming continues to offer the failover capability, which works faster than using SMB Multichannel by itself. We also recommend NIC Teaming because it offers failover capabilities to other workloads that do not rely on SMB, because those workloads cannot benefit from the failover capabilities of SMB Multichannel.
CPU Core수에 제한된다고 MS가 아주 못박아놨습니다. ㅜㅜ..
내일 가서 팀을 재구성해야겠어요.
혹시 티밍과 SMB-Multichannel을 함께 쓰실 계획이신 분들께 제 경험이 도움이 되기를 바라며...
뭐 오늘 집에가서 죽여놓은 리얼텍랜 살려서 시험해보면 나오겠지요. 전 어차피 다 듀얼코어뿐인지라... 켜켜~~
좀더 찾아봐야겠군요..
SMB 멀티채널 기능을 끈채 SMB를 사용할때 SMB 는 팀당 하나의 TCP/IP 커넥션을 생성하며 위와 같은 설정은 CPU 코어사용과 팀 대역폭에 재한을 가저다 줍니다.
When SMB is deployed with SMB Multichannel, SMB creates multiple TCP/IP connections for a single session to achieve a better balance across CPU cores and better use of the available bandwidth. NIC Teaming continues to offer the failover capability, which works faster than using SMB Multichannel by itself. We also recommend NIC Teaming because it offers failover capabilities to other workloads that do not rely on SMB, because those workloads cannot benefit from the failover capabilities of SMB Multichannel.
반면에 SMB를 멀티채널 기능과 함께 사용하면......(귀찮)....여튼 CPU든 대역폭이든 효율적으로 땅겨서 씁니다.
CPU 코어 수에 재한된다는게 아니라.. 멀티채널 없이는 CPU 자원 사용이 재한 적이라는 소리 같은데요..
ㅜ.. 저 CPU 코어를 효율적으로 땅겨쓴다는게 코어 수 만큼 채널을 확보할 수 있다는 건지, 아님 그냥 효율적으로 쓴다는 이야기인지 4 core cpu가 있으면 확실히 확인해볼수 있을텐데 말이죠... 글에는 그냥 어정쩡하게 효율적으로 분배한다고만.... ㅜ
이 문서를 보시면 SMB3.0멀티채널의 구성과 제약사항등을 볼 수 있습니다. 제가 가장 많이 읽어(?)봤던 내용입니다.
https://blogs.technet.microsoft.com/josebda/2012/06/28/the-basics-of-smb-multichannel-a-feature-of-windows-server-2012-and-smb-3-0/
6. Number of SMB Connections per Interface을 보시면 커넥션과 RSS그리고 인터페이스 할당에 대한 내용이 나와있는데 저도 좀 헷갈리긴 하지만 8커넥션이 최대이고 RSS지원하는 NIC는 4커넥션까지 지원하므로 이론상 2개의 RSS NIC면 모든 대역을 활용할 수 있는 건 맞습니다. 근데 예로 든 3개의 경우에는 각기 3/3/2 커넥션을 만든다고 나와있네요. 이건 로드밸런싱이죠. 어쨋든 3개의 NIC가 있다면 이걸 골고루 사용해야 정상인 듯 합니다.
링크와 알려주신 부분들을 토대로 탐구하겠습니다.
사용하고 계신 nic들은 전부 동종인가요?
뭔가 사소한 차이라도 있으면 열등한 nic들은 SMB가 자동으로 탈락시키고 사용하지 않습니다. 버립니다...