인프라에서 시스템을 구축할 때 가용성을 높이며 장애 대책을 위한 이중화는 필수적이다.
윈도우 OS에서는 티밍이라는 기능을 통하여 네트워크 포트 이중화를 구현하고, 리눅스에선 본딩이라는 시스템으로 이중화 구성을한다.
본딩 작업 순서
systemctl stop NetworkManager -네트워크 매니저를 먼저 내려준다.
systemctl disable NetwrokManager --네트워크 매니저 서비스와 본딩 서비스의 충돌로 인하여 서비스를 내려주고 본딩작업을 시작합니다.
systemctl status network
systemctl restart network
ifconfig
cd /etc/sysconfig/network-scripts/ --해당 경로에서 본딩 vi 파일 세팅
ls -- 본딩할 포트를 확인 (이중화를 하기 위하여 1번포트와 3번포트를 할당)
vi ifcfg-em1 -- vi ifcfg 세팅할 이더넷 이름 선택
BOOTPROTO=none
NAME=em1
DEVICE=em1
ONBOOT=yes
MASTER=bond0
SLAVE=yes
vi ifcfg-em3 --vi ifcfg 세팅할 이더넷 이름 선택
BOOTPROTO=none
NAME=em3
DEVICE=em3
ONBOOT=yes
MASTER=bond0
SLAVE=yes
[root@localhost network-scripts]# vi ifcfg-bond0 --본딩 모듈파일 작성
DEVICE=bond0
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=static
USERCTL=no
NM_CONTROLLED=no
IPADDR=10.100.62.25
NETMASK=255.255.255.0
GATEWAY=10.100.62.254
BONDING_MASTER=yes
BONDING_OPTS="mode=1 miimon=100" --본딩 옵션값 1은 Active Standby임
저장 후 나가기
modprobe --first-time bonding --os에 본딩 모듈 올려주기
systemctl restart network
systemctl status network
ifconfig --설정 확인
cat /proc/net/bonding/bond0 (엑티브 스탠바이 확인)
수정 작업이 필요한 경우
modprobe -r bonding --기존에 올려져 있던 본딩 모듈을 내려줍니다.
cd /etc/sysconfig/network-scripts/ -경로에서 bond0 파일 제거 후 재작성 해줍니다.
재작성 후 modprobe bonding
본딩 포트의 변경이 필요한 경우 기존 포트의이더넷 설정 파일의 원복이 필요합니다.
기타 본딩 옵션들
mode=0 -load balancing (round-robbin) 순환 순서 방식
-전송만 부하분산 (로드밸런싱)
-본딩에서 설정이 제대로 입력되지 않았거나 넣지 않았다면, 디폴트로 이 옵션 값으로 본딩 구성됨
mode=1 -active-standby 실무에서 가장 많이 사용되는 구성
-하나의 nic만 활성화 인터페이스로 보냄
-송수신 둘다 부하 분산이 없음
mode=2 -load balancing (xor)
-송신패킷만 로드밸런싱함
mode=3 -broadcast
-모든 슬레이브에 동일한 패킷을 보냅니다.
-일반 용도로는 사용하지 않음
mode=4 -IEEE 802.3ad Dynamic link aggregation
-LACP를 기준한 링크, 여러개의 물리적 회선을 가상으로 묵어 하나의 회선처럼
-ex 1Gbps 회선 5개를 묶어 5Gbps로의 가상 통신 대역 구축 가능
mode=5 -transmit load balancing
-각 슬레이브의 붛에 따라 전송 슬레이브 분산,
-송신 패킷만 부하분산
mode=6 -adaptive load balancing
-balance-tib의 기능뿐만 아니라 송수신도 부하분산