CentOS Network Bonding Interface Configuration

이 문서에서는 CentOS7에서 네트워크 인터페이스의 이중화라고 할 수 있는 Bonding을 구성하는 방법에 대해서 설명드리도록 하겠습니다.

Network Bonding이란

Linux kernel 내장된 기술로 2개 이상의 Network Interface Card를 논리적으로 하나의 interface 로 묶어서 NIC의 물리적 장애에 대응하거나나 처리량을 늘리는 기술입니다.

두개의 물리적 인터페이스를 하나로 묶는다

Bonded 된 네트워크 인터페이스는 몇가지 방식을 동작 방식을 설정하여 사용할 수 있고 이는 아래 얘기하겠습니다.

Bonding 모듈 로드

CentOS 7 에서는 bonding 모듈이 기본적으로 로드가 되어 있지 않습니다. 아래 명령을 통해 boning 모듈을 로드합니다.

# modprobe --first-time bonding

Bond 인터페이스 생성

Bond Interface 생성 Bond Interface 생성을 하기위해서는 /etc/sysconfig/network-scripts/ 의 ifcfg-bond0 파일을 생성해야됩니다.

# cat  /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
NAME=bond0
TYPE=Bond
IPADDR=10.0.0.1
NETMASK=255.255.255.0
ONBOOT=yes
BOOTPROTO=none
BONDING_OPTS="mode=1 miimon=100"

1st/2st Interface 생성

SLAVE Interface 생성 bond Interface 의 SLAVE Interface 파일을 생성합니다.

/etc/sysconfig/network-scripts/ 의 ifcfg-eth1 과 ifcfg-eth2 를 수정합니다.

# cat ifcfg-eth1

DEVICE=eth1
NAME=eth1
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
# cat ifcfg-eth2
DEVICE=eth2
NAME=eth2
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes

네트워크 서비스 재시작

이후 네트워크 서비스를 재시작하면 적용됩니다.

systemctl restart network

Bonding Option

Bonding 인터페이스에는 몇가지 옵션을 통해 이중화 모드를 운영할 수 있습니다.

가장 많이 사용되는 방식은 Active-Stanby 모드이다. 그럼 현재 운영중이 모드를 먼저 확인해 봅시다.

Bonding Interface 확인

본딩 인터페이스는 아래 cat /sys/class/net/bonding_masters 파일을 통해 인터페이스를 확인 할 수 있습니다. 그리고 해당 인터페이스의 구성은 커널의 /sys/class/net/bond<N>/bonding/ 에서 Bonding 인터페이스 관련된 파라메터를 수정할 수 있습니다.

cat /sys/class/net/bonding_masters

위 명렁으로 확인된 인터페이스의 모드는 /sys/class/net/bond<N>/bonding/mode에서 수정이 가능합니다.

Boding Interface 수정

Bonding Interface 수정을 위해서 인터페이스를 중지합니다.

#ifconfig bond0 down

그리고 Active-Stanby 모드로 수정합니다.

#echo balance-alb > /sys/class/net/bond0/bonding/mode

설정이 완료되었다면, 다시 Bonding Interface를 시작 합니다.

#ifconfig bond0 up

  • balance-rr or 0 — 내결함성 및로드 균형 조정을위한 라운드 로빈 정책을 설정합니다. 전송은 사용 가능한 첫 번째 인터페이스부터 시작하여 각 본드 슬레이브 인터페이스에서 순차적으로 수신 및 전송됩니다. 2회선 모두 사용하는 방식으로 물리적 부하를 분산할 수 있습니다.
  • active-backup or 1 — 내결함성에 대한 활성 백업 정책을 설정합니다. 전송은 사용 가능한 첫 번째 본드 슬레이브 인터페이스를 통해 수신 및 전송됩니다. 다른 본드 슬레이브 인터페이스는 활성 본드 슬레이브 인터페이스가 실패한 경우에만 사용됩니다. 제일 안정성이 높고, 일반적으로 많이 사용되는 방식입니다.
  • balance-xor or 2 — 내결함성 및로드 균형 조정에 대한 XOR (독점 또는 정책) 정책을 설정합니다. 이 방법을 사용하여 인터페이스는 들어오는 요청의 MAC 주소를 슬레이브 NIC 중 하나의 MAC 주소와 일치시킵니다. 이 링크가 설정되면 사용 가능한 첫 번째 인터페이스부터 순차적으로 전송이 전송됩니다.
  • broadcast or 3 — 내결함성에 대한 브로드 캐스트 정책을 설정합니다. 모든 전송은 모든 슬레이브 인터페이스로 전송됩니다.
  • 802.3ad or 4 — IEEE 802.3ad 동적 링크 집계 정책을 설정합니다. 동일한 속도 및 이중 설정을 공유하는 집계 그룹을 만듭니다. 활성 어 그리 게이터의 모든 슬레이브에서 송수신합니다. 802.3ad 호환 스위치가 필요합니다.
  • balance-tlb or 5 — 내결함성 및 부하 분산에 대한 TLB (Transmit Load Balancing) 정책을 설정합니다. 발신 트래픽은 각 슬레이브 인터페이스의 현재로드에 따라 분산됩니다. 들어오는 트래픽은 현재 슬레이브에 의해 수신됩니다. 수신 슬레이브에 장애가 발생하면 다른 슬레이브가 장애가 발생한 슬레이브의 MAC 주소를 인계받습니다.
  • balance-alb or 6 — 내결함성 및로드 균형 조정에 대한 활성로드 균형 조정 (ALB) 정책을 설정합니다. IPV4 트래픽에 대한 전송 및 수신로드 밸런싱을 포함합니다. 수신로드 밸런싱은 ARP 협상을 통해 달성됩니다.

보다 제세한 사항은 아래 공식 문서를 참고하는것이 좋습니다.

Reference

https://access.redhat.com/articles/172483

Facebook Comments

Leave A Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.