[Linux] 네트워크 본딩 [CentOS 7]

리눅스는 여러 물리적 ‘네트워크 인터페이스 카드(NIC)’를 묶어 하나의 본딩 된 채널로 만들 수 있습니다. 하나의 논리적 인터페이스처럼 사용할 수 있는 것을 네트워크 본딩이라고 합니다.

예를 들어 1기가(Gbps) 속도의 네트워크 포트 4개를 묶으면, 합쳐서 4기가 속도처럼 쓸 수 있어 더 빠릅니다.

또한, 하나의 포트나 케이블, 스위치에 문제가 생겨도 나머지가 대신해서 네트워크가 끊기지 않도록 안전하게 만들어 줍니다. 대역폭 확장보다는 장애 대비 목적으로 많이 사용됩니다.

네트워크 본딩은 여러 네트워크 장비와 운영체제에서 다양한 이름으로 불립니다.

  • 이더넷 본딩 (Ethernet Bonding)
  • 포트 트렁킹 (Port Trunking)
  • 채널 티밍 (Channel Teaming)
  • NIC 티밍 (NIC Teaming)
  • 링크 통합 (Link Aggregation)

✅ 네트워크 스위치 이중화 구성

단순하게 구성 예스로 만든 네트워크 스위치 이중화 구성입니다.

네트워크 스위치 이중화 (기본) - 네트워크 본딩 구성

네트워크 스위치, 회선, 포트 등에서 장애가 발생할 경우를 대비해 서버에서 본딩을 통해 이중화를 구성합니다.

CentOS에서는 본딩 설정 시 Active Backup (mode: 1) 방식을 많이 사용합니다. 예를 들어, Active Switch와 연결된 인터페이스가 eth0 Standby Switch와 연결된 인터페이스가 eth1일 때 eth0을 Primary로 지정해야 정상적으로 통신이 유지됩니다.

✅ 본딩 모드

본딩 모드는 본딩으로 묶일 예정인 여러 slave 장치들을 효율적으로 묶기 위한 여러가지 장치를 어떻게 묶고 동작 시킬지 결정하는 방식입니다.

보통 Round-robin 모드와 Active Backup 모드를 사용해서 네트워크 스위치가 802.3ad를 제공하고 스위치를 컨트롤이 가능한 경우 802.3ad를 사용합니다.

본딩의 여러 모드는 목적(속도 향상, 이중화 등)에 따라 다르게 작동합니다.

mode

이름(방법)

설명

0

Round-robin

· 기본값
· 순차적으로 트래픽 분산 (속도↑, 이중화)

1

Active-backup

· 자주 사용됨
· 하나는 사용, 하나는 대기 (이중화 전용)

2

XOR

· 해시 방식
· 특정 규칙에 따라 분산

3

Broadcast

모든 NIC에 동일 데이터 전송

4

802.3ad (LACP)

· 스위치 802.3ad 요구
· 스위치와 협력해 트래픽 분산 (속도↑, 이중화)

5

Adaptive transmit load balancing

송신 부하 분산

6

Adaptive load balancing

송수신 부하 분산

802.3ad“는 IEEE(국제전기전자학회)에서 정한 이더넷 링크 집계(Link Aggregation) 표준입니다. 숫자 802.3은 이더넷 표준을 정의하는 IEEE 작업 그룹 번호, 그 뒤의 ad는 부가적인 기능(Amendment)을 뜻합니다.

  • 802.3: 유선 이더넷 표준 전체를 의미
  • ad: 링크 집계(Link Aggregation)를 다룬 확장 규약
802.3ad = LACP (Link Aggregation Control Protocol) 와 동일한 의미로 사용되며, 여러 개의 네트워크 인터페이스를 하나의 논리적 인터페이스로 묶어서 트래픽을 자동으로 분산·이중화해주는 표준입니다.

✅ CentOS 7 네트워크 본딩 설정: nmtui

nmtui 방식으로 네트워크 본딩 설정을 진행해 보겠습니다. (mode: 1)

CentOS
    └── 네트워크 본딩 (bonding 1)
        ├── enp0s3(어댑터 1)   스위치 A
        └── enp0s8(어댑터 2)   스위치 B

🔲 VirtualBox 본딩 환경 만들기

VirtualBox 네트워크 본딩 테스트 위한 어댑터2 추가

🔲 본딩 구성 원칙

nmcli d 명령으로 현재 네트워크 인터페이스를 확인 후 nmtui를 실행합니다.

기존 이더넷 인터페이스에 IP 설정이 남아 있으면 본딩 설정과 충돌하거나 중복 IP 문제가 생길 수 있습니다.

따라서 본딩 구성 전에는 기존 개별 이더넷 인터페이스의 IP 설정을 삭제 후 본딩 인터페이스에만 IP를 할당하는 것이 안전합니다.

항목설정 방식설명
bond1수동 IP (Static) 또는 DHCPIP는 이 논리 인터페이스에만 설정
enp0s3, enp0s8“IPv4 없음”, “IPv6 없음”슬레이브이므로 IP를 직접 설정하지 않음
슬레이브 설정본딩에 종속(slave)으로 지정연결만 되게 해두고, IP는 받지 않음

🔲 본딩

[root@localhost ~]# nmcli d
DEVICE  TYPE      STATE          CONNECTION  
enp0s3  ethernet  연결됨         enp0s3      
enp0s8  ethernet  연결됨         유선 연결 1 
lo      loopback  관리되지 않음  --          
[root@localhost ~]# nmtui
nmtui 네트워크 본딩 설정 1

기존 유선 연결을 enp0s8로 변경했습니다.

nmtui 네트워크 본딩 설정 2
nmtui 네트워크 본딩 설정 3
nmtui 네트워크 본딩 설정 4_

프로파일 이름과 장치 이름을 설정합니다.

nmtui 네트워크 본딩 설정 5
nmtui 네트워크 본딩 설정 7
nmtui 네트워크 본딩 설정 6
nmtui 네트워크 본딩 설정 8
nmtui 네트워크 본딩 설정 9_모드 선택
nmtui 네트워크 본딩 설정 10_활성백업(Active-backup)_본딩1
nmtui 네트워크 본딩 설정 11_Primary 인터페이스 설정

수동 네트워크를 설정합니다.

nmtui 네트워크 본딩 설정 11_2_수동 네트워크 설정

저장이 안되어 확인 해 보느 [프로파일 이름]과 [장치]의 입력 값이 동일하면 [OK]가 활성화 되지 않습니다.

nmtui 네트워크 본딩 설정 12_저장
nmtui 네트워크 본딩 설정 13_완료

✅ 본딩 확인

systemctl restart network
nmcli d
CentOS 7_네트워크 본딩 확인

Similar Posts

  • mariadb-check 명령어: 테이블 자동 복구

    mariadb-check 명령어는 여러 테이블을 검사, 복구, 분석 및 최적화 할 수 있는 유지 관리 도구입니다. mariadb-check은 myisamchk 및 aria_chk과 다르게 서버에서 MariaDB가 실행 중이어야 합니다. mariadb-check 명령어 mysqlcheck 명령어와 동일한 명령어입니다. 10.5 이전 버전에서는 클라이언트에서 호출했으며, 기본 사용 방법은 다음과 같습니다. 목차✅ 네트워크 스위치 이중화 구성✅ 본딩 모드✅ CentOS 7 네트워크 본딩 설정:…

  • 리눅스 which whereis locate: 3가지 위치(경로) 확인 명령어

    리눅스 which와 whereis 명령어 명령어의 위치를 알 수 있는 명령어는 find 명령어를 이용해서 파일을 찾을 수 있지만 find 명령어는 시간이 소요되는 단점도 존재합니다. locate 명령어는 파일명을 빠르게 검색할 때 사용할 수 있습니다. 리눅스 기본 명령어 3가지에 대해 알아 보겠습니다. 목차✅ 네트워크 스위치 이중화 구성✅ 본딩 모드✅ CentOS 7 네트워크 본딩 설정: nmtui🔲 VirtualBox…

  • 관계형 데이터베이스(RDB) 정의와 구조

    관계형 데이터베이스(Relational Database RDB)란 테이블에 저장된 데이터들이 행(row)과 열(컬럼:Columm)의 형태로 구성되어 있으며, 서로 다른 데이터 구조가 사전에 정의된 관계를 통해 연결되어 있는 데이터 모음입니다. 엑셀의 스프레드 시트와 비슷한 구조를 가지고 있는 것이 주요 특징입니다. 목차✅ 네트워크 스위치 이중화 구성✅ 본딩 모드✅ CentOS 7 네트워크 본딩 설정: nmtui🔲 VirtualBox 본딩 환경 만들기🔲 본딩 구성…

  • JVM(Java Virtual Machine)

    JVM(Java Virtual Machine)이란 자바 프로그램이 실행되는 가상 머신입니다. 자바 언어는 특정한 OS(리눅스 및 윈도우 등)에 종속되지 않고 여러 플랫폼에서 실행될 수 있도록 고안되었는데 이것을 가능하게 해주는 핵심적인 요소가 JVM입니다. Java Virtual Machine은 자바 애플리케이션을 실행하기 위한 환경을 제공하며, 자바 소스 코드를 컴파일하여 바이트 코드로 변환하고 이를 실행합니다. 이렇게 변환된 바이트 코드는 JVM에서 실행되며,…

  • |

    MariaDB: Slow Query Log 설정

    MariaDB에서 Slow Query Log 설정을 할 경우 Mariadb 10.2 버전부터 etc/my.cnf.d/ 폴더안에 mysql-clients.cnf 및 server.cnf 파일로 나뉘게 되었습니다. mysql 이라도 폴더를 확인한 후에 설정 내역에 따라 확인하면 되겠습니다. 먼저 etc/my.cnf.d/server.cnf 파일에 적용하는 방법에 대해 알아 보겠습니다. ※ Slow Query Slow Query는 수행하는 데 오랜 시간이 걸리는 쿼리입니다. 응답 시간이 길어질 경우 서비스의 품질이…

  • HTTP 상태 코드 표 [100~500] 정리

    HTTP 상태 코드는 운영 중인 서버의 오류를 확인하는 데 매우 중요한 지표로 활용됩니다. HTTP(Hypertext Transfer Protocol)란 웹 서버와 웹 클라이언트 사이에 데이터를 주고 받기 위해 사용되는 프로토콜 중 하나이며, TCP/IP 프로토콜 위에서 동작합니다. HTTP는 HTML, XML과 같은 하이퍼텍스트(Hypertext)만 전송하는 것이 아닌 이미지, 동영상, JavaScript 등의 다양한 파일을 데이터로 전송할 수 있습니다. 목차✅ 네트워크…

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Prove your humanity: 1   +   6   =