두머리 장터를 꽤나 자주 보시는 분이라면 40Gbps를 보면 아시다시피 멜라녹스 카드입니다. 기록을 좀 뒤져보니 구입한지 2년이 된 것 같습니다. 구입한지 나름 오래되었는데 이래저래 사정이 있어서 서버를 한 반년 넘게 동작시키지 못하는 경우도 좀 있어서 실질적으로 사용 시간은 1년 조금 넘은 것 같네요. 드디어 계획했던 스펙과 함께 잘 작동하는 모습을 보게되었습니다. 삽질의 연속에서 드디어 해방되었어요.
---------------
하드웨어적인 부분은 다음과 같습니다.
칩셋은 전부 MCX354A-FCBT의 이더넷 모드이고 QSFP+ DAC 케이블로 연결되어있습니다. 대략적인 구성은 OPNsense에 MCX354A-FCBT 3개, GPU 서버, Proxmox 서버, Synology NAS(PCIE 3.0 8배속 슬롯이지만 실질적으로는 4배속)에 각 1개씩 장착되어있으며, MCX354A-FCBT는 PCIE3.0 x8 대역폭 + 어짜피 저장장치 특성상 전체 대역폭을 사용할 수 없기에 2포트 카드이지만 1포트만 사용했습니다.
이런 상태로 그냥 사용하다가 이전에 커뮤니티 잡담에서 힌트를 얻었던 글입니다. [외부망과의 연결이 방해가 되는 경우가 있으며 MTU 값을 적절하게 수정해야한다.] 가 골자입니다.
https://gigglehd.com/gg/bbs/16679448
기존의 경우 LAN이 1Gbps 포트와 40Gbps 포트를 전부 브릿지로 묶어놨습니다. 여기서 40Gbps 포트만 따로 브릿지로 묶어서 내부망을 설정하고 별도의 ip 대역을 줬습니다. 처음에는 ping 자체가 안가서 보니까 Firewall Rule를 설정 안해놔서 그렇더군요. 설정하니까 제대로 되었습니다.
그리고 iperf3 로 테스트해보니까 10Gbps 밖에 안되더군요. 그래서 각 서버와 OPNsense 브릿지에 MTU 값을 9000으로 주니까 18~24Gbps가 나왔습니다. 어짜피 이 대역폭도 저장장치의 한계로 다 못쓰기에 이 정도만 해도 만족스러웠지만 원래부터 대충은 가능했던 대역폭인지라 어떻게하면 더 올릴 수 있을까 테스트를 더 진행했습니다. 그렇게 Proxmox 서버에 iperf3 서버 2개 올리고 GPU 서버에서 연결하고 Synology NAS에서 연결해보자는 생각이 들더군요.
그리고는
iperf3 서버 하나당 약 20Gbps씩 오버헤드 고려하면 제대로 나옵니다? 설정 자체는 제대로 되었다는건데 왜 서버를 여러개 열어서 테스트해야하는건지를 이해하지 못했죠. 그리고 다른 포럼에 결과가 이렇다고 올렸더니 iperf3가 멀티스레드를 잘 활용하지 못해서 3.16 버전 이상으로 가야 제대로 측정이 가능하다고 하더군요. 그래서 iperf3의 버전을 확인했더니 그보다 아래라서 직접 빌드해서 3.18 버전으로 테스트해봤습니다.
양방향도 잘되네요. 다만 OPNsense 서버쪽이 힘들어하는게 느껴집니다. CPU 사용량이 많이 올라가서 관리하는 원격 컴퓨터 연결과 VPN도 불안정해지네요.
한번 보시지요 ..