SmartECM 화면으로 보는 리눅스 본드 설정 가이드
지난 글에서는 가상화 환경에서 왜 본딩이 필요한지 살펴보았습니다. 본딩은 여러 개의 물리 NIC를 하나의 논리 인터페이스로 묶어 네트워크 내결함성, 성능 향상, 또는 두 가지 목적을 함께 달성하기 위한 구성 방식입니다.
이번 글에서는 한 단계 더 들어가, SmartECM 화면에서 리눅스 본드를 생성할 때 어떤 항목을 확인해야 하는지를 실제 설정 항목 중심으로 살펴보겠습니다.
네트워크 설정은 작은 입력 실수만으로도 노드 접속 장애, VM 통신 장애, 클러스터 통신 장애로 이어질 수 있습니다. 따라서 단순히 값을 입력하는 것보다, 각 항목이 어떤 의미를 갖는지 이해한 뒤 구성하는 것이 중요합니다.
SmartECM 리눅스 본드 생성 화면 예시
리눅스 본드 생성 화면에서 먼저 봐야 할 항목
SmartECM의 리눅스 본드 생성 화면에서는 이름, 슬레이브, IP 주소, 게이트웨이, 모드, 해시 정책, 본드-프라이머리, 자동 시작, MTU 등을 설정할 수 있습니다.
이 항목들은 단순 입력값처럼 보이지만, 실제로는 네트워크 인터페이스의 동작 방식과 장애 전환 방식, 트래픽 분산 기준을 결정합니다.
| 항목 | 의미 | 입력 예시 / 참고 |
|---|---|---|
| 이름 | 생성할 본드 인터페이스 이름입니다. | bond0, bond1 |
| 슬레이브 | 본드에 포함할 물리 NIC 목록입니다. | 공백으로 구분 입력, 예: eno1 eno2 |
| IPv4/CIDR | 본드 인터페이스에 IPv4 주소를 직접 부여할 때 입력합니다. | 예: 192.168.10.2/24 |
| IPv6/CIDR | 본드 인터페이스에 IPv6 주소를 직접 부여할 때 입력합니다. | 예: 2001:0db8:abcd:0012::0/64 |
| 게이트웨이 | 해당 인터페이스의 게이트웨이 IP 주소입니다. | 필요한 경우 입력 |
| 모드 | 본딩 인터페이스의 동작 방식을 정의합니다. | active-backup, 802.3ad 등 |
| 해시 정책 | 패킷을 어떤 물리 인터페이스로 보낼지 결정하는 기준입니다. | layer2, layer3+4, layer2+3 등 |
| 본드-프라이머리 | active-backup 모드에서 기본으로 사용할 주 인터페이스를 지정합니다. | active-backup 모드에서 활성화 |
| 자동 시작 | 시스템 부팅 시 자동 시작 여부를 설정합니다. | 운영 정책에 따라 설정 |
| MTU | 최대 전송 단위입니다. | 입력 가능 범위: 1280 ~ 65520 |
이름과 슬레이브: 어떤 NIC를 묶을 것인가
본드 생성에서 가장 먼저 결정할 것은 본드 이름과 슬레이브입니다. 이름은 생성할 논리 인터페이스의 이름이며, 슬레이브는 실제로 본드에 포함할 물리 NIC입니다.
예시
eno1과 eno2를 하나의 본드로 묶는다면,
이름은 bond0, 슬레이브는 eno1 eno2처럼 공백으로 구분해 입력할 수 있습니다.
여기서 중요한 점은 본드에 포함할 NIC가 실제로 어떤 용도로 사용될 것인지 먼저 정해야 한다는 것입니다. VM 서비스망에 사용할 것인지, 스토리지망에 사용할 것인지, 클러스터 네트워크에 사용할 것인지에 따라 IP 설정 방식과 본딩 모드 선택이 달라질 수 있습니다.
IP 주소는 본드에 줄 수도 있고, 브리지에 줄 수도 있습니다
본드 설정에서 자주 헷갈리는 부분이 IP 주소입니다. 본드 인터페이스에 직접 IP를 설정하는 경우도 있고, 본드를 브리지 포트로 사용하고 브리지에 IP를 설정하는 경우도 있습니다.
본드에 IP를 직접 설정하는 경우
분산 또는 공유 스토리지 네트워크처럼 노드 간 통신에 직접 사용할 본드 인터페이스라면, 본드 자체에 고정 IP를 부여하는 구성을 사용할 수 있습니다.
본드를 브리지 포트로 사용하는 경우
VM 서비스망처럼 게스트 네트워크에 내결함성을 부여하려는 경우, 본드를 브리지 포트로 직접 사용할 수 있습니다.
어떤 방식이 맞는지는 해당 네트워크가 스토리지 통신용인지, VM 서비스 트래픽용인지에 따라 달라집니다. 예를 들어 스토리지 네트워크처럼 노드 간 통신이 직접 필요한 경우에는 본드에 IP를 부여할 수 있고, VM 서비스망에서는 본드를 브리지 포트로 연결해 VM 트래픽을 외부 네트워크로 전달할 수 있습니다.
모드 선택: Active-Backup과 802.3ad LACP
본딩 모드는 본드 인터페이스가 어떤 방식으로 동작할지를 결정합니다. 대표적으로 많이 검토되는 방식은 Active-Backup과 802.3ad LACP입니다.
실무에서는 목적에 따라 모드를 선택해야 합니다. 장애 대비가 목적이라면 Active-Backup을, 스위치에서 LACP를 지원하고 링크 집계를 활용하려면 802.3ad 구성을 검토할 수 있습니다.
Active-Backup
장애 대비 중심
본드에서 하나의 NIC 슬레이브만 활성화되고, 활성 슬레이브가 실패하는 경우에만 다른 슬레이브가 활성화되는 방식입니다. 이 모드는 내결함성을 제공합니다.
802.3ad LACP
링크 집계와 트래픽 분산
동일한 속도 및 Duplex 설정을 공유하는 애그리게이션 그룹을 생성합니다. 802.3ad 사양에 따라 활성 애그리게이터 그룹에 있는 모든 슬레이브 네트워크 인터페이스를 활용합니다.
설정 전 확인이 필요한 부분
사용 중인 스위치가 LACP, 즉 IEEE 802.3ad 프로토콜을 지원하는 경우 802.3ad 본딩 모드 사용을 검토할 수 있습니다. 그렇지 않은 경우에는 일반적으로 Active-Backup 모드를 사용하는 것이 적합합니다.
클러스터 네트워크에서는 Active-Backup을 사용해야 합니다
모든 네트워크에 동일한 본딩 모드를 적용할 수 있는 것은 아닙니다. 특히 클러스터 네트워크는 노드 간 상태 확인과 장애 판단에 직접 영향을 주기 때문에 안정성이 중요합니다.
본딩 인터페이스에서 클러스터 네트워크를 실행하려는 경우에는 액티브-패시브 모드를 사용해야 하며, 다른 모드는 지원되지 않습니다.
클러스터 네트워크 구성 시 주의
클러스터 통신 용도라면 트래픽 분산보다 안정적인 페일오버 구성이 우선입니다. 이 구간에서는 Active-Backup 방식 사용 여부를 먼저 검토해야 합니다.
해시 정책: 트래픽을 어떤 기준으로 분산할 것인가
해시 정책은 패킷을 어떤 물리 인터페이스로 보낼지 결정하는 기준입니다. SmartECM 리눅스 본드 생성 화면에서도 해시 정책을 선택할 수 있으며, 다음과 같은 정책을 검토할 수 있습니다.
| 해시 정책 | 기준 | 설명 |
|---|---|---|
layer2 |
MAC 주소 | MAC 주소를 기반으로 패킷을 보낼 인터페이스를 결정합니다. |
layer3+4 |
IP 주소 + TCP/UDP 포트 | IP 주소와 TCP/UDP 포트를 기반으로 인터페이스를 결정합니다. |
layer2+3 |
MAC 주소 + IP 주소 | MAC 주소와 IP 주소를 조합하여 사용합니다. |
encap2+3 |
터널링 프로토콜 고려 | 터널링 프로토콜을 고려한 해싱을 제공합니다. |
encap3+4 |
터널링 프로토콜 고려 | 터널링 프로토콜을 고려한 해싱을 제공합니다. |
802.3ad 예시 구성에서는 bond-xmit-hash-policy layer2+3를 사용할 수 있습니다.
다만 어떤 해시 정책을 선택할지는 실제 네트워크 구성, 트래픽 패턴, 스위치 설정과 함께 검토해야 합니다.
본드-프라이머리: Active-Backup에서 주 NIC를 지정하는 항목
본드-프라이머리는 모든 본딩 모드에서 사용하는 항목이 아닙니다.
본드-프라이머리는 모드가 active-backup인 경우에 활성화됩니다.
이 항목은 기본적으로 활성화될 주 인터페이스를 지정합니다.
예를 들어 eth0이 주 인터페이스로 설정되면,
eth0에 문제가 발생했을 때만 다른 인터페이스로 전환됩니다.
확인 포인트
본드-프라이머리는 Active-Backup 구성에서 기본 활성 인터페이스를 명확히 지정하고 싶을 때 확인해야 하는 항목입니다. LACP와 같은 다른 모드에서 사용하는 일반 옵션으로 이해하면 안 됩니다.
MTU 설정은 전체 경로를 함께 봐야 합니다
MTU는 최대 전송 단위를 의미합니다. SmartECM 노드 네트워크 기준으로 MTU는 최소 1280부터 최대 65520까지의 숫자만 입력할 수 있습니다.
MTU를 조정할 때는 본드 인터페이스만 보는 것이 아니라, 스위치와 연결 경로, 브리지, VM 네트워크 구성까지 함께 고려해야 합니다. 특정 구간만 다른 MTU를 사용하면 통신 문제가 발생할 수 있으므로, 운영 환경의 전체 네트워크 경로를 함께 확인해야 합니다.
구성 예시 1: 분산/공유 스토리지 네트워크에서 본드에 IP를 직접 설정
분산 또는 공유 스토리지 네트워크에서 고정 IP 주소로 본드를 사용할 수 있습니다. 이 경우 본드 인터페이스 자체에 IP 주소를 설정하고, 본드 모드와 해시 정책을 함께 지정합니다.
구성 예시
eno1과 eno2를 bond0의 슬레이브로 지정하고,
bond0에 192.168.10.2/24를 부여할 수 있습니다.
본드 모드는 802.3ad, 해시 정책은 layer2+3를 사용할 수 있습니다.
| 항목 | 예시값 | 의미 |
|---|---|---|
| 본드 인터페이스 | bond0 |
생성할 논리 본드 인터페이스 |
| 슬레이브 | eno1 eno2 |
본드에 포함할 물리 NIC |
| IP 주소 | 192.168.10.2/24 |
본드에 직접 부여한 고정 IP |
| 본드 모드 | 802.3ad |
LACP 기반 링크 애그리게이션 |
| 해시 정책 | layer2+3 |
MAC 주소와 IP 주소를 조합 |
설정 파일 기준으로 표현하면 다음과 같은 형태입니다.
auto bond0
iface bond0 inet static
bond-slaves eno1 eno2
address 192.168.10.2/24
bond-miimon 100
bond-mode 802.3ad
bond-xmit-hash-policy layer2+3
구성 예시 2: 본드를 브리지 포트로 사용
본드를 브리지 포트로 직접 사용하는 구성도 가능합니다. 이 방식은 게스트 네트워크에 내결함성을 부여하는 데 사용할 수 있습니다.
VM 네트워크 연결 구조
|
물리 NIC eno1, eno2 |
→ |
본드 bond0 |
→ |
브리지 vmbr0 |
→ | VM vNIC |
이 구성에서는 bond0를 vmbr0의 브리지 포트로 사용합니다.
VM은 브리지에 연결되고, 브리지는 본드 인터페이스를 통해 물리 네트워크와 통신하게 됩니다.
| 구성 요소 | 예시값 | 역할 |
|---|---|---|
| 물리 NIC | eno1 eno2 |
본드의 슬레이브 인터페이스 |
| 본드 | bond0 |
여러 NIC를 묶은 논리 인터페이스 |
| 브리지 | vmbr0 |
VM이 연결되는 가상 스위치 역할 |
| 브리지 포트 | bridge-ports bond0 |
본드를 브리지의 포트로 사용 |
설정 파일 기준으로 표현하면 다음과 같은 형태입니다.
auto bond0
iface bond0 inet manual
bond-slaves eno1 eno2
bond-miimon 100
bond-mode 802.3ad
bond-xmit-hash-policy layer2+3
auto vmbr0
iface vmbr0 inet static
address 10.10.10.2/24
gateway 10.10.10.1
bridge-ports bond0
bridge-stp off
bridge-fd 0
STP 설정: 루프 방지와 브리지 구성
브리지 구성에서는 STP 설정도 함께 확인해야 합니다. STP, 즉 Spanning Tree Protocol은 복수의 스위치로 구성된 네트워크에서 루프를 확인하고 적절히 포트를 사용하지 못하게 하여 루프를 예방하는 프로토콜입니다.
L2 계층에서는 패킷의 수명을 제한하는 메커니즘이 없기 때문에, 루프가 발생하면 네트워크 대역폭 전체를 차지할 수 있습니다. 따라서 브리지와 스위치 구성을 함께 설계할 때는 STP 설정도 네트워크 구조에 맞게 검토해야 합니다.
네트워크 변경 사항은 적용 전 확인해야 합니다
SmartECM의 네트워크 설정에서 중요한 부분은 변경 사항이 바로 실제 설정에 반영되지 않는다는 점입니다.
ECM은 네트워크 변경 사항을 /etc/network/interfaces에 직접 기록하지 않고
임시 파일인 /etc/network/interfaces.new에 먼저 기록합니다.
이 방식은 여러 네트워크 변경을 한 번에 수행하고, 적용 전에 변경 내용이 올바른지 확인할 수 있게 해줍니다. 네트워크 구성이 잘못되면 노드에 접근할 수 없게 될 수 있으므로, 적용 전 검토 단계는 운영 리스크를 줄이는 데 중요합니다.
보류 중인 변경 내용 확인
네트워크 변경 후 바로 적용하지 말고, 보류 중인 변경 내용을 먼저 확인합니다.
본드 용도 확인
해당 본드가 클러스터 네트워크용인지, 스토리지 네트워크용인지, VM 서비스망용인지 먼저 구분합니다.
스위치 설정 확인
802.3ad LACP 구성 시 SmartECM 설정뿐 아니라 연결된 스위치 포트의 LACP 설정도 함께 확인해야 합니다.
브리지 연결 확인
VM 서비스망 용도라면 본드가 어떤 브리지 포트로 연결되는지 확인해야 합니다.
ifupdown2를 사용하면 재부팅 없이 적용할 수 있습니다
네트워크 변경 사항을 적용하는 방식도 중요합니다.
권장되는 ifupdown2 패키지를 사용하면
재부팅하지 않고도 네트워크 구성 변경 사항을 적용할 수 있습니다.
Web UI에서 네트워크 구성을 변경한 뒤 적용 버튼을 클릭하면,
스테이징 중인 interfaces.new 파일 내용이 /etc/network/interfaces 파일로 이동되어
실시간으로 적용됩니다.
수동으로 /etc/network/interfaces 파일을 변경한 경우에는
ifreload -a 명령을 실행하여 적용할 수 있습니다.
다만 수동 변경은 실수 위험이 있으므로, 네트워크 구성은 Web UI를 통해 수행하는 것이 안전합니다.
설정 전 최종 체크리스트
리눅스 본드 설정은 화면에서 몇 가지 값을 입력하는 작업처럼 보이지만, 실제로는 서버 NIC, 스위치 포트, 브리지, VM 네트워크, 클러스터 통신까지 함께 연결되는 작업입니다. 적용 전에는 다음 항목을 반드시 확인하는 것이 좋습니다.
NIC 확인
본드에 포함할 물리 NIC 이름과 연결 상태를 확인합니다.
모드 확인
클러스터 네트워크는 Active-Backup을 사용해야 하며, LACP 환경에서는 802.3ad 구성을 검토할 수 있습니다.
스위치 확인
802.3ad 사용 시 스위치가 LACP를 지원하고, 포트 구성이 맞는지 확인합니다.
IP 위치 확인
본드에 IP를 직접 부여할지, 브리지에 IP를 부여할지 네트워크 용도에 따라 결정합니다.
브리지 확인
VM 트래픽용 구성이라면 본드가 연결될 브리지와 VM 네트워크 구성을 함께 확인합니다.
적용 전 확인
보류 중인 변경 내용을 확인하고, 적용 전 되돌리기 가능 여부와 접속 경로를 점검합니다.
SmartECM은 복잡한 네트워크 구성을 화면에서 관리할 수 있습니다
가상화 네트워크 설정은 CLI에 익숙한 엔지니어에게도 부담이 되는 작업입니다. 특히 운영 중인 노드의 네트워크를 변경할 때는 작은 실수가 곧 장애로 이어질 수 있습니다.
SmartECM은 리눅스 브리지, 리눅스 본드, 리눅스 VLAN, OVS 브리지, OVS 본드 등 다양한 네트워크 구성을 Web UI에서 확인하고 설정할 수 있도록 제공합니다. 또한 네트워크 변경 사항을 바로 적용하지 않고, 보류 중인 변경 내용으로 먼저 확인한 뒤 적용할 수 있는 구조를 제공합니다.
본딩은 단순한 NIC 묶음 기능이 아니라, VM 서비스망, 클러스터 네트워크, 스토리지망, 백업망의 안정성을 높이는 가상화 네트워크 설계의 핵심 요소입니다. SmartECM은 이러한 네트워크 구성을 보다 직관적으로 관리할 수 있도록 지원하여, 운영자가 복잡한 가상화 네트워크를 안정적으로 구성할 수 있도록 돕습니다.
- 이전글 VM 라이브 마이그레이션 전 확인해야 할 네트워크 조건 26.08.18
- 다음글 가상화 네트워크 본딩, 왜 필요할까? 26.08.04