본문 바로가기
Linux

CentOS - Network Bonding 이해 및 설정 방법

by 올엠 2024. 2. 21.
반응형

이 문서에서는 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

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

 ifcfg-eth1

DEVICE=eth1

NAME=eth1

TYPE=Ethernet

BOOTPROTO=none

ONBOOT=yes

MASTER=bond0

SLAVE=yes

동일한 작업을 ifcfg-eth2에도 진행한다.

cat ifcfg-eth2

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

반응형