결함 허용(Fault Tolerance)이란?

  • 어떤 시스템 전체 또는 그 일부의 하드웨어나 소프트웨어 결함에도 불구하고 정상 작동할 수 있는 능력
  • 시스템의 신뢰성을 높이기 위해 여분의 설비를 준비해두고 결함에 대비
  • 결함 허용의 수준을 높이면 시스템의 신뢰성은 높아지지만, 그만큼 경제적 비용과 시스템의 성능 하락 또한 감수해야 하기 때문에 Trade-off한 면이 있다.

측정

시스템이 결함 허용을 어느 수준까지 지원하는지를 측정할 수 있는 기본 척도는 신뢰성(reliability) 과 결함이 발생하기까지의 평균 시간(MTTF: mean time to Failure)**, 가용성(availability)로 결정됨.

  • MTTF(Mean Time To Failure)의 경우 결함이 발생하기까지의 평균시간을 구하는 것이므로 총 수행시간에서 사용한 자원의 수로 나눔
  • 수리 완료까지 평균시간(MTTR: mean time to repair) 도 있는데 결함이 발생한 부품이나 소프트웨어 모듈 수리까지 걸리는 평균 시간을 의미
  • MTTR(Mean Time To Repair)의 경우 총 수리시간에서 수리한 횟수로 나눔

  • 위 사진에서
    • MTTF의 경우 총 운용시간 B1+B2+B3를 사용한 Asset의 수 3으로 나눔
    • MTTR의 경우 수리하는데 걸린 총 시간 A1+A2+A3를 수리한 횟수 3으로 나눔
  • 시스템이나 서비스의 가용성은 해당 시스템이나 서비스가 기동된 후 어느 시점까지의 총 시간 중 사용자의 요청을 서비스할 수 있었던 시간이 얼마나 되는지의 비율로 정의됨
  • 가용성 A는 다음과 같이 표현됨
등급가용성연간 다운타임
항상 가용1.00
결함 허용0.999995분
결함 감내0.999953분
고가용성0.9998.3시간
보통 가용성0.99-0.99544-87시간
  • 위 표는 가용성 수준과 그 수준마다의 연간 다운타임(시스템이 가용하지 않은 시간)
  • 결함 허용까지는 무고장 시스템으로 허용한다.
  • 가용성이 높아도 다운타임과 업타임이 조각나있으면 업타입이 짧아 서비스가 원할히 돌아갈 수 없는 상황이 있을 수도 있으므로 평균 업타임을 더 자세히 볼 수 있는 MTTF가 더 유용한 척도로 활용됨

결함

결함 유형

  1. 영구적(permanent)
    • 영구적으로 존재하는 결함. 수리 전까지 계속 결함상태.
    • 하드웨어의 고장 or 소프트웨어 버그들
  2. 일시적(temporary)
    • 단발적
      • 일시적 전기충격이나 전원 불안정에 의한 전송 오류와 같은 단발적인 결함 유형
    • 간헐적
      • 예상할 수 없을 때 수차례 발생.
      • 접촉 불량 등

여분 설비 추가 기법

결함허용 구축은 여분의 설비(redundancy)를 추가함으로써 이루어진다. 여분 설비 추가 기법은 다음과 같다.

  • 공간적(물리적) 여분 설비
    • 여분의 부품 여러개 설치
    • 여분의 부품이 백업 역할
  • 시간적 여분 설비
    • 오류가 발생했을 때 동일한 기능이나 동작을 계속 반복할 수 있도록 하는 방식
    • 영구적 결함에는 효과가 없지만 일시적 결함에 큰 효과
    • 데이터 전송 중 오류 발생 시 데이터 블록 재전송과 같은 해결방식
  • 정보 여분 설비
    • 데이터 복사, 복구 코드를 데이터에 덧붙이는 방식의 설비

운영체제의 결함 허용 기법

  • 프로세스 분리(Process isolation)
    • 결함을 일으킨 프로세스가 다른 프로세스에 영향을 미치는 것을 막을 수 있게 보호설계
  • 병행성 제어(Concurrency controls)
  • 가상 기계(Virtual machines)
    • 가상 기계를 통한 응용 간 분리
    • 한 응용에서 발생한 결함이 다른 응용으로 옮아가지 못하게 하는 결함 차단도 지원
    • 가상 기계는 여러 개가 동시에 실행될 수 있기 때문에 여분 설비에 의한 결함허용도 해결
  • 체크포인트와 롤백(Checkpoints and rollbacks)
    • 체크포인트
      • 어느 지점으로 돌아오기 위한 상태 정보를 모아놓은 것
    • 롤백
      • 최근의 체크포인트로 돌아가 결함에 대처