Ⅰ. 리눅스 운영체제에서의 본딩(Linux Bonding)이란?
여러 개의 네트워크 인터페이스(예: eth0, eth1)를 하나의 가상 네트워크 인터페이스로 묶어 트래픽을 처리하는 기술입니다. 본딩을 사용하면 네트워크 성능을 향상시키거나, 네트워크 연결이 끊겼을 때 자동으로 다른 인터페이스로 전환되는 고가용성(High Availability)을 제공할 수 있습니다.
Ⅱ. 본딩의 주요 기능
여러 개의 네트워크 카드(NIC)를 하나의 가상 인터페이스로 결합하여 트래픽을 분산하거나, 하나의 네트워크 카드가 실패하면 다른 카드로 자동 전환되도록 설정할 수 있는 기능을 제공합니다.
ⅰ. 부하 분산(Load Balancing)
ⅱ. 장애 조치(Failover)
Ⅲ. 리눅스 운영체제에서의 본딩(Linux Bonding) 의 특징
ⅰ. 고가용성(High Availability): 본딩된 여러 인터페이스 중 하나가 다운되면, 자동으로 다른 인터페이스가 활성화되어 네트워크 연결을 유지합니다.
ⅱ. 부하 분산(Load Balancing): 트래픽을 여러 인터페이스에 분산하여 네트워크 성능을 향상시킬 수 있습니다.
ⅲ. 유연한 본딩 모드: 리눅스에서는 다양한 본딩 모드를 제공하여 사용자가 상황에 맞는 방식으로 네트워크 인터페이스를 구성할 수 있습니다.
ⅳ. 네트워크 성능 향상: 여러 인터페이스를 통해 더 많은 트래픽을 처리함으로써 네트워크 성능이 개선됩니다.
Ⅳ. 리눅스 운영체제에서의 본딩(Linux Bonding) 모드
본딩(Linux Bonding) 모드 | 설명 |
Mode 0 (Round-Robin) | 순차적으로 패킷을 전송하는 방식입니다. 부하 분산과 고가용성을 제공하지만, 스위치에서 추가적인 설정이 필요할 수 있습니다. |
Mode 1 (Active-Backup) | 한 인터페이스가 활성화 상태로 동작하고, 나머지는 대기 상태로 유지됩니다. 기본적으로 고가용성을 목표로 하며, 하나의 NIC가 다운되면 다른 NIC가 자동으로 활성화됩니다. 별도의 스위치 구성 필요 없이 사용할 수 있습니다. |
Mode 2 (Balance-XOR) | XOR 연산을 사용해 특정 기준(예: MAC 주소)에 따라 패킷을 분배합니다. 부하 분산과 고가용성을 제공하며, 스위치에서 802.3ad를 지원해야 합니다. |
Mode 3 (Broadcast) | 모든 인터페이스에 동일한 패킷을 전송합니다. 고가용성이 필요한 환경에서 사용됩니다. |
Mode 4 (802.3ad / LACP) | LACP(Link Aggregation Control Protocol)를 사용해 다중 인터페이스를 묶습니다. 동적으로 링크를 결합하고 부하 분산을 제공합니다. 스위치에서 LACP를 지원해야 합니다. |
Mode 5 (Balance-TLB) | 송신 트래픽만 부하 분산하고 수신 트래픽은 하나의 NIC로 처리합니다. 스위치 설정이 필요 없습니다. |
Mode 6 (Balance-ALB) | 송신 및 수신 트래픽 모두 부하 분산합니다. 스위치 설정이 필요 없습니다. |
Ⅴ. 리눅스 운영체제에서의 본딩(Linux Bonding) 설정 방법
리눅스에서 본딩을 설정하려면, 네트워크 설정 파일을 수정하거나 직접 명령어를 사용하여 설정할 수 있습니다. 다음은 대표적인 설정 예시입니다.
ⅰ. 본딩 모듈 로드
먼저 본딩 모듈을 로드합니다. modprobe 명령어를 사용하여 본딩 커널 모듈을 활성화할 수 있습니다.
[root@feccle ~ ] # modprobe bonding |
ⅱ. 본딩 인터페이스 설정
네트워크 설정 파일을 수정하여 본딩 인터페이스를 설정할 수 있습니다. 대부분의 리눅스 배포판에서 /etc/network/interfaces 또는 /etc/sysconfig/network-scripts/ifcfg-* 파일을 사용합니다.
RHEL/CentOS 기반 시스템의 /etc/sysconfig/network-scripts/ifcfg-bond0 파일 설정
DEVICE=bond0 NAME=bond0 BONDING_MASTER=yes TYPE=Bond IPADDR=192.168.1.100 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 BONDING_OPTS="mode=4 miimon=100 lacp_rate=1" ONBOOT=yes |
그리고 eth0 및 eth1 인터페이스에 대한 설정 파일도 다음과 같이 수정해야 합니다.
DEVICE=eth0 NAME=eth0 MASTER=bond0 SLAVE=yes ONBOOT=yes |
DEVICE=eth1 NAME=eth1 MASTER=bond0 SLAVE=yes ONBOOT=yes |
ⅲ. 네트워크 서비스 재시작
설정을 적용한 후 네트워크 서비스를 재시작합니다.
[root@feccle ~] # systemctl restart network |
Ⅵ. 리눅스 운영체제에서의 본딩(Linux Bonding) 상태 확인
ⅰ. 리눅스 운영체제에서의 본딩(Linux Bonding) 상태 확인
[root@feccle ~] # cat /proc/net/bonding/bond0 |
이 명령어를 통해 본딩된 인터페이스의 상태와 사용 중인 모드, 각 NIC의 상태 등을 확인할 수 있습니다.
ⅱ. 네트워크 인터페이스 상태 확인
[root@feccle ~] # ip addr |
이 명령어는 본딩된 인터페이스와 각 개별 인터페이스가 제대로 설정되었는지 확인 할 수 있습니다.
'시스템(Linux)' 카테고리의 다른 글
CUPS 명령어에 대해 알아보겠습니다. (0) | 2024.09.20 |
---|---|
Kali Linux에 대해 알아보겠습니다. (3) | 2024.09.17 |
vi 편집기에 대해 알아보겠습니다. (0) | 2024.09.15 |
X 윈도우 시스템(X Window System)에 대해 알아보겠습니다. (1) | 2024.09.14 |
RPM(Red Hat Package Manager)에 대해 알아보겠습니다. (0) | 2024.09.13 |