2016년 8월 4일 목요일

[네트워크] ethtool 을 이용한 인프라 구성 노하우

리눅스의 man page를 통해 ethtool 이 무엇인지 살펴보면 아래와 같이 정의되어 있습니다.

"ethtool - query or control network driver and hardware settings"

즉, ethtool 은 네트워크 드라이버와 하드웨어(네트워크 카드, NIC)을 제어할 때 사용할 수 있는 도구입니다.

일반적으로 저는 서버와 스위치간 케이블을 연결할 때 서버에 존재하는 여러 개의 네트워크 인터페이스 중 특정 인터페이스가 어떤 포트에 해당하는 지 찾고자 할 때 주로 사용합니다.

리눅스에서 "ethtool -p eth3" 과 같이 p 옵션을 주고 뒤에 인터페이스 명칭을 입력하면, 서버 후면에 있는 여러 개의 네트워크 포트 중 특정 포트의 LED가 깜빡깜빡 하는 것을 확인 할 수 있어 상당히 편리한 도구입니다.

물론 케이블 연결 후에 정상적으로 서버와 스위치간 케이블이 연결되었는 지와 링크가 살았는지 확인하기 위해서도 ethtool 명령어를 사용할 수 있습니다.

아래와 같이 "ethtool em2" 명령어를 사용하면 마지막 부분에 "Link detected" 로 링크가 살았는 지 확인할 수 있습니다.

$ sudo ethtool em2

Settings for em2:
        Supported ports: [ TP ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Supported pause frame use: No
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Advertised pause frame use: No
        Advertised auto-negotiation: Yes
        Speed: 1000Mb/s
        Duplex: Full
        Port: Twisted Pair
        PHYAD: 1
        Transceiver: internal
        Auto-negotiation: on
        MDI-X: Unknown
        Supports Wake-on: g
        Wake-on: g
        Link detected: yes

이때, Link detected 가 no 로 되어있을 경우에는 아래와 같은 사항들이 원인이 될 수 있습니다.

1. 서버의 인터페이스가 down 되어있는 경우
   이때는 서버에서 "sudo ifconfig <interface_name> up" 명령어로 해당 인터페이스를 up 시켜줘야 합니다. 물론 "sudo ifup <interface_name>" 명령어로 down 되어있는 인터페이스를 up 시킬 수도 있습니다.
2. 서버의 네트워크 포트를 잘 못 확인한 경우
   이때는 다시 "ethtool -p <interface_name>" 으로 확인해 볼 필요가 있습니다.
3. 스위치에서 인터페이스가 "shutdown" 되어 있는 경우
   이때는 스위치 콘솔 혹은 MGMT 포트로 접근하여 "no shutdown"  명령어로 링크를 직접 살려줘야 합니다. 물론, 스위치 벤더마다 명령어는 다를 수 있습니다.
4. 네트워크 케이블 (UTP 케이블, 광 케이블 등)이 불량인 경우
   이런 경우는 드물지만 네트워크 케이블의 문제가 있을 수 있기 때문에 정상적으로 동작하는 케이블로 교체하여 확인해볼 필요가 있습니다.

이외에 실제로 서버와 스위치 등을 구성할 때 예상하지 못한 상황들이 많이 발생할 수 있습니다. 예를 들어, 스위치의 GBIC에 문제가 있는 경우 혹은 서버 네트워크 카드가 불량인 경우 등 복합적인 상황이 생길 수 있으니 여러 방면을 고려하여 확인해보시기 바랍니다.

댓글 없음:

댓글 쓰기