4.9.3. BFD 문제 해결
Red Hat이 지원하는 BFD(Bidirectional Forwarding Detection) 구현에서는 metallb-system 네임스페이스의 frr-k8s Pod에 존재하는 컨테이너에서 FRRouting (FRR)을 사용합니다. BFD 구현은 BFD 피어를 설정된 BGP 세션을 통해 BGP 피어로 구성되고 있습니다. 클러스터 관리자는 BFD 구성 문제를 해결해야 하는 경우 FRR 컨테이너에서 명령을 실행해야 합니다.
사전 요구 사항
-
cluster-admin역할의 사용자로 클러스터에 액세스할 수 있어야 합니다. -
OpenShift CLI(
oc)가 설치되어 있습니다.
프로세스
다음 명령을 실행하여 FRR-K8s Pod의 이름을 표시합니다.
$ oc get pods -n metallb-system -l app=frr-k8s출력 예
NAME READY STATUS RESTARTS AGE frr-k8s-bz2dn 7/7 Running 0 106mFRR-K8s Pod의
frr컨테이너에 대해 다음 명령을 실행하여 BFD 피어를 표시합니다.$ oc exec -n metallb-system <frr_k8s_pod_name> -c frr -- vtysh -c "show bfd peers brief"출력 예
Session count: 1 SessionId LocalAddress PeerAddress Status ========= ============ =========== ====== 3909139637 10.0.1.2 10.0.2.3 up1 다음과 같습니다.
up-
PeerAddress열에 각 BFD 피어가 포함되도록 지정합니다. 출력에 출력에 포함할 것으로 예상되는 BFD 피어 IP 주소가 나열되지 않은 경우 피어와 BGP 연결 문제를 해결합니다. 상태 필드가다운된 경우 노드와 피어 간의 링크와 장비에 대한 연결을 확인합니다.oc get pods -n metallb-system와 같은 명령을 사용하여 frr-k8s Pod의 노드 이름을 확인할 수 있습니다.frr-k8s-bz2dn -o jsonpath='{.spec.nodeName}'
선택 사항: 자세한 BFD 피어 정보를 표시하려면 다음 명령을 실행합니다.
$ oc exec -n metallb-system <frr_k8s_pod_name> -c frr -- vtysh -c "show bfd peers"출력 예
BFD Peers: peer 10.0.2.3 local-address 10.0.1.2 vrf default interface br-ex ID: 3909139637 Remote ID: 2819913327 Active mode Status: up Uptime: 1 hour(s), 12 minute(s), 30 second(s) Diagnostics: ok Remote diagnostics: ok Peer Type: dynamic RTT min/avg/max: 301/512/4191 usec Local timers: Detect-multiplier: 3 Receive interval: 300ms Transmission interval: 300ms Echo receive interval: 50ms Echo transmission interval: disabled Remote timers: Detect-multiplier: 3 Receive interval: 300ms Transmission interval: 300ms Echo receive interval: disabled다음과 같습니다.
상태-
BFD 세션의 현재 상태입니다.
up값은 세션이 설정되고 링크가 정상임을 나타냅니다.down값은 세션이 실패했음을 나타냅니다. 가동 시간또는다운 타임- 세션이 현재 상태에 있는 기간입니다.
원격 ID-
원격 피어가 할당한 세션 ID입니다. 값
0은 원격 피어가 응답하지 않았음을 나타냅니다. 진단및원격 진단-
로컬 및 원격 피어에 대한 진단 코드입니다. 값이
ok이면 오류가 없음을 나타냅니다. detect-multiplier-
세션이 중단되기 전에 누락된 패킷 수입니다. 수신 간격이
300ms이고 탐지 곱이3인 경우, 누락된 패킷의900ms후에 세션이 선언됩니다.
검증
BFD가 올바르게 작동하는지 확인하려면 다음 조건이 모두 충족되었는지 확인합니다.
-
show bfd 피어 요약출력은 예상되는 각 BFD 피어의상태를up으로 나열합니다. -
show bfd 피어세부 출력은 0이 아닌원격 ID를 표시하여 원격 피어가 응답했음을 확인합니다. -
Cryo
stat및Remote 진단필드에는 모두ok가 표시됩니다. -
세션이 다운된 경우
다운타임기간 및원격 진단필드에 오류 코드가 있는지 확인하고 노드와 피어 간의 네트워크 연결을 확인합니다.