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

공정위 광고 문구 Ver 3.1
공정위 광고 문구 Ver 3.2(모바일 전용)

리눅스는 여러 물리적 ‘네트워크 인터페이스 카드(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

  • 리눅스 디바이스 드라이버 | 장치 파일(Device File) | /dev 디렉토리

    리눅스는 모든 것을 파일로 관리합니다. 리눅스에는 장치 파일(Device File)은 여러 프로그램에서 시스템에 설치된 하드웨어에 접근할 수 있게 하는 파일입니다. 디바이스를 구동하기 위해 리눅스 디바이스 드라이버가 필수 요구 사항입니다. 리눅스 시스템이 마우스 장치 파일을 참조해서 마우스의 조작을 하게 하거나 프린트의 출력 등을 담당하는 것을 생각할 수 있으며, 주로 스토리지를 마운트 하는데 많이 사용된다고 할…

  • echo 명령어: From 확장과 인용

    echo 명령어는 문자열을 그대로 출력해 주는 명령어이다. echo 명령어는 프롬프트에서 사용하는 일은 거의 없으며, 쉘 스크립트 작성 시에 자주 사용하는 명령어이다. 표준 출력 상에 해당 텍스트 인자를 표시한다. 1. echo 명령어 옵션 2. echo $ $뒤에 오는 문자열이 변수로 선언되어 있는 경우 해당 변수의 값을 출력해 준다.

  • 아파치 재시작 오류 | (20014)Internal error: Error retrieving pid file logs/httpd.pid

    아파치 재시작을 진행했으나 위 두 가지 오류가 확인될 수 있습니다. apachectl restart 등의 명령어를 입력했지만 위와 같은 오류가 발생한 이유는 아파치가 정상적으로 종료되지 않았기 때문에 발생하는 오류입니다. ✅ Error retrieving pid file logs/httpd.pid 해결하기 로그 폴더에서 httpd.pid를 확인했을 때 폴더가 비어 있음을 확인할 수 있습니다. 1. 원본 파일 백업 후 루트 계정의 pid…

  • iptables 개념과 설치 | iptables 명령어

    iptables는 netfilter.org에서  C언어로 만들어진 패킷 필터링이며 무료 방화벽 서비스입니다. 리눅스 방화벽의 기본 정책은 필요한 것을 제외한 모든 패킷에 대해 거부하는 것이 방화벽의 기본 정책입니다. 기본 설치 명령어는 다음과 같습니다. 기본 룰 설정 옵션은 다음과 같습니다. Ⅰ. iptables 용어와 기본 iptables에서는 체인[Chain]이라고 불리는 규칙[Rule]으로 패킷 필터링[Packet Filtering]을 하며, 패킷[Packet]에 대해 허용할 것인지 거부할 것인지를…

  • SSMS(SQL Server Management Studio)란

    SSMS는Microsoft SQL Server 내의 모든 구성 요소의 구성과 관리하는데 사용되는 Microsoft에서 개발한 소프트웨어 응용 프로그램입니다. SQL Server 2005에서 처음 출시되었으며, SQL 2000 이전 버전의 Enterprise Manager 의 후속 제품입니다. SSMS 개요 주요 핵심 기능은 사용자가 서버 내의 모든 개체를 찾아 보고 선택하여 작업할 수 있는 개체 탐색기입니다. 구성 요소 구성 요소 설명 개체 탐색기 개체…

  • Apache&Nginx에 Varnish Cache 설치 및 설정

    기존 Apache와 Nginx 조합의 서버에 Varnish Cache를 추가로 설치하고 적용 해 보도록 하겠습니다. Nginx에 Varnish Cache를 추가로 설정하는 작업이기 때문에 기존의 서버에 적용된 사항을 체크 해 보겠습니다. AlmaLinux release 9.4 버전에 Apache/2.4.57, nginx/1.28.0 , PHP 8.3.22를 사용하기 때문에, 설치는 varnish, collectd-varnish, varnish-modules 총 3개의 모듈 설치를 진행합니다. ✅ Varnish Cache 설치 php83-php-pecl-varnish의 경우는…

답글 남기기

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

Prove your humanity: 3   +   8   =