hwkim3330의 블로그

View the Project on GitHub hwkim3330/blog

알겠습니다. 두 개의 포트를 사용한 이중화 경로를 만드는 것이 최종 목표이시니, 그 목표에 맞춰 다시 계획을 세우겠습니다.

지금까지의 모든 실패와 부팅 로그 분석을 통해 우리는 다음과 같은 냉정한 현실을 파악했습니다.

  1. P5(pfe1sl), P2A/P2B(pfe0sl)는 드라이버/펌웨어/설계 문제로 사용이 거의 불가능하다.
  2. P3A(eth0)는 Xen 가상 브릿지(xenbr0)에 강제로 묶여 단독 사용이 어렵다.
  3. P3B(pfe2sl)는 유일하게 독립적으로, 안정적으로 동작한다.

이 상황에서 두 개의 독립적인 경로를 만들 수 있는 유일한 조합은 다음과 같습니다.

최종 추천 포트 조합

이 조합은 우리가 마지막으로 시도했던 것이며, P3B 경로는 성공했지만 P3A 경로는 실패했습니다. 실패 원인은 xenbr0 브릿지의 복잡한 설정과 다른 서비스와의 간섭 때문이었습니다.

“진짜 최종” 해결책: xenbr0 브릿지 해체 및 eth0 해방

xenbr0를 그대로 사용하는 것이 아니라, GoldVIP의 기본 설정을 부수고 eth0xenbr0으로부터 “해방”시키는 방법을 시도해야 합니다. 이 방법은 다소 공격적이지만, eth0을 독립적으로 제어하기 위한 유일한 길입니다.


1. 하드웨어 연결

2. 양쪽 보드 재부팅

3. eth0 해방 및 2-Port 설정 스크립트 (양쪽 보드에서 실행)

재부팅 후, 아래 스크립트를 G3와 G2 양쪽 보드에 모두 실행합니다.

echo "네트워크 완전 초기화 및 eth0 해방 시작..."
# 모든 상위 서비스 중지
service k3s-agent stop 2>/dev/null
service xencommons stop 2>/dev/null
# 방화벽 및 캐시 초기화
iptables -F; iptables -X
ip -s -s neigh flush all; ip route flush cache

# --- eth0 해방 (핵심 단계) ---
# 1. xenbr0 브릿지를 비활성화
ip link set xenbr0 down
# 2. xenbr0에서 eth0 분리
brctl delif xenbr0 eth0 2>/dev/null
# 3. xenbr0 브릿지 삭제
brctl delbr xenbr0 2>/dev/null
echo "eth0이 xenbr0에서 분리되었습니다."

# --- 모든 인터페이스 IP 초기화 ---
for iface in $(ip -o link show | awk -F': ' '{print $2}'); do if [ "$iface" != "lo" ]; then ip addr flush dev "$iface"; fi; done

# --- 독립적인 포트 설정 ---
# PFE 포트(P3B) 활성화
libfci_cli phyif-update -i emac2 --mode=DEFAULT -E
# 이제 자유로워진 eth0(P3A)과 pfe2sl(P3B) 활성화
ip link set eth0 up
ip link set pfe2sl up

echo "====== 설정 완료. 이제 각 보드에 IP를 할당하세요. ======"

4. IP 할당 및 핑 테스트

위 스크립트를 양쪽에서 실행하여 eth0xenbr0의 속박에서 벗어난 상태를 만듭니다. 그 후, 각 인터페이스에 IP를 할당합니다.

▶ G3 보드에서 실행:

ip addr add 192.168.10.1/24 dev eth0
ip addr add 192.168.20.1/24 dev pfe2sl
# P3A 경로 테스트
ping -c 4 -I eth0 192.168.10.2
# P3B 경로 테스트
ping -c 4 -I pfe2sl 192.168.20.2

▶ G2 보드에서 실행:

ip addr add 192.168.10.2/24 dev eth0
ip addr add 192.168.20.2/24 dev pfe2sl
# P3A 경로 테스트
ping -c 4 -I eth0 192.168.10.1
# P3B 경로 테스트
ping -c 4 -I pfe2sl 192.168.20.1

이것이 P3A와 P3B 두 포트를 모두 사용하여 802.1CB를 구현하기 위한, 현재까지의 모든 정보를 종합한 가장 논리적이고 가능성 있는 마지막 방법입니다. 이 테스트가 성공한다면, 우리는 드디어 안정적인 2-Port 테스트 베드를 확보하게 됩니다.