페일오버
페일 오버(장애 극복, failover)는 1차 시스템의 데이터베이스의 최신 버전을 대체 컴퓨터 시스템에 백업해두어 1차 시스템의 컴퓨터 서버, 시스템, 네트워크 등에서 이상이 생겼을 때 2차 시스템(대체 시스템)이 해당 업무를 즉시 이어받아 시스템 구성요소들의 기능들이 중단 없이 유지될 수 있게 하는 성질을 가진 시스템 등을 가리킨다. 회사의 중요한 서버를 하나만 두었을 때 서버의 장애가 생겼을 경우 뒤늦게 조치를 취한다 한들 그 순간이 회사 매출액에 직결되는 상황이라면 이러한 서버의 이중화(페일 오버)는 매우 중요하다.
목차
개념
시스템 설계자는 대개 연속적인 가용성(고가용성 high availability)과 높은 신뢰성이 요구되는 서버, 시스템 또는 네트워크에서 페일 오버 기능을 탑재하는 것이 일반적이다. 페일 오버는 1차 시스템이 고장 나거나 유지보수 등의 이유로 시스템을 이용할 수 없는 상태에서 2차 시스템이 즉시 업무를 이어받아 프로세서, 서버, 네트워크, 데이터베이스 등과 같은 시스템 구성요소의 기능들이 중단되는 일 없이 유지될 수 있는 백업 모드를 말한다. 또한 페일 오버는 어떠한 형태의 시스템에도 적용될 수 있다. 예를 들어 컴퓨터에서의 페일 오버는 고장 난 프로세서를 보호하는 장치가 될 수 있으며 네트워크에서의 페일 오버는 접속 경로, 저장장치 또는 웹서버 등과 같은 네트워크의 구성요소나 시스템 구성요소에 두루 적용될 수 있다. 이렇게 가동상태를 항상 유지해야 하는 시스템이므로 무정지형 시스템, 이중시스템, 고가용성 시스템 등 여러 이름으로 불릴 수 있다.
역사
페일 오버라는 용어는 훨씬 이전에 엔지니어들이 사용했지만 1962년에 기밀이 해제된 NASA 보고서에 찾아볼 수 있다. 반대인 용어 "스위치 오버"라는 용어는 1950년대에 '핫(hot)'과 '콜드(cold)' 스탠바이 시스템을 기술할 때 찾아볼 수 있으며, 현재 실행 중인 시스템(핫)으로의 즉각적인 전환과 시동이 필요한 시스템으로의 지연(콜드)의 의미를 가지고 있다.
작동원리
공공기관 간의 메신저 서비스를 제공하는 서버가 있다고 가정한다. 해당 서비스를 위한 서버가 1대일 경우 해당 서버의 업그레이드를 위한 서버 다운이나 해킹, 바이러스, 기타 고장 문제로 인한 계획되지 않은 서버다운(장애)이 발생 했을 때 지속적인 서비스를 제공하지 못하게 되는 문제가 발생한다. 2대의 서버를 이용할 경우 2대의 서버는 하나의 역활로 묶어 사용되며 장애 조치 클러스터를 생성하여 이러한 문제를 해결할 수 있다.
문제가 발생하지 않았을 때
- a 서버는 평상시 서비스를 할 수 있는 활성(Active) 서버로 지정, b 서버는 서비스가 중단될 것을 대비한 대기하는(Stand-by) 서버로 지정한다.
문제가 발생했을 때
- a 서버는 자신의 서비스 임무를 b 서버에게 넘겨준다. b 서버는 a 서버로부터 서비스 임무를 넘겨받아 대기상태에서 활성상태로 전환되어 계속 서비스를 하게 된다.
정리
- 어떠한 장비나 시스템이 '페일 오버 되었다'라는 말은 활성 장비가 중단되어 대기 장비로 트래픽이 전환되었다고 정의 할 수 있다. 이러한 페일 오버 기능은 각종 시스템의 고가용성(HA, High Availability)을 보장한다.
종류
페일 오버를 위한 고가용성 구성 방식에는 여러 종류가 있다.
상시대기
상시 대기(Hot Standby)는 시스템의 신뢰성과 보안을 보장하기 위한 페일 오버 기법이다. 이는 장치나 시스템 장애 발생 시에 대기 장치나 시스템이 인계받을 수 있도록 준비 함으로써 중요한 구성요소를 즉시 백업하는 것을 말하며 그렇지 않으면 전체 시스템이 고장 날 수 있다. 대기모드, 복구 모드에 있는 동안 연결된 서버로부터 소프트웨어 또는 하드웨어 구성요소의 기능들을 유지 할 수 있게 한다. 또한 사용자에게 지속적인 서비스 연결을 유지하면서 응답한다. 상시 대기 구성요소는 오디오/비주얼 스위치, 네트워크 프린터, 컴퓨터 및 하드디스크 드라이브 등이 있으며 고장 난 시스템이 정상 작동으로 복귀하는 데 필요한 시간을 대폭 줄인 것으로 100% 시스템 가용성을 제공하지 않도록 설계되었다. 상시 대기 시스템은 1차 시스템으로 동일한 건물, 도시, 다른 국가 등에 적용될 수 있다.
- 구성 방식
가장 단순하면서 많이 사용되는 유형으로 가동(활성) 시스템과 평상시 대기 상태 또는 개발 시스템으로 운영되는 백업 시스템으로 구성. 외장 디스크는 가동 시스템에서만 접근 가능하고 장애 시에만 백업 시스템에서 접근이 가능하다. 2개의 시스템은 통신라인(HA, Heartbeat)을 통해 서로의 상태를 지속적으로 모니터링 한다.
상호 인계
- 구성 방식
2개의 시스템이 각각의 고유한 서비스를 수행하다가 하나의 시스템에 장애가 발생하면 다른 시스템이 장애 발생 시스템으로 작업을 이동하여 업무를 수행하는 방식이다. 장애 발생 시 각 시스템은 2개 분량의 서비스를 동시에 수행할 수 있는 충분한 시스템 용량을 갖추도록 준비해야 한다. 외장 디스크는 각각의 해당 시스템에서만 접근이 가능하다.
병행 수행 접근
- 구성방식
여러 개의 시스템이 동시에 업무를 나누어 병렬 처리 하는 방식으로 시스템 전체가 Active 한 상태로 업무를 수행한다. 시스템 전체가 가동 상태로 업무를 수행하기 때문에 한 시스템에 장애가 발생해도 다른 시스템으로 페일 오버하지 않고도 가용성을 보장한다.[1]
활용
윈도우 장애조치 클러스터
문제점
- 장애 발생으로 시스템이 다운(Down) 되지 않는 경우 페일 오버가 되지 않는다.
- 시스템성능이 저하되는 경우 자동감지가 불능이 된다.
- 데이터베이스 및 어플리케이션이 다운 되는 경우 일반적으로 페일 오버하지 않는다.
- 데이터베이스 및 어플리케이션 자체 오류일 경우 페일 오버는 의미가 없어진다.
- 고가용성 구성에 따른 정보교환으로 시스템의 안정성, 보안성, 성능에 대한 오버헤드(Overhead)가 존재한다.[2]
평가와 전망
참고 자료
- 장애 극복 기능 위키백과 - https://ko.wikipedia.org/wiki/장애_극복_기능
- failover ; 장애 극복 텀즈 - http://www.terms.co.kr/failover.htm
같이보기
- ↑ 고가용성 IT위키 - http://itwiki.kr/w/고가용성
- ↑ 고가용성 IT위키 - http://itwiki.kr/w/고가용성