2024. 12. 19. 15:00ㆍ엔지니어
배경
엔지니어는 네트워크 문제의 원인을 알기 위해 종종 네트워크 케이블의 불량 유무를 확인합니다. 하지만 테스트할 수 있는 환경이 해당 케이블의 듀얼포트 네트워크 인터페이스 카드 1개만 보유한 상황이라면 이 방법을 추천드립니다.
환경
Server : Supermicro Workstation
NIC: 2 Ports 100Gb EDR InfiniBand
OS : CentOS 7.8
IB driver version : MLNX_OFED_LINUX-4.9-4.0.8.0
작업
유휴 서버 한 대에 인피니밴드 네트워크 카드를 장착하고 케이블 한개의 양 끝단 모두 해당 네트워크 카드 포트들에 연결합니다.
순서는 ip 명령어를 사용하여 ns1이라는 namespace를 생성, ns1에 한쪽 포트의 인터페이스 할당하여 인터페이스들이 서로 다른 namespace에 있게 하여 격리시킵니다. 마지막 ping 통신 테스트를 진행하여 케이블의 상태를 확인합니다. 격리시키지 않고 ping 테스트를 진행한다면 당연히 출발 포트를 경유하지 않고 바로 도착 포트로 데이터를 송신할 것이기에 정상적인 테스트가 불가합니다.
ip netns add ns1
ip link set dev ib0 down
ip link set dev ib1 down
ip link set dev ib1 netns ns1
ip address add 10.10.10.1/24 dev ib0
ip netns exec ns1 ip address add 10.10.10.2/24 dev ib1
ip link set dev ib0 up
ip netns exec ns1 ip link set dev ib1 up
ip netns exec ns1 ip link set dev lo up
ping 10.10.10.2 혹은 ip netns exec ns1 ping 10.10.10.1
ip 명령어를 통하여 네트워크 namespace를 생성합니다.
ip netns add ns1
인피니밴드 인터페이스들을 모두 잠시 비활성화 합니다.
ip link set dev ib0 down
ip link set dev ib1 down
인피니밴드 인터페이스 하나를 생성한 namespace에 할당합니다.
ip link set dev ib1 netns ns1
통신 테스트를 위해 인피니밴드 인터페이스들의 주소를 설정합니다.
ip address add 10.10.10.1/24 dev ib0
ip netns exec ns1 ip address add 10.10.10.2/24 dev ib1
인피니밴드 인터페이스들을 모두 활성화합니다.
ip link set dev ib0 up
ip netns exec ns1 ip link set dev ib1 up
ip netns exec ns1 ip link set dev lo up
한쪽 인터페이스를 향해 ping 테스트를 진행합니다.
ping 10.10.10.2 혹은 ip netns exec ns1 ping 10.10.10.1
'엔지니어' 카테고리의 다른 글
Lenovo X1 Carbon 4th 리튬전지 및 배터리 교체 (0) | 2025.03.17 |
---|---|
System Rescue (0) | 2024.12.21 |