Centos 8 Bonding 설정 - 6,7 방식 응용 방법
0. 들어가기에 앞서
본 방식은 Centos 6, 7, 8 모두에 응용 가능한 방법으로 6, 7 버전에서는 network 재시작만으로 적용되나
8 버전에서는 OS 재기동을 필요로 합니다. Centos 8에서 적용되는 방법은 다음에 포스팅 예정입니다.
1. Bonding
두 개 이상의 네트워크 경로를 이용하여 하나인 것과 같이 네트워킹하는 방식으로, 통신대역을 확장 하는 기능도 가능하나 실무에서는 NIC, 케이블 또는 Port로 인한 장애에 대비하기 위한 경로 이중화로 사용합니다. OS나 장치에 따라 트렁킹, 티밍 등으로 불리기도 하나 여기서는 리눅스 기반으로 진행하므로 Bonding이라고 하겠습니다.
2. 개념
3. 실습 환경
본 설정 방법은 centos 6과 centos7 모두 동일합니다. 또한 이번 환경은 VM 기반으로 진행하므로 테스트를 목적으로 할 경우는 이번 설정을 따라하시면 되며, 바로 서버에서 구현하는 분은 5번으로 바로 진행 하시면 됩니다. 아래와 같이 가상머신에서 두 개의 Network Adapter를 구현하여 각각을 NAT로 설정해 줍니다. 다른 스펙은 진행할 환경에 맞게 유동적으로 설정 하시면 됩니다.
테스트 환경에서 주의 할 점은 아래와 같이 구성 후에 OS를 설치 해 주셔야 안정적인 테스트가 가능하니 꼭 유의해 주세요. OS 설치 과정은 생략하겠습니다. IP는 2번의 좌측과 같이 각 NIC에 IP를 부여하는 형태로 일단 구성해 주겠습니다.
4. IP 및 통신 확인
먼저 각각의 테스트 할 외부환경에서 각 NIC IP로 ping 테스트를 진행합니다(저는 데스크탑에서 진행). 당연히 원활하게 통신이 되는것을 확인 할 수 있습니다.
5. Bonding 설정
/etc/sysconfig/network-scripts/ 경로로 이동하여 NIC 설정 파일을 확인합니다. 기존 버전과 다르게 NIC 파일만 있는 것을 확인할 수 있습니다.
각 파일을 다음과 같이 편집하여 각 NIC를 bond0라는 NIC를 바라보는 Slave NIC로 설정합니다.
저는 개인적으로 사용하지 않고 불필요한 설정 및 정보는 최대한 정리하는 편입니다.
이제 vi ifcfg-bond0 를 입력하여 bond0 라는 NIC를 추가 해 줍니다.
BONDING_OPTS (본딩 옵션)의 항목이 궁금하신 분은 아래 더보기를 클릭해서 확인하세요.
BONDING_OPTS
[mode]
mode=0 (round-robin) : 순차적 부하 분산
mode=1 (active-backup) : 사용중인 인터페이스 장애 발생 시 다른 인터페이스 활성화
mode=2 (balance-xor) : 출발지 맥어드레스를 기반으로 부하 분산(XOR). NIC하나는 호스트 지정
mode=3 (broadcast) : 슬레이브 인터페이스에 모든 것을 전송. 장애 대응 가능
mode=4 (802.3ad) : IEEE 표준 규격중 하나인 802.3ad를 지원하는 스위치에서 그룹 설정. 모든 슬레이브 인터페이스로 전송
mode=5 (balance-tlb) : 나가는 트래픽은 각 슬레이브 인터페이스 로드에 따라 분산. 들어오는 트래픽은 현재 슬레이브가 수신
mode=6 (balance-alb) : ARP 변조 및 협상을 통해 동적 로드 밸런싱
(※ 주로 대부분 active-backup으로 구성하여 적절한 네트워크 부하에서의 장애 대응을 가능하도록 설정)
[miimon]
링크 모니터링 주기를 가리키며 ms 단위이므로 100으로 할 경우 0.1초 단위로 링크 모니터링 수행
마지막으로 vi /etc/modprove.d/bonding.conf 로 아래와 같이 설정해 줍니다.
그리고 서버를 재부팅 합니다.
만약 기존 버전을 사용중이라면 다음과 같이 네트워크 재시작만으로 가능합니다.
Centos 6 버전 : service network restart
Centos 7 버전 : systemctl restart network
6. 확인
중간에 한번의 핑이 빠지는 부분이 활성화된 NIC 연결을 제거했을 때입니다.
저는 테스트 환경이므로 VM 실행화면 하단에서 보이는 아래의 아이콘 중 네트워크 어댑터를 하나씩 disconnect하여 테스트 하였습니다. 실무환경에서는 직접 케이블 연결을 해제 해 보시는 것을 권장합니다.