나는 현재 1000Mb/s 이더넷 포트(mb 단위로 설치)를 통해 라우터/스위치에 연결된 Linux를 사용하는 두 대의 컴퓨터를 가지고 있습니다.
이를 통해 최대 120MB/s의 속도로 두 호스트 간에 데이터를 전송할 수 있습니다.
이 속도를 높여야 하기 때문에 두 마더보드의 두 PCIe 슬롯 모두에 2.5Gb 이더넷 카드 2개를 설치하고(새 이더넷 카드 총 4개) 케이블 2개로 직접 연결하여(라우터/스위치를 통하지 않고) 둘 다 만들 수 있습니까? 카드는 이론적 속도가 5Gb인 하나의 논리적 네트워크 인터페이스로 간주됩니까?
어떻게 해야 하나요?
또한 두 개의 RJ45 포트가 있는 단일 이더넷 카드(PCIx)도 보았습니다. 이 두 포트를 동시에 최대 속도로 사용할 수 있습니까?
답변1
예, 가능합니다.
"링크 바인딩 드라이버"를 설치해야 할 가능성이 높습니다. 두 개 이상의 링크를 통해 전송된 패킷의 균형을 맞추고 동기화하는 드라이버입니다. 이는 대부분의 배포판에서 기본 설정의 일부가 아니지만 저장소에서 사용할 수 있습니다. 예를 들어 Ubuntu 시리즈의 경우 여기에서 유용한 지침을 얻을 수 있습니다.https://help.ubuntu.com/community/UbuntuBonding
Google에서 "링크 집계" 또는 "링크 조합"을 검색할 수도 있습니다. 이러한 연결 속도 및 지속 가능성 방법은 서버 측에서 많이 사용되지만 아직 이를 설명할 용어가 없습니다.
답변2
이 속도를 높여야 하므로 두 MB의 PCIe 슬롯 두 개에 2.5GB 이더넷 카드 2개를 설치하고(총 4개의 새 이더넷 카드) 케이블 2개로 직접 연결하고(라우터/스위치를 통하지 않고) 만들 수 있습니까? 두 카드 모두 이론상 속도가 5GB인 하나의 논리적 네트워크 인터페이스로 간주됩니까?
예, 다른 답변에서 다루었듯이 이것이 가능해야 합니다.
즉,두 시스템 간의 지점 간 링크의 매우 구체적인 사례당신은 이것을 할 수 있고 당신이 원하는 것을 (거의) 달성할 수 있습니다. 두 노드 모두 동일하게 구성되어야 하며 둘 다 본딩 모드 0(balance-rr)을 사용해야 합니다. 이는 두 시스템 간의 지점 간 링크에서 진정한 이중 처리량을 달성할 수 있는 유일한 방법입니다. Linux 본딩 드라이버 프로그램(다른 모든 모드) 균등하게 또는 전혀 균형을 맞추지 마십시오).
하지만 본딩 드라이버로 인해 약간의 추가 오버헤드가 있기 때문에(그러나 가까워야 함) 5GbE 링크와 정확히 동일한 링크가 표시되지는 않을 것입니다.
그러나 이는 양쪽 끝에 동일한 본딩 구성이 있는 두 시스템 간의 지점 간 링크에서만 작동합니다. 다른 경우에는 본딩 모드 6(balance-alb)이 필요할 수 있지만 스위치는 두 링크 사이의 개별 연결의 균형을 맞추도록 신중하게 설계되어야 합니다(IOW, 각 연결은 최대 하나의 링크 경로만 사용할 수 있으며, 그러나 연결의 약 절반만이 해당 대역폭을 놓고 경쟁합니다.
그래도 10GbE 어댑터 한 쌍을 구입하는 것이 좋습니다. 약간 더 비싼 케이블이 필요하지만 가격 대비 성능은 2.5GbE 4개 또는 5GbE 링크 2개보다 낫습니다. 일반적으로 구현되는 2.5GbE 및 5GbE는 전송 속도가 느린 10GbE에 불과하기 때문입니다. 내부 구성은 동일합니다.) 이 접근 방식에는 분명한 장점이 있습니다. 계획한 설정에 비해 성능이 크게 향상될 것입니다.그냥 일이야(훌륭한 Linux 지원 기능을 갖춘 카드를 구입하는 경우) 추가 구성이 필요하지 않으며 실제로 비용은 2쌍의 2.5GbE 카드를 사용하는 것의 두 배보다 약간 저렴합니다.
또한 두 개의 rj45 포트가 있는 단일 이더넷 카드(PCIx)를 보았습니다. 이 두 포트를 동시에 최대 속도로 사용할 수 있습니까?
이 질문에 대한 대답은 '예'입니다. 두 포트를 동시에 사용하면 항상 작동합니다. 전체 대역폭을 사용하지 못할 수도 있습니다(대개는 광고된 대역폭의 지연 시간 이점을 여전히 얻을 수 있지만).
그 이유는 이 대답에 비해 너무 복잡하지만 PCI-e 링크 협상의 몇 가지 특이한 점과 마더보드 제조업체가 결정하는 상당히 일반적이고 의심스러운 설계 선택과 관련이 있습니다.
답변3
Synology는 여러 네트워크 카드가 아닌 단일 멀티[쿼드] 포트 네트워크 카드를 사용하여 특별히 귀하가 언급한 작업을 수행할 수 있습니다. 예를 들어https://www.synology.com/en-us/products/RS3618xs#specs
https://kb.synology.com/en-ca/DSM/help/DSM/AdminCenter/connection_network_linkaggr?version=7
불행하게도 제가 Synology에서 수행한 설정은 그래픽 DSM 인터페이스를 통해서 이루어졌습니다. 나는 그것이 그들의 데비안 풍미의 Linux로 어떻게 해석되는지 모르겠습니다. 하지만 귀하의 질문에 따르면 가능하며 한동안 실행되어 왔습니다.
바인딩 지침은 다음과 같습니다.
네트워크 본딩은 더 높은 처리량이나 중복성을 갖춘 논리적 인터페이스를 제공하기 위해 네트워크 인터페이스를 결합하거나 집계하는 방법입니다.
여러 포트가 있는 하나의 NIC인지, 각각 포트가 있는 여러 NIC인지는 중요하지 않습니다. 각 포트는 인터페이스 이름(eth0, eth1, eth2... eth-n)으로 표시됩니다. 당신의 노조 수준.
- https://www.kernel.org/doc/Documentation/networking/bonding.txt(2011년)
- https://forum.likg.org.ua/linux-special/setup-bonding-interface-debian-case-t534.html
- https://www.loadbalancer.org/blog/what-is-networking-bonding-and-what-might-you-use-it-for/
- Red Hat 문서 상태Linux 번들 드라이버이제 주류이며 커널에 포함되어 있으므로 수동으로 설치할 필요가 없습니다. 나는 이것이 오늘날 대부분의 Linux 배포판의 경우라고 생각합니다.
- 기본적으로 웹 검색만 하면 됩니다.Linux 네트워크 인터페이스 바인딩자신이 해야 할 일을 찾아야 합니다.
- 유튜브 영상이 있는데..https://www.youtube.com/watch?v=9rYUrM03HJc
- 당신이 원하는잔액-rr{라운드 로빈} 모드를 사용하면 단일 tcp-ip 연결이 두 포트의 대역폭을 모두 사용할 수 있습니다.
- 유튜브 영상이 있는데..https://www.youtube.com/watch?v=9rYUrM03HJc
답변4
예. 많은 Linux 배포판에서 기본적으로 활성화되어 있는 mptcp 프로토콜을 통해 이 작업을 수행할 수 있습니다. 기본 tcp 대신 mptcp를 사용하도록 연결을 구성하려면 ip 테이블을 사용해야 합니다. 여기에서 지침을 찾을 수 있습니다.https://github.com/multipath-tcp/mptcp