억대 연봉을 위한 인간수업
Published 2019. 9. 6. 16:30
본딩 이란? CS/Network
반응형

본딩(bonding) 이란?

 - 여러개의 NIC(network interface card)를 논리적으로 하나로 묶어 NIC의 갯수만큼 대역폭을 확장하는 기술이다.

 - Fault Tolerance(장애 허용 시스템)의 기능을 하여 부분적으로 장애가 발생해도 시스템은 작동되게 하는  기능을 한다.

 - 본딩을 설정하면 부하분산 혹은 부분장애가 있어도 동작할 수 있다.

 - 본딩은 여러 NIC를 하나로 묶어서 사용하는 기능인 만큼 최소 2개 이상의 NIC가 필요하다.

 - 본딩에는 7가지 모드가 존재한다

 

본딩 모드의 종류

  • Mode 0 : 
    Balance-round robine 정책 : 첫 번째 부터 마지막까지 순차적으로 NIC에 트래픽을 분산시켜 전송하는 모드이다.  부하분산과 장애 허용을 제공한다 

  • Mode 1 : 
    Active-backup 정책 : 한개의 NIC만 활성화 된다. 다른 NIC는 현 활성화된 NIC의 장애 발생시 활성화된다. 
    쉽게 이중화한 모드라 생각하면 된다.

 

  • Mode 2 : 
    Balance-XOR 정책 : 출발지 MAC 주소와 도착지 MAC 주소를 XOR연산을 하여 나온 결과값을 베이스로 전송한다. 결과값은 도착지 MAC 주소에 대해서 동일한 NIC 값을 (MAC주소가 같음)선택하며 부하분산과 장애감지를 제공합니다. 

  • Mode 3 : 
    Broadcast 정책 : 모든 NIC에 패킷을 브로드 캐스팅 하는 모드이다. 장애 허용을 제공한다. 

  • Mode 4 : 
    802.3ad (link aggregation) : 802.3ad를 지원하는 스위치에 aggregation group을 만든다. 이 그룹안에서 모든 NIC들의 송수신이 수행되며 NIC의 수만큼 대역폭 확장이 가능해진다.  그룹화에 따라 회선 정책이 변경되어 무단절 네트워크 연결을 가능하게 만드는 방식이다.

  • Mode 5 : 
    transmit load : 스위치의 지원이 필요하지 않고 OS 자체적으로 지원이 가능한 모드이다.
    각 링크의 현재 로드에 따라 보내는 데이터는 분산되어 전송된다. 데이터의 수신은 현재 slave쪽으로만 가게되며 해당 slave가 fail시 다른 slave가 MAC주소를 넘겨받아 수신한다. 송신패킷만 로드밸런싱하며 동일한 스위치에 NIC들이 연결되어있어야 한다.

 

  • Mode 6 : 
    들어오는 트래픽을 분산처리해서 받는다. mode 5와 같은 동작을 하지만 데이터 수신 시 로드 밸런싱을 하는데 두개의 링크에서 ARP negotiation을 통하여 동작한다. MAC 주소 트릭을 이용해 데이터를 전송하고 수신시 로드 밸런싱을 하게 된다. 이때 동일한 스위치에 NIC들이 연결되어야 로드밸런싱을 한다.

 

본딩 설정 networkManager를 꺼주어야 한다.

systemctl stop networkManager

systemctl disable networkManager

 

 

 

 

 

그뒤 network 설정파일에서 해당 포트들을 설정하면 된다.

cd /etc/sysconfig/network-scripts

ll 또는 ls  -> 해당 디렉토리안 파일들 확인 명령어

vi ifcfg-[포트명] 

--------------------------------------------------------------

MASTER=bond0 → 본딩을 구성할 장치의 이름
SLAVE=yes → 본딩 구성 멤버로 동작할지 결정
USERCTL=no → 사용자 계정으로 해당 장치를 제어 못하도록 설정
NM_CONTROLLED=no   (NM = network manager)

--------------------------------------------------------------

 

 

 

 

 

 

포트의 설정 변경이 끝났으면 파일을 하나 만들어 준다.

vi ifcfg-bond0

---------------------------------------

DEVICE=bond0

ONBOOT=yes

IPADDR=[IP기입]

NETMASK=[subnet 기입]

GATEWAY-[게이트웨이 기입]

---------------------------------------

 

 

그뒤 본딩 설정파일 생성을 위해 아래 경로로 이동 후 파일을 하나 생성, 수정한다.

cd /etc/nodprobe.d

vi bonding.conf

---------------------------------------------------------------------------------------------------------------------

alias bond0 bonding  ->  bonding은 bond0 으로 동작하도록 별칭 지정

options bond0 mode=1 miimon=100 -> mode 는 위에서 설명한 본딩 모드를 의미한다.

                                                  -> miimon은 밀리세컨드 단위로 동작하며 랜카드가 잘동작하나 확인하는 단위  

---------------------------------------------------------------------------------------------------------------------

 

 

 

반응형

'CS > Network' 카테고리의 다른 글

NAT 란 무엇인가  (0) 2019.10.23
탭(Tap) 장비 란?  (0) 2019.10.15
핫 스왑(Hot Swap) 이란?  (0) 2019.10.14
IP란?  (0) 2019.09.07
DNS와 hosts에 대하여  (0) 2019.09.07
profile

억대 연봉을 위한 인간수업

@회뜨는참치

이 글이 당신에게 조금이라도 도움이 된다면 좋겠습니다.