Notice
Recent Posts
Recent Comments
Link
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
Tags
more
Archives
Today
Total
관리 메뉴

IT 꿀팁

본딩 모드별 특징 본문

Linux

본딩 모드별 특징

찡찡빠 2017. 3. 6. 09:18
  •  mode 0 : Round-robin
    첫번째 가능한 슬레이브부터 마지막까지 순차적으로 전송한다이 모드는 부하분산과 failover를 제공한다.
    active-active, 
    이론상 슬레이브 수만큼의 배수대로 대역폭을 확장가능한다.
    스위치에서 지원한다면 hashing 없이 load balancing 된다.
  • mode 1 : Active-backup
    bond에서 하나의 슬레이브만 활성화된다다른 슬레이브는 standby 상태로 대기하다활성중이 슬레이브가 fail 된 경우 standby 슬레이브가 활성화 된다.
    대역폭은 활성화된 슬레이브의 대역폭을 갖는다. primary를 직접설정하지 않으면 failback 되지 않는다.  

    스위치의 지원이 필요없다.
  • mode 2 : balance-xor (load balancing + failover)
    0과 비슷하지만 xor연산을 이용하여 목적지 Mac과 근원지 Mac을 이용하여 분배한다. ( (출발지 mac XOR 목적지 mac) modula 슬레이브 개수 ) 
    fault tolerance  load balancing 을 위한 XOR 으로 설정한다이 방식은 인터페이스가 slave 네트워크 카드들의 하나에 대한 Mac address  imcoming request Mac address를 연결하는 방식이다.

  • mode 3 : broadcast (failover)
    모든 슬레이브 인터페이스로 전송한다이것은 failover를 제공한다(mirror). 하나의 슬레이브만큼 대역폭을 갖는다특별한 상황에서 사용한다그 특별한 경우는 랜카드가 절대로절대로 죽어서는 안되고 패킷이 절대로 절대로 없어지면 안되는 서버에 사용된다.
    스위치의 지원이 필요없다.

  • mode 4 / LACP : 802.3ad (link aggregation)
    switch  aggregation group을 생성해야한다. (switch  802.3ad 를 지원해야한다.) 
    같은 속도와 duplex 설정을 공유하는 aggregation group을 만들어야한다/수신은 active aggregator 안에서 모든 슬레이브에서 수행된다이론상 슬레이브 수만큼의 배수대로 대역폭을 확장가능한다.

  • mode 5 : balance-tlb
    스위치의 지원이 필요없다.
    이 모드는 특별한 지원이 OS 자체적으로 구동가능한 방법으로 각 링크의 현재 로드에 따라 보내는 데이터는 분산되어 전송된다. 데이터의 수신은 현재 slave쪽으로만 가게되며 해당 slave가 fail시 다른 slave가 MAC주소를 넘겨받아 수신한다. 데이터를 보낼 때에 드라이버가 MAC address를 링크의 것으로 바꿔 보내지만 받을 때에는 그냥 남겨둔다.

  • mode 6 : balance-alb
    mode 4 즉 802.3ad 를 스위치가 지원하지 않는다면 이 모드인 mode 6를 사용하면된다.
    스위치의 지원이 필요없다.
    이 모드는 mode 5와 같이 동작하지만 데이터 수신 시에서 load-balancing을 하는데 두개의 링크에서 ARP negotiation을 통하여 동작한다. MAC 주소 트릭을 이용하여 데이터를 보내고 받을 때에 load-balancing을 하게 된다.



  • Require switch supports modes
    1. mode 0 (balance-rr) - 트래픽은 hashing 없이 load balancing 된다.
    2. mode 4 (802.3ad) - 기본적으로 해당 모드는 스위치에서 지원 off되어 있다.
    3. mode 2 (balance-xor) - 받는 쪽의 receiver에 의하여 트래픽은 hashed되고 balancing 된다.

  • Generic modes (switch의 지원없이도 kernel과 driver를 통해 자체적 구동이 가능)
    1. mode 3 (broadcast)
    2. mode 5 (balance-tlb)
    3. mode 6 (balance-alb)

본딩을 하기 위해서는 서버뿐만 아니라 스위치에서도 설정이 필요하며, mode 1인 active-backup은 굳이 스위치의 설정은 별도로 필없없다. 시스코 스위치에서 본딩을 하여 대역폭 확장을 확실히 하기위해서는 mode 0 가 아닌 mode 4(시스코에서는 LACP-link aggregation ) 를 써야한다.


 본딩은 리눅스 커널에서 본딩 기능이 지원되어야하고 최적의 성능을 위해서는 스위치가 EtherCannel 이 지원되어야한다.


1g회선 mode4로 2개를 연결시 링크속도가 ethtool로 확인시 2g로 표기되는것을 확인할수있다.

하지만 하나의 세션당 2g가 나올수는 없음. 하나의세션은 하나의 NIC port에서만 통신되기때문에 1g만나옴


 miimon = 100 : interface 상태 체크 시간 설정(100 밀리세컨)


 max_bonds : bonding interface 개수 지정


1:1 매핑되는 본딩시 유의사항

http://www.potatogim.net/wiki/%EC%9C%84%ED%82%A4%EB%A1%9C%EA%B7%B8:2013/08/08_-_%EB%B3%B8%EB%94%A9%EC%9D%B4_%EC%99%9C_%EC%9D%B4%EB%9F%B4%EA%B9%8C%3F