IT업무/네트워크관리(NMS)

NMS 개념 - 장애관리 두번째

무늬만엄마 2005. 7. 6. 18:21

NMS의 주된 역할이 장애를 인지하는 것이라고 알게 되었다.

 

그럼 이제 장애를 어떻게 인지할 것인가를 생각해 보자.

 

먼저 가장 쉬운 것은 모두가 아는 것처럼 대상 장비 또는 시스템에 ping을 때려 보는 것이다.

조금 더 잘 아는 사람은 SNMP Polling을 한다고 말할 것이다.

 

먼저 이 ping이라는 것에 대해 알아보도록 하겠다.

네트워크 분야에 종사하는 사람이라면 이 ping이라는 것이 뭐하는 것인지는 다들 잘 알고 있을 것이므로 이 ping으로 네트워크 관리를 어떻게 하면 되며, 문제점이 무엇인가만 살펴보도록 하자.

 

ping으로 네트워크를 관리하는 방식은 매우 간단하다.

관리 시스템으로부터 ping request에 대한 response가 없으면 장애로 보는 것이다.

그럼 네트워크 관리자가 모든 전산자원의 IP에 모두 ping을 때리고 있으면 어떨까?

그리고 ping이 안되는 장비가 있으면 조치를 하는 것이다.

일견 아주 단순하고 아무 문제도 없어 보인다.

 

그러나, 그렇게 단순한 문제만은 아니다.

여러분이 command(cmd) 창을 열고 자기 ip로 ping을 때려 보자.

========================================================================

C:\Documents and Settings\R51>ping 147.6.97.1

Pinging 147.6.97.1 with 32 bytes of data:

Reply from 147.6.97.1: bytes=32 time<1ms TTL=255
Reply from 147.6.97.1: bytes=32 time<1ms TTL=255
Reply from 147.6.97.1: bytes=32 time<1ms TTL=255
Reply from 147.6.97.1: bytes=32 time<1ms TTL=255

Ping statistics for 147.6.97.1:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 0ms, Maximum = 0ms, Average = 0ms

C:\Documents and Settings\R51>

=========================================================================

 

그럼 Reply from 어쩌고 하면서 응답이 3~4번 떨어질 것이다. ttl=xx ms 하는 구문과 함께 말이다.

그럼 이 ping에 대한 응답이 네 번 중 한 번 없다고 장애일까?

아님 두 번? 아님 세 번 모두를 장애로 볼까?

장비가 다른 트래픽을 처리하느라 바쁘다면 ping 응답이 안 올 수 있다.

(ping은 우선 순위가 밀리기 대문이다.)

또는 네트워크 대역이 그리 좋지 못해서 timeout (보통 0.8ms) 이 나는 경우도 있다.

그럼 그런 것을 고려해서 0.8을 1.2나 2.0 정도로 늘려 줄 수도 있다.

도스에서 win98에서 xp에서 그리고  리눅스나 sun, hp 등 unix 시스템에서 이 ping utility의 사용법은 조금씩 다르며, 네트워크 관리자라면 ping의 옵션 정도는 알고 있어야 한다.

 

지금 여러분은 네트워크 관리자의 관리 정책이 적용되는 상황을 보고 있다.

장애정의 : 자원의 ip에 ping을 실행하여 응답이 없으면 장애로 인지한다.

기준설정 : 비지니스 rule 적용

         기준 1) 응답 세번에 모두 답이 없는 경우만을 장애로 인지한다. timeout은 1.5ms로 한다.

         기준 2) 응답이 한번이라도 없으면 무조건 장애로 본다. timeout은 0.8로 한다.

         기준 3) 저 위에 있는 것을 장비 또는 ip 별로 다 다르게 주었으면 좋겠다.

                   나중에 바꿀 수도 있으면 더 좋겠다.

         추가 조건 ) ping이 한번 빠지면 노란색, 두번 빠지면 빨간색으로 해주었으면 좋겠다.

                         ip가 없는 interface는 어떻게 하느냐... 등등...

기준 1은 굉장히 Loose하게 적용되는 경우이며, 약간의 지연은 장애로 보지 않겠다는 정책이다.

기준 2는 타이트하며 작은 지연도 허용되지 않는 크리티컬한 네트워크 운영 정책이다.

기준 3은 대부분의 사이트에서 원하는 방식이며, 추가조건도 꼭 따라 붙는다.

 

(이런 조건을 충족하는 NMS가 잘 아는 whatsup gold 나 openview nnm이라는 제품이다.

뭐 아는 사람은 다 알겠지만, 개인적으로 whatsup gold는 ping 장애관리 전문 제품으로 가격대비 성능으로는 최고라고 보고 있다. openview nnm은 비싸고 또 좋은 제품이다. 다만 쓰기가 매우 어렵고(영어) 우리나라 관리자들은 별로 좋아하지 않는다. 여기서 사족을 조금 더 달자면 openview nnm은 정말 괜찮은 제품이다. EMS나 NMS를 만들려고 고민을 해본 사람은 알겠지만, OV에는 이러한 고민에 대한 부분이 거의 다 수용되어 있다. 단지, UI가 너무 Old 하다는 것이 단점. 또 기능이 너무 많다 보니 쓰기가 어려워서 단점. 하지만 거의 다 필요한 기능들이다.) 

 

다시 장애 감지로 돌아오자.

이제 ip가 없는 interface의 경우를 살펴보자.

ip가 없는 interface라... 무엇이 있을까? 요새는 tcp/ip 환경으로 거의 대부분 구성되어 있지만, 아직도 WAN 구간에는 ATM이나 Flame relay 또는 광으로 된 연결 구간들이 있고, 대부분 ip가 없다. 또 장비의 카드 중에 장애가 나면 장비가 제대로 동작할 수 없는 것들도 있다.

이런 경우도 장애로 보아야 하기 때문에 난감한 일이 아닐 수 없다.

 

우리는 이러한 이유들 때문에 SNMP라는 프로토콜을 사용하여 네트워크 관리를 하게 된다.

SNMP를 지원하는 장비라면 MIB II에서 정의한 interface의 상태 ifoperstatus를 보고 장애인지 아닌지를 판별하는 것이다. 여기까지는 좋아보인다. 이론상으로도 그럴듯해 보인다.

 

그러나 네트워크 관리자는 머리가 복잡해 진다.

여기 인터페이스가 수십개 되는 장비가 있는데, 나는 그 중에 두 개의 상태만 알면 된다.

어떻게 해야 할까?

방법 1) 내가 원하는 인터페이스만 관리하도록 등록하고 이것들만 관리한다.

방법 2) 일일히 등록하기 어려우니, ifadminstatus와 ifoperstat가 다른 것만 체크해서 알려준다.

방법 3) 어쨌거나 up 상태였다가 down 상태이면 문제가 생긴 것이니 down이라고 알려주는 놈만 추려서 장애로 알려준다. 물론 내가 원하는 interface의 경우에만. trap을 쓰면 좋겠다.

 

제대로 된 NMS에서는 이런 것들을 관리자의 판단에 따라 설정할 수 있어야 한다.

그럼 설정하는 화면들이 많이 늘어난다. 고로 또 복잡해진다.

 

네트워크 관리자들은 복잡한 기능을 싫어한다.

그래서인지 nms가 인공지능처럼 동작하기를 원하는데...

프로그래은 인공지능이 아니다. 최소한 어떤 것이 중요한 인터페이스인지, 어떤 것을 장애로 볼 것인지는 알려주어야 한다. 아니면 default 값을 쓰게 되는데.. default 값을 쓰면서 nms가 틀렸다고 말해서는 조금 곤란하지 않겠냐는 거다.

 

또 요새 등장한 복병 중 하나가 보안 방화벽이다.

장비에서 snmp를 지원하는 것, snmp를 설정하는 것이 1차이고, 보안 정책도 확인해 보아야 한다.

snmp는 well-known port 이므로 보안 정책 상 허락하지 않는 경우도 있다. port를 바꿀 수도 있지만, manager와 agent가 모두 이 기능을 지원해야 한다. 이놈의 snmp는 simple network management protocol 이라는데 simple이 아니라 너무 어려워 보인다.

 

사실 더 어렵고 복잡한 뭐 CMIP이나 CORBA라는 것들이 존재하는데... 거의 시장에서 사라졌다.

사람들은 더 정확하고 잘정리된 표준 대신 간단한 표준을 선택하였다. 그래서 더 복잡해졌다.

 

어찌되었건 요약하자면 네트워크 관리자는 장애 관리를 하기 위해서 가장 많이 쓰는 icmp ping과 snmp 방식을 가지고 NMS를 구축할 수 있다.

 

이 때 필요한 것은 "좋은 NMS(쉬운것이 항상 좋지만은 않다)"와 "적절한 네트워크 관리 정책"이다.