2. 콘솔 서버의 기능 및 올바른 선정 기준
상태바
2. 콘솔 서버의 기능 및 올바른 선정 기준
  • 승인 2004.09.01 00:00
  • 댓글 0
이 기사를 공유합니다

[Tech Guide]
NMS 툴과 병행 사용 ‘효율적’… 전용 콘솔 서버 사용 ‘바람직’
‘보안·안정성·고집적도’ 제품선정시 꼭 살펴야

김상원 세나테크놀로지 이사

이번 호에서는 관리대상 장비의 시스템 콘솔 접속을 통한 망외 관리(Out-of-Band Management)를 위해 어떠한 형태의 솔루션이 적합한지 알아본다. 또한 콘솔 접속을 통한 망외 관리 시 가장 빈번히 언급되는 윈도 서버에의 적용 문제와 시리얼 콘솔 브레이크 신호 제어 문제에 대해서도 짚어본다. 마지막으로, 콘솔 서버의 시리얼 포트와 대상 장비의 콘솔 포트를 연결하는 방법과 콘솔 서버를 사용해 관리대상 장비에 콘솔 모드로 접속하는 방법을 간단하게 설명한다. <편집자>

전산 자원의 망외 관리 및 장애 대처를 위한 콘솔 서버는 그 기본적인 특성상 관리대상 장비의 시스템 콘솔 포트와 시리얼 통신에 기반 한 통신을 수행하므로, 그 하드웨어적인 구조가 기존의 터미널 서버와 매우 유사하다. 또한, 시리얼 통신을 통해 시스템 콘솔모드 접속을 수행한다는 기본적인 기능만을 고려한다면, 다양한 형태의 플랫폼으로 콘솔 서버의 기능 일부를 수행할 수 있다.

콘솔 모드 접속 솔루션
이와 같은 것으로서 가장 대표적인 것은 재래 방식의 터미널 서버와 PC 기반의 소프트웨어 터미널 서버 솔루션이다. 편의상 이 두 가지 방식과 구별하기 위해 전산 장비의 망외 관리 전용으로 개발된 콘솔 서버를 스탠드 얼론 콘솔 서버라 칭하기로 한다.

터미널 서버
터미널 서버는 네트워크 환경이 지금과 같이 발달하기 전인 소위 유닉스 시대에 많이 사용되던 것으로서, 기본적인 개발목적은-그 이름에서도 쉽게 추측할 수 있듯이-예전에 많이 사용되던 메인프레임 컴퓨터와 터미널들을 연결하기 위해서였다. 즉, 시리얼 통신 방식의 터미널 여러 대를 한 대의 메인프레임에 연결해 사용자들은 터미널을 통해 시리얼 통신방식으로 터미널 서버에 접속하고, 터미널 서버가 이더넷 기반으로 메인프레임에 접속해 다수의 사용자가 메인프레임을 공유하도록 하는 것이 주 사용 용도였다.
따라서, 터미널 서버의 기본적인 하드웨어 기능은 다수의 시리얼 통신 포트를 통해 오가는 데이터를 하나의 이더넷 포트로 전송하는 것이다. 이를 위해 여러 개의 시리얼 포트와 한 두개의 이더넷 포트를 가지는 형태이며, 이는 최근에 소개되고 있는 스탠드 얼론 콘솔 서버와 하드웨어적으로 유사한 형태이다. 주로 8포트와 16포트 모델이 보편화돼 있다.
터미널 서버는 전산 환경이 메인프레임에서 클라이언트/서버 환경으로 변화되면서 자연스럽게 시장에서의 수요가 줄어들어 더 이상의 제품화가 이뤄지지 않고, 기존의 제품들도 단종되는 추세였다. 그러나 최근 2∼3년 들어 스탠드 얼론 콘솔 서버가 제품화되면서, 이의 대용으로 다시 등장하기 시작했다.
이러한 터미널 서버는 하드웨어의 구조 측면에서는 스탠드 얼론 콘솔 서버와 유사하다. 하지만 전산 장비의 시스템 콘솔 포트를 네트워크에 연결하기 위한 신호 전달의 기능만을 보유하고 있으며, 시스템 콘솔 포트를 관리하기 위한 기능들을 전혀 보유하고 있지 않다. 일종의 시리얼-이더넷 집선 장치에 머물고 있으며, 다양하고 강력한 보안 접속 기능이나 동시 접속 관리 기능 등 스탠드 얼론 콘솔 서버에서 제공되는 시스템 관리에 필수적인 기능 등이 결여돼 있다. 또한 최근의 고집적 서버 랙 시스템에 부합하는 32포트, 48포트 등의 고집적 포트 모델이 존재하지 않는다.

PC 기반 콘솔 서버 솔루션
이는 범용 PC에 많은 수의 시리얼 포트를 가진 멀티 포트 시리얼 카드를 버스 슬롯에 장착하고 이를 통해 다수의 전산 장비의 시스템 콘솔에 접속하며, PC에 장착된 네트워크 카드를 통해 이더넷에 연결하는 방식이다. 신호의 전달 측면에서는 역시 터미널 서버와 마찬가지로 여러 개의 시리얼 포트에 해당하는 멀티포트 시리얼 카드와 네트워크에 접속하는 PC 로 구성돼 있으며, 시스템 콘솔의 관리 기능은 이 PC상에서 실행되는 응용소프트웨어 형태로 구성된다.
이는 시스템 콘솔 관리를 위한 소프트웨어가 PC상에서 실행되므로, 제품개발 측면에서의 용이성은 있으나 사용자의 입장에는 스탠드 얼론 콘솔 서버에 비해 많은 단점을 지닌다. PC에 장착되는 멀티포트 시리얼 카드의 수가 제한돼 있으므로 결국 다수의 PC와 다수의 멀티포트 시리얼 카드를 사용하게 돼 스탠드 얼론 콘솔 서버에 비해 경제적 효용성이 떨어지고, PC를 사용함에 따른 설치, 배선의 어려움이 있다.
임베디드 시스템인 스탠드 얼론 콘솔 서버에 비해 상대적으로 시스템 안정성 측면에서 취약할 뿐 아니라, 확장성 측면에서도 불리하다. 따라서 많은 수의 서버가 밀집돼 있고, 포트 집적도가 중요한 현재의 데이터 센터 환경에는 부적합한 방식이라 할 수 있다.

스탠드 얼론 콘솔 서버
이상과 같은 구조상, 기능상 콘솔 서버와 유사한 콘솔 모드 접속 솔루션들이 있음에도 불구하고, 전산 장비의 망외 관리는 이를 위해 전용으로 개발된 임베디드 시스템 기반의 스탠드 얼론 콘솔 서버에 의존하는 것이 가장 현명한 방법이다. 스탠드 얼론 콘솔 서버는 현재 전 세계적으로 10개 미만의 업체에서 제품화했으며, 미국을 선두로 그 보급과 사용이 점차 늘고 있다.
쉽게 유추할 수 있는 바와 같이 콘솔 서버의 주 적용 분야는 다수의 서버를 운용하는 서버 팜, 데이터센터 뿐 아니라, 금융권, 일반 기업, 정부 기관 등으로서 서버, 네트워크 장비의 수요처와 동일하다. 전 세계적으로 현재 5개 정도의 제품이 주로 경쟁하고 있으며, 그 기능과 성능 면에서 많은 차이를 보이고 있다.

주요 기능 및 사용의 편리성
터미널 서버와는 달리 콘솔 서버의 기본 기능은 단순히 네트워크를 통한 시스템 콘솔 포트의 원격 접속에 국한되지 않는다. 콘솔 포트를 통한 전산 장비 관리에 필수적인 환경을 장비 관리자들에게 효율적으로 제공함으로써, 평상시 혹은 장애 발생시에 다수의 서로 다른 권한을 가진 전산 장비 관리자들이 다수의 시스템 콘솔에 접속해, 가장 효율적으로 장비를 제어하고 장애에 대처할 수 있도록 하는 것이 중요하다. 이를 위해 콘솔 서버의 기본기능을 다음과 같은 3가지로 크게 요약할 수 있다.

·다양한 네트워크 접속 방식의 지원 : 유/무선, 전화모뎀 접속, ADSL/케이블 접속
·포트 기능 : 각 시리얼 포트별 텔넷과 SSH 접속 기능이 지원돼야 하며, 서로 다른 장비별 접속 권한을 가진 다수의 관리자가 동시에 접속해 협업할 수 있는 기능 및 사용자간에 상호 접속 상태를 모니터링 할 수 있는 기능 등이 필요하다. 또한 각 장비의 콘솔 포트를 통해 방출되는 로그 메시지를 저장하는 포트 버퍼링 기능과 이를 콘솔 서버의 자체 메모리, CF 카드 등의 저장 매체 및 NFS(Network File Server), 시스로그(Syslog) 서버 등 네트워크 기반으로 저장하는 기능이 필요하다.
·다양한 사용자 인터페이스 및 쉬운 사용 방법 : 직관적인 웹 기반의 메뉴방식 사용자 인터페이스와 동시에 리눅스 명령어 기반의 인터페이스가 동시에 지원돼야 한다.

콘솔 서버 선정 기준
다음의 3가지는 콘솔 서버를 사용해 전산 장비를 망외 관리할 때 필수적인 기능들로서, 제품 선정시 반드시 제조사별 사양 및 기능을 사전에 비교한 후 최소한 이상의 기능은 모두 제공되는 콘솔 서버 제품을 선정해야 한다.

① 강력하고 다양한 보안 접속 지원
전산 장비의 콘솔 접속은 장비의 모든 제어권한을 소유하는 것을 의미하므로, 다음과 같은 다양한 수준의 보안 기능이 필수적이다.

·인증(Authentication) : SSH v1&v2, 래디우스(RADIUS), LDAP, TACACS+, 커버로스(Kerberos)
·사용자 레벨 관리 : 전체 관리자 레벨, 포트별 관리자 레벨, 사용자 레벨
·포트별 사용자 접근제어
·IP 필터링 : 특정 IP에서 접속하는 경우에만 접속을 허용

② 하드웨어 안정, 설치성 및 고집적도
하드웨어적으로 충분한 안정성이 검증돼야 하고, 랙 설치 및 배선이 용이해야 하며, 고집적도의 랙 설치 환경을 고려해 1U 형태에 32포트 및 48포트가 지원되는 고집적도가 필요하다.

③ 시리얼 브레이크 신호 제어 기능
썬의 서버와 콘솔 접속 시 발생되는 문제점으로 속칭 ‘썬 브레이크 방지 기능’이라고 한다. 콘솔 포트를 통해 의도하지 않은 브레이크 신호가 전송되는 것을 방지하는 기능으로 썬의 장비를 관리할 때에 필수적이다.

윈도 서버 2003 콘솔 모드 관리
기존에는 KVM(Keyboard, Video, Mouse) 스위치가 주로 윈도 서버의 관리에 적용되는 반면, 콘솔 서버는 윈도 서버에는 적용되지 못하고, 리눅스 및 유닉스 서버와 라우터, 스위치 등의 네트워크 장비를 대상으로 적용됐다. 그 이유는 다른 전산 장비들과는 달리 윈도 서버에서는 시리얼 콘솔을 통한 시스템 관리가 허용되지 않았기 때문이다.
그러나 최근의 콘솔 포트를 이용한 망외 관리에 대한 효용성이 널리 알려지고, 이에 대한 요구가 증가하면서, 윈도 서버 2003는 시리얼 콘솔 포트 접속을 통한 시스템 관리 기능을 제공하며, 이를 마이크로소프트에서는 윈도 서버 2003의 EMS(Emergency Management Services) 기능이라 칭한다.
윈도 서버의 네트워크를 통한 관리는 마이크로소프트에서 제공하는 터미널 서비스(Terminal Service)와 마이크로소프트 매니지먼트 콘솔(MMC, Microsoft Management Console)을 이용하는 것이 보편적인 방법이었다. 이는 대표적인 망내 관리(In-Band Management)에 해당하는 것으로서 관리 대상 서버 자체의 TCP/IP 스택 및 네트워크 드라이버를 통해 관리가 이뤄진다.
따라서 시스템의 TCP/IP 스택 및 네트워크 부분에 문제가 발생하면 사용이 불가능하다는 단점이 있다. 그러나 EMS를 이용한 망외 관리는 운영체제의 가장 원초적인 부분을 통해 접속이 이뤄진다. 커널이 작동하고 있으면 시스템에 접속이 가능하므로, 터미널 서비스에 비해 높은 가용성을 보장한다. 또한 콘솔 포트는 텍스트 데이터만을 다루게 되므로 전화접속과 같은 낮은 대역폭을 이용해 접속이 가능한 장점이 있다.
윈도 서버 2003에서 제공하는 EMS는 서버의 시리얼 콘솔 포트를 통해 서버의 원격 관리와 시스템 복구가 가능토록 하는 기능이며, 이는 콘솔 리다이렉션(Console Redirection)과 스페셜 어드미니스트레이션 콘솔(SAC, Special Administration Console)로 구성돼 있다.

콘솔 리다이렉션
콘솔 리다이렉션은 시스템의 부팅 프로세스를 비디오 어뎁터와 동시에 시리얼 콘솔 포트로 전송하며, 또한 동시에 키보드 입력과 함께 시리얼 콘솔 포트로부터 입력을 받아들이는 기능을 제공한다. 이는 시스템의 전원 인가에서부터 윈도가 로드돼 그래픽 인터페이스가 시작되기 전까지 제공되는 서비스이며, 그 이후에는 스페셜 어드미니스트레이션 콘솔 서비스에 의존하게 된다.

스페셜 어드미니스트레이션 콘솔
이는 터미널 서비스와 같은 윈도의 표준적인 시스템 원격관리 도구를 사용하지 못하게 될 때 관리자가 원격에서 운영체제에 접근하고 이를 제어할 수 있는 기능을 지원한다. SAC는 속칭 블루스크린과 같이 대부분의 기능이 정지된 상황에서도, 시스템 로그를 분석하고 시스템을 재시동할 수 있다. 특히 커널 레벨에서 제공되는 기능으로 다음과 같은 근본적인 레벨의 비상조치 기능을 제공한다.

·초기 설치시 서버의 IP 설정
·망내 접속을 회복시키기 위한 IP의 재설정
·서버의 재시동 및 셧다운
·물리적 메모리, 커널 메모리 등 모든 사용 가능한 리소스 리스트 표시
·모든 프로세스의 표시, 프로세스 중지, 메모리사용 제한 설정 및 우선순위 변경
·커맨드 프롬프트 생성 및 파일 시스템에 접근
·텍스트 기반 응용 프로그램 실행

시리얼 콘솔 브레이크 신호 제어 기능
전산 자원의 망외 관리를 위해 콘솔 서버를 이용할 때 가장 중요한 고려 사항 중의 하나가 시리얼 콘솔 브레이크 신호의 제어 기능으로서, 이는 썬마이크로시스템즈의 서버에 적용할 때 필수적인 사항이다. 시리얼 브레이크 신호(Serial Break Signal) 혹은 콘솔 브레이크 신호(Console Break Signal)는 RS-232 시리얼 통신 시에 발생되는 전기적인 신호로서, 하나의 캐릭터 시간-일반적으로 수백 밀리세컨드-동안 신호선이 ‘0’인 상태를 유지하는 것을 의미한다.
썬 서버들은 이 브레이크 신호를 수신할 경우 모든 작업을 중지하고 시스템을 모니터 모드로 전환하도록 돼 있다. 이는 관리자들이 콘솔 포트를 통해 썬 서버에 브레이크 신호를 보내, 시스템을 모니터 모드로 전환하거나 재시동할 수 있도록 썬에서 제공하는 기능이다.
그러나 관리자의 의도와는 달리 썬 서버의 콘솔 포트에 이러한 시리얼 브레이크 신호가 어떠한 이유로든 전송돼 의도하기 않게 시스템을 정지시키는 문제들이 발생한다. 이를 일반적으로 ‘의도하지 않은 썬 브레이크 문제(Unintentional Sun Break Problem)’라 칭한다. 또한, 단순히 콘솔 포트로 브레이크 신호를 전송하는 것을 방지하는 문제가 아니라, 관리자가 의도적으로 썬 서버에 브레이크 신호를 보내려고 할 때는 이를 발생시키는 기능 역시 포함돼야 하므로, 이는 시리얼 브레이크 신호 제어 기능이라 할 수 있다.
일부의 콘솔 서버와 대부분의 기존 터미널 서버들은 이러한 시리얼 브레이크 신호를 제어하는 기능을 보유하고 있지 않으며, 콘솔 포트에 접속돼 있는 상태에서 의도하지 않은 브레이크 신호를 전송한다. 대표적인 경우로서, 콘솔 포트를 연결한 상태에서 터미널 서버의 전원을 차단하거나 인가하는 경우 터미널 서버의 모든 포트를 통해 브레이크 신호가 전송된다. 따라서 이 터미널 서버에 시스템 콘솔이 접속된 모든 썬 서버가 동시에 모니터 모드로 전환되거나 재시동되는 현상이 발생한다.
이는 일부 콘솔 서버와 대부분의 기존 터미널 서버에 하드웨어 설계 단계에서 시리얼 콘솔 브레이크 제어 기능이 구현되지 않았기 때문이다. 따라서, 콘솔 서버를 선정할 때는 썬/솔라리스 서버 브레이크 신호 방지 기능을 제품의 사양서에서 확인하는 것이 필수적이다.

콘솔 서버를 통한 시스템 콘솔 접속
서버 및 네트워크 장비의 시스템 콘솔 포트는 외관상 서로 다른 몇 가지로 구분되나, 공통적으로 RS-232 방식의 시리얼 통신으로 터미널에 연결된다. 장비에서 제공하는 콘솔모드 접속의 가장 보편적인 방법은 데스크톱 혹은 노트북 PC의 시리얼 포트와 관리 대상 장비의 시스템 콘솔 포트를 10m 이내의 근거리에서 시리얼 케이블로 연결한 후 PC의 터미널 모드를 사용해 시스템 콘솔에 접속하는 것이다.
일단 접속에 성공하게 되면 개개별 장비에서 제공하는 콘솔 모드 접속에 의해 텍스트 기반의 명령어 모드나 메뉴 모드에서 장비의 모니터링 및 설정 변경 등의 작업을 수행하게 된다. 콘솔 서버를 사용할 경우는 이와 같이 개별 장비의 콘솔 포트에 개별 터미널을 시리얼 케이블을 사용해 직접 연결하는 대신, 48포트까지 다수의 시리얼 포트를 가진 콘솔 서버의 각 시리얼 포트와 여러 대의 대상 장비의 시스템 포트를 각각 근거리에서 시리얼 케이블로 연결한다.
대부분의 경우 설치 및 사용 편의상 랙 당 한대의 콘솔 서버를 설치한 후 랙 내에서의 각 장비의 시스템 콘솔 포트와 콘솔 서버의 시리얼 포트들이 각각 일대일로 연결된다. <그림 1>과 <그림 2>는 다양한 형태의 시스템 콘솔 포트의 모양과 함께, 전형적인 콘솔 서버의 후면 형태 및 개별 장비와의 연결 상태를 보여주고 있다.
전형적인 콘솔 서버의 후면에는 RJ45 형태의 커넥터로 모델에 따라 4∼48개까지의 시리얼 포트가 배치된다. 이는 1U 랙 마운트 크기에 48개 포트까지 고집적 배치를 위한 커넥터 크기의 물리적 제한 때문이며, 그 외 신호전달을 위한 전기적인 연결은 다른 형태의 커넥터와 모두 동일하다.
일단 모든 관리 대상 장비를 콘솔 서버의 시리얼 포트들과 연결을 마치고 나면, 콘솔 서버의 네트워크 접속 단자를 통해 콘솔 서버를 적절한 방법으로 네트워크에 연결한다. 후면에 배치된 RJ45 형태의 커넥터를 사용해 이더넷 연결을 사용할 수 있으며, 콘솔 서버의 PCMCIA 슬롯에 무선랜 카드를 삽입해 무선으로 네트워크에 접속할 수 있다. 또한 외장형 전화 모뎀을 콘솔 서버의 시리얼 포트 중의 하나에 연결한 후 이를 통해 모뎀 접속도 가능하다.
대상 장비들이 모두 콘솔 서버의 시리얼 포트에 연결되고, 콘솔 서버가 네트워크에 연결되고 나면, 사용자는 네트워크 상에서 텔넷 또는 SSH 기반으로 콘솔 서버에 접속해, 콘솔 서버 각각의 시리얼 포트에 접속하게 된다. 이는 결국 각 장비의 시스템 콘솔에의 접속을 의미한다. 이 경우 콘솔 서버의 각 시리얼 포트 별로, 다시 말해 각 개별 장비의 시스템 콘솔 별로 각각 별도의 IP 주소로 접속할 수 있다. 또는, 하나의 콘솔 서버에 해당하는 하나의 IP 주소와 각 시리얼 포트에 해당하는 별도의 TCP 포트 번호로 접속도 가능하다.
이때 관리자가 사용하는 컴퓨터 상에서 별도의 텔넷/SSH 클라이언트 프로그램을 사용해 접속하거나, 콘솔 서버에서 제공하는 웹 기반 인터페이스 내에서 텔넷/SSH 자바 애플릿을 통해 접속할 수 있다. 일차적으로 콘솔 서버에 접속하게 되며, 그 안에서 다시 개별 포트별로 접속할 수 있으며, 이때 사용자 인증 절차를 거치게 된다. 인증은 콘솔 서버의 설정에 따라, 콘솔 서버 내의 로컬 데이터베이스나 래디우스(RADIUS) 서버를 이용하게 된다.

<그림 6>은 사용자 인증을 거쳐 콘솔 서버에 접속한 후 표시되는 사용자 화면으로서 각 포트별 접속 상태를 표시하고 있다.
이와 같이 일단 콘솔 서버에 접속한 후에는 접속하고자 하는 장비에 해당하는 포트 번호를 선택하면, 다시 콘솔 서버의 개별 시리얼 포트, 즉 대상 장비의 시스템 콘솔 포트에 콘솔 모드로 접속하기 위한 사용자 화면이 제공된다.

<그림 7>은 포트 번호를 클릭한 후에 콘솔 서버에서 제공되는 텔넷 접속 애플릿이다. 여기서부터는 해당 장비의 콘솔 모드 접속을 위한 권한으로, 근거리에서의 터미널 직접 연결 시와 마찬가지 방법으로 대상 장비의 콘솔 포트에 접속하게 된다.
<그림 8>은 네크워크 상에서 콘솔 서버를 통한 각 대상 장비의 콘솔 모드 접속 개념을 나타낸 개념도다.
이상과 같이 네트워크 상에서 콘솔 서버를 통해 전산 장비의 시스템 콘솔 포트에 접속하는 기본적인 방법을 알아봤다. 보다 상세하고 다양한 콘솔 서버의 기능은 콘솔 포트 제조업체에서 제공하는 온라인 데모 사이트에서 직접 경험할 수 있다.
시스템 콘솔 포트를 이용한 망외 관리는 NMS와 같은 망내 관리 도구와 함께 병행으로 사용함으로써, 전산 자원의 효율적인 관리에 큰 효과를 볼 수 있다. 특히, 콘솔 모드 접속의 높은 가용성은 장비의 정상적인 장비 운영 상황에서 뿐 아니라, 원인이 파악되지 않은 장애 발생 상황에서도 항상 시스템 콘솔에의 접속을 보장한다. 이러한 망외 관리를 위해서는 관리자에게 높은 작업 효율성과 접속의 안정성 및 보안성을 제공하는 스탠드 얼론 방식의 전용 콘솔 서버의 도입이 바람직하다.


댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글 0
댓글쓰기
계정을 선택하시면 로그인·계정인증을 통해
댓글을 남기실 수 있습니다.