장애 (정보통신)

해시넷
218.146.11.108 (토론)님의 2020년 8월 4일 (화) 17:16 판
이동: 둘러보기, 검색

장애란 정보통신(ICT) 분야에서 사용되는 의미로 하드웨어나 소프트웨어 시스템에서 결함 즉 오류를 이야기한다.

개요

흔히 서버에 많은 접속자가 몰려 게임에 접속이 안되거나 웹 사이트에 접속자가 몰려 네트워크의 속도가 지연되고 에러가 발생한다는 이야기를 한번쯤은 들어 보았을것이다. 또 물리적인 장치가 내부의 결함으로 인해 작동이 되지않을때도 있다. 이러한 모든것을 정보통신의 장애라고 흔히 이야기한다. 하드웨어에서 장애가 발생 할 수도있고 반대로 소프트웨어(서버,코딩)부분에서도 장애가 발생할 수 있다. 최근 4차산업혁명이 대두대면서 사물인터넷(IOT)기술들이 발전되고 있다. 헬스케어, 스마트워치,GPS 등이 여기에 해당된다. 사물인터넷의 확장에 따라 장애 허용 시스템 FTS(Fault tolerant system)이 발달 하게 되었다. 장애 허용 시스템은 하드웨어나 소프트웨어 시스템에서 결함, 장애(Fault)가 발생하여도 정상적인 운영을 할 수 있도록 만든 시스템이다. 장애 발생시 어느 한 부분에서의 기능이 마비되고 지속적으로 반복될 경우 부품의 기능을 점점 사용하지 못하여 마지막에는 시스템이 정지하게된다. 장애 허용 시스탬은 단계별로 성능이 저하되는 특징을 가지고 있으며 장애 허용 시스템이 없는 일반 시스템에서는 어느 한 부분만 고장나도 제대로 사용을 할 수 없는 문제가 나타난다. [1] 이런 기능을 보안하기 위해 장애 허용 시스템 즉 결함 허용 시스템이 탄생하게 되었다. 즉 장애 허용 시스템은 시스템 장애 발생시에 관리자가 조치를 하는동안 정상 상태와 마찬가지로 구동할 수 있돌록 해주는 것이다. 장애 문제가 지속되면 다른 시스템의 결함 까지 이어져 치명적인 시스템 손상을 일으킬 수 있다. 따라서 시스템의 사용 불가를 대비할 수 있는 시간을 최대한 확보해 주는 것이 장애 허영 시스템의 핵심 기술이다. 장애 허용 시스템은 시스템의 가동률을 극대화 시켜주며 대이터의 무결성과 일관성을 지원하고 전력선 배분 시스템이나 신호등 제어 시스템처럼 사회 기반 시설에 가장 많이 적용되고 있는데 비행기나 배에서 사용하는 항로 제어 시스템에도 장애 허용 시스템이 적용된다.보통 고장이 발생하면 인명이나 재산에 피해를 일으키는 안전 필수 및 임무 필수 분야에 적용되는 임베디드 시스템이다. [2]


구성단계

장애 허용 시스템
단계 내용
1.장애감지 하드웨어로 구서오딘 비교기를 통하여 수행된다.
시스템 내에서 장애가 발생되면 해당 모듈 또는 시스템은 장애 상태로 들어가게 되고 운영체제는 각 모든 하드웨어 모듈들의 상태를 분석하여 어느 모듈이 장애를 유발시켰는지 분석하여 알아낸다
2. 장애진단 장애가 일시적인것인지 영구적인것인지 판단하여 영구적인 경우
해당 모듈을 시스템 구성에서 제거한다
3. 장애복구 장애를 유발한 모듈을 시스템에서 제거하여 시스템을 재구성한다.
[3]

실현기술

구분 실현기술 상세내용
하드웨어 기술 듀얼 모듈 기법 하드웨어를 중복하여 그 출력을 비교하여 결함을 감지
듀얼 모듈 기법 하드웨어를 중복하여 그 출력을 비교하여 결함을 감지
트리플 모듈 기법 3개 이상의 모듈에서 같은 입력에 대해 동일한 연산을 수행하여 다수결의 원칙 기반 결함을 감지
와치독 타이머 정상 작동 시 주기적으로 타이머를 초기화시켜 시스템 결함 여부를 감지
자동화 삭제 기법 N개의 하드웨어에서 출력 결과가 다른 하드웨어의 계산과정을 배제
소프트 웨어 기술 체크 포인트 소프트웨어 수행 중 검사 시점을 설정하여 오류가 발견되면 발생 이전의 검사 시점으로 돌아가서 재수행
리커버리 백 재수행에 근거하여, 검사시점에서 오류가 발견되면 지정된 이전 검사점으로 되돌아가서
같은 기능을 가진 다른 소프트웨어 모듈을 수행
N-자동화 체크 프로그램 둘 이상의 자동화-체크 컴포넌트가 수행되며 하나는 기능 수행, 다른 하나는 대기 상태로,
결함 발견 시 대기 상태의 컴포넌트가 수행
N 버전 프로그래밍 N개의 독립적인 SW 모듈 수행 결과를 비교하여 다수의 수행결과를 채택
데이터 베이스 기술 롤백 장애 발생 시 데이터베이스에 대한 모든 변경사항, 데이터 변경이 되지않은 연산에 대한 작업 취소
체크 포인트 로그 파일에 체크포인트를 기록하고 장애 발생 시 검사점 이전에 처리된 트랜잭션은 회복 작업에서 제외하고 이후에 처리된 내용에 대해서만 회복 작업을 수행
쉐도우 페이징 연산 작업 실행동안 수행 메모리 테이블과 그림자 메모리 테이블을 유지하여 필요 시 회복 작업 수행
로그 파일 데이터 변경이 되지 않은 작업을 로그 파일 기반 회복
데이터 기술 패리티 코드 2진 데이터 중 “1”의 개수를 홀수 또는 짝수로 규정하여 결함을 감지
체크 썸 하나의 블록 정보 합 기반 정보 결함 감지
버거코드 하나의 Data 중 “1”의 개수를 2진 정보로 추가
해밍코드 결함 감지 및 단일 결함을 교정하는 코드 기법
[4]

복구방식

  • 롤백 방식
    복제방식 그림
시스템이 고장난 시점의 이전 상태로 되돌리는것을 말한다. 시스템이 정상 상태로 작동될때 스냅샷 방식으로 데이터를 저장하고 이후 문제가 발생된다면 특정 시점의 스냅샷을 찾아 저장한 시점으로 돌아가 데이터를 복구한다.
  • 이중화 방식
    다중화방식 그림
이중화 방식은 복제((Replication), 다중화(Redundancy), 다양화(Diversity) 방식으로 3가지로 나뉘게 된다.
복제방식 그림
  • 복제: 같은 시스템을 복사하여 병렬 방식으로 준비하고 다수의 시스템에 가장 적합한 결과를 선택한다. 하나의 값으로 시스템이 작동하다가 문제가 생기더라도 이미 작동 중인 다른 시스템에서 제대로 된 값을 찾아 채택하는 것이다.
  • 다중화 방식: 같은 시스템을 멀티(2개이상)로 준비하고 구동한다. 마스터-슬레이브(Master-Slave) 방식, 또는 액티브-스탠바이 방식으로 흔히 이야기 한다. 상위계층이 문제가 생겼을시 하위계층 시스템을 작동시킨다. 현재 서버시스템에서 가장많이 사용하는 방식이다.
  • 다양화 방식: 같은 성능 이지만 서로 다른 하드웨어를 여러개 준비하고 복제 방식과 동일하게 진행된다. 서로 다른 하드웨어이기 때문에 같은 장애가 발생하지 않으며 문제발생시 장애를 올바르게 복구 할 수있다.

활용

인터넷 사물에서 사용할 수 있는 장애 허용 시스템의 방식은 위에서 언급한 방식들 중 이중화 방식의 복제와 다중화 방식이다. 복제 방식의 경우 인터넷 사물시스템에서 장애로 인해 잘못된 값을 생산하는 것을 막을 뿐만이 아니라 정상적인 상황에서도 생성된 값의 보정 역할을 할 수 있다는 장점이 있다. 다만 동일한 시스템을 2개 이상 준비해서 운용해야 하기 때문에 실제로 시스템에 들어가는 자원의 소모가 많다는 단점이 존재한다. 인터넷 사물 시스템이 대부분 임베디드 시스템을 기반으로 하기 때문에 일반 PC 처럼 시스템 자원을 폭넓게 사용할 수 있는 환경은 아니다. 제한적인 자원을 이용하기 때문에 복제 방식을 이용하게 되면 자원 사용에 대한 효율성 문제가 생기게 된다. 다중화 방식의 경우 동일한 시스템을 2대(혹은 3대 정도)정도 운영하지만 메인으로 사용되는 시스템에 주력 자원이 들어가고 나머지는 대기 자원이 들어가기 때문에 복제 방식보다는 자원 효율성은 좋은 편이다. 하지만 시스템 자체에서 생긴 문제로 인한 잘못된 데이터 생산이 일어날 수 있다는 문제는 존재한다다. 장애 허용 시스템을 도입하는 입장에서 복제 방식이 성능적인 면에서 다중화 방식보다 우수하지만 시스템 환경의 제약으로 인해 복제 방식보다는 다중화 방식을인터넷 사물 시스템에서 많이 사용하고 있다.과거 장애 허용 시스템은 서버 시스템에서 지속적인 서비스 유지를 위해서 이중화 시스템(다중화 방식을 이용한) 방식으로 많이 이용했다. 그리고 이제는 그 영역을 클라이언트로 넓히게 되었고 단순한 PC나 노트북, 스마트폰과 같은 클라이언트를 포함하여 센서, 웨어러블 시스템, 그 외의 다양한 임베디드 시스템에 도입되기 시작했다. 인터넷 사물로 그 영역이 확대되면서 지속적으로 정확한 데이터를 수집해야 하는 시스템 영역에서 장애 허용 시스템의 역할은 더 커지고 있다. 앞서 소개했던 자동차 분야에서도 인터넷 사물이 도입되기 시작했는데 차량 제어 부분에 있어서 시스템의 장애로 인해 잘못된 데이터가 생성되게 되면 그 피해가 엄청나게 커지게 될 것이다. 때문에 부분에 장애 허용 시스템은 옵션이 아닌 필수 기능으로 곧 자리를 잡게 될 것으로 보인다.[2]


각주

  1. 장애 허용 시스템 위키디피아 -https://ko.wikipedia.org/wiki/%EC%9E%A5%EC%95%A0_%ED%97%88%EC%9A%A9_%EC%8B%9C%EC%8A%A4%ED%85%9C
  2. 2.0 2.1 스마트 학주니, 〈IoT에서 활용하는 장애허용시스템. 이제는 옵션이 아닌 필수 기술이 되어가고 있는데..〉,《학주니 닷컴》, 2015-04-15
  3. 낭만온달, 〈[기술사/토픽-IS플랫폼 결함허용시스템(Fault Tolerant System)]〉, 《티스토리》, 2018-11-26
  4. 도리 , 〈결함허용시스템 (FTS, Fault Tolerant System)〉, 《에스케이비 블로그》, 2020-03-20

참고자료

같이 보기