안녕하세요?
최근에 LACP 구성을 새로 만들어서 테스트를 좀 했는데 대역폭 분산이 잘 안되더라고요.
클라이언트 2대에서 커넥션을 4-5개씩 만들어서 해봤는데도 전체 합계가 1Gbps 를 넘지 못해가지고 알아보니까.
분산 알고리즘이 src-dst-mac 으로 되어 있더라고요. (스위치는 DELL 5548 입니다.)
이전에 DELL 8132F 모델은 Enhanced Hashing 이라고 해서, 출발지와 목적지 포트까지도 이용해서 분산을 하는 알고리즘이 지원됐는데,
5548모델은 급이 낮아서인지 L3 정보인 IP까지만 보고 분산을 하는 것 같습니다.(매뉴얼에는 src-dst-mac, src-dst-ip, src-dst-mac-ip 까지 있네요.)
2포트 LACP <-> 4포트 LACP 서버간에 커넥션을 여러개 만들어서 전체 대역폭이 2Gbps까지 쓰도록 하고 싶었는데,
그렇게 하려면 port 까지 보고 분산을 시켜줘야 하는데 그게 스위치에서 안되는 것이었습니다.
아무튼 결론은 스위치가 별로라면 스위치에 의존적인 LACP를 쓰는 것보다는 그냥 OS에서 지원하는 본딩 방식이 나은 것 같습니다.
리눅스의 경우에는 balanced-alb 모드가 괜찮아 보이네요.
LACP는 반드시 한 스위치에 몰아서 꽂아야 되는 반면에, 이 경우에는 슬레이브 노드의 랜선을 각각 다른 스위치에 꽂아도 된다고 나와있네요.
각각 다른 스위치에 꽂았을 때, 경우에 따라서는 트래픽이 이상하게 돌아올수도 있겠지만, 한 스위치의 장애를 회피하는 목적으로 사용할 수도 있을 것 같습니다.
https://www.kernel.org/doc/Documentation/networking/bonding.txt
¸®´ª½º bonding ¹®¼¸¦ º¸½Ã¸é, balanced-albÀÇ °æ¿ì ½ºÀ§Ä¡ÀÇ Áö¿øÀº ÇÊ¿äÇÏÁö ¾Ê´Ù°í ³ª¿Í ÀÖ½À´Ï´Ù.
balanced-albÀÇ °æ¿ì¿¡ Àü¼ÛÇÏ´Â °æ¿ì´Â ¾Ë¾Æ¼ ³ª´²¼ ¾î´ðÅÍ º°·Î ³ª´²¼ ÇÏ°í,
¼ö½ÅÇÏ´Â °æ¿ì¿¡´Â arp ÀÀ´äÀ» »ó´ëÃø ¼¹ö¸¶´Ù ´Ù¸£°Ô ÇÏ¸ç »ó´ëÃø¿¡¼ mac address·Î ºÐ»êÀÌ µÇµµ·Ï µÇ¾î ÀÖ½À´Ï´Ù.
¹°·Ð ¼¹ö ÀÚü¿¡¼ ÇÏ´Â °Íº¸´Ù´Â ½ºÀ§Ä¡ÂÊ¿¡¼ Àß ÇØÁÖ´Â °ÍÀÌ ³´°ÚÁÒ.
ÆÐŶÀ» º¸³»´Â °Å¾ß ³»°¡ ³»°¡ °¡Áø NIC µé¿¡ ¾Ë¾Æ¼ ³ª´² º¸³»ÁÖ¸é µÇÁö¸¸, ³²ÀÌ º¸³»ÁÖ´Â °ÍÀº ½ºÀ§Ä¡¿¡¼ º¸³»ÁÖ´Â NICÀ¸·Î ¹Þ¾Æ¾ß µÇ´Ï±î¿ä.
L4 ÆÐŶ±îÁö ºÐ¼®Çؼ ó¸®ÇÒ ¼ö ÀÖ¾î¼ Æ÷Æ® ±â¹ÝÀ¸·Î ºÐ»êÀ» ÇÑ´Ù¸é ¾ÆÁÖ ÁÁ¾Ò°ÚÁÒ. ±×·³ ¼¹ö µÎ ´ë°£ÀÇ 1:1 ¿¬°áÇؼµµ Ä¿³Ø¼ÇÀÌ ¸¹À¸¸é ÃÑ ´ë¿ªÆøÀÌ ´Ã¾î³¯ Å״ϱî¿ä.
8132F´Â ±×°Ô µÆ±æ·¡ 5548µµ µÉ ÁÙ ¾Ë¾Ò´Âµ¥ ¾ÈµÇ´õ¶ó±¸¿ä.