[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

  • 리눅스 프롬프트(Prompt)란?

    리눅스 셸에서 프롬프트는 CLI(커멘드 라인 인터페이스)의 명령줄 대기 모드를 뜻 합니다. 커맨드 프롬프트(command prompt) 또는 셸 프롬프트(shell prompt)로 불립니다. Command Prompt는 명령을 입력/발행할 수 있는 터미널 에뮬레이터(CLI)의 입력 필드입니다. 참조: 내 Linux 명령 Prompt는 무엇을 알려줍니까? 목차✅ 네트워크 스위치 이중화 구성✅ 본딩 모드✅ CentOS 7 네트워크 본딩 설정: nmtui🔲 VirtualBox 본딩 환경 만들기🔲…

  • 리눅스와 유닉스 차이점 9가지

    리눅스를 사용하는 사람이라면 리눅스와 유닉스 차이는 무엇인지 궁금점이 한번 씩 생기게 됩니다. 간단하게 차이점을 요약하자면, 리눅스는 유닉스의 오픈 소스 구현체로, 유닉스와 유사한 운영 체제를 제공하면서도 커뮤니티 기반의 개방적인 환경을 가지고 있습니다. 둘 다 안정적이고 다목적으로 사용되는 운영 체제이지만, 유닉스는 상용 운영 체제의 역사적인 뿌리를 가지고 있고, 리눅스는 개방성과 다양성 측면에서 강점을 가지고 있습니다….

  • Apache http2 적용하기(mod_http2)

    리눅스 서버에 Apache를 설치하게 되면, 기본 프로토콜은 HTTP/1.1을 기본으로 통신하게 되어 있다. Apache http2는 Apache 2.4.17 버전 부터 DSO 모듈로(mod_http2.so) HTTP/2를 지원한다. HTTP/2(Hypertext Transfer Protocol Version 2)는 월드 와이드 웹에서 쓰이는 HTTP 프로토콜의 두 번째 버전이다. 목차✅ 네트워크 스위치 이중화 구성✅ 본딩 모드✅ CentOS 7 네트워크 본딩 설정: nmtui🔲 VirtualBox 본딩 환경 만들기🔲…

  • Linux snapd | Rocky Linux에서 snapd 설치

    스냅크래프트(Snapcraft) 또는 스냅(Snap)은 캐노니컬(Canonical)이 시작한 Ubuntu 스마트폰 운영 체제를 위한 소프트웨어 배포 및 패키지 도구로서 개발되었으며, 패키지 관리 시스템이다. 스냅(snap)이라고 불리는 패키지와 snapd를 사용하는 도구는 업스트림 소프트웨어 패키징을 간편화하여 다양한 리눅스 배포판에서 사용할 수 있도록 도와준다. Linux snapd은 앱 패키지로 데스크톱, 클라우드, IoT에서 사용 가능하며, 설치가 용이하고 안전하며 다양한 플랫폼에서 사용할 수 있으며…

  • SQL: 테이블 구조, 쿼리(Query), 저장 프로시저(3가지 분류)

    목차✅ 네트워크 스위치 이중화 구성✅ 본딩 모드✅ CentOS 7 네트워크 본딩 설정: nmtui🔲 VirtualBox 본딩 환경 만들기🔲 본딩 구성 원칙🔲 본딩✅ 본딩 확인✅ SQL이란? SQL(Structured Query Language)은 구조화된 질의 언어의 뜻을 가지고 있습니다. 구조적 쿼리 언어(SQL)는 관계형 데이터베이스에 정보를 저장하고 처리하기 위한 프로그래밍 언어입니다. 관계형 데이터베이스는 정보를 표 형식으로 저장하며, 행과 열은 다양한…

  • 리눅스 grep 명령어

    리눅스 grep 명령어는 로그 파일과 같은 텍스트 파일과 아스키 파일에서 원하는 문자열을 찾을 때 사용되며, tail과 find 명령어를 파이프(|)와 결합해서 자주 사용하게 되는 명령어입니다. 목차✅ 네트워크 스위치 이중화 구성✅ 본딩 모드✅ CentOS 7 네트워크 본딩 설정: nmtui🔲 VirtualBox 본딩 환경 만들기🔲 본딩 구성 원칙🔲 본딩✅ 본딩 확인✅ grep 명령어 기본 사용법 ✅ 기본적인…

답글 남기기

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

Prove your humanity: 2   +   3   =