Ⅱ-4. 컴퓨터 시스템 장애 전파와 연쇄 장애 분석
컴퓨터 시스템의 장애는 하나의 서버나 장비에서 끝나지 않을 수 있다.
서버, 네트워크, 데이터베이스, 스토리지, 인증 시스템처럼 서로 의존하는 구성에서는 하나의 장애가 다른 시스템의 정상적인 동작에 영향을 주고, 그 영향이 다시 새로운 장애를 발생시키면서 전체 서비스 장애로 확대될 수 있다.
따라서 장애 분석에서는 최초 장애의 원인을 찾는 것뿐만 아니라 장애가 어떤 경로를 따라 확산되었는지와 어디에서 차단할 수 있었는지를 함께 확인해야 한다.
1. 장애 전파와 연쇄 장애의 개념
장애 전파는 특정 구성요소에서 발생한 장애가 다른 구성요소의 정상적인 기능에 영향을 미치는 현상을 의미한다.
연쇄 장애는 이러한 영향이 여러 단계로 이어지면서 성능 저하나 추가 장애가 발생하고, 결국 여러 서비스 또는 시스템의 장애로 확대되는 상황을 말한다.
예를 들어 데이터베이스에 장애가 발생하면 애플리케이션 서버에서 데이터 요청이 지연될 수 있다.
이때 애플리케이션이 완료되지 않은 요청을 계속 보유하거나 재시도하면 처리해야 할 요청이 누적될 수 있고, CPU·메모리·연결 수 등의 자원이 증가하면서 애플리케이션 서버 자체의 장애로 이어질 수 있다.
즉, 최초 장애와 최종 장애가 동일한 원인으로 발생한 것이 아니라 앞선 장애의 영향이 다음 장애의 조건을 만들어내면서 확대될 수 있다.
2. 컴퓨터 시스템에서 장애가 전파되는 주요 경로
장애 전파 경로는 시스템의 의존관계에 따라 달라진다.
대표적인 경로는 다음과 같다.
- 서버 ↔ 데이터베이스
- 애플리케이션 ↔ 인증 서버
- 서버 ↔ 공유 스토리지
- 가상머신 ↔ 하이퍼바이저
- 서비스 ↔ DNS·네트워크
- 여러 서버 ↔ 동일 네트워크 장비
- 여러 서버 ↔ 동일 스토리지
이러한 구조에서는 한 구성요소의 장애가 해당 구성요소에만 영향을 주는 것이 아니라 연결된 다른 시스템의 정상적인 동작까지 제한할 수 있다.
따라서 장애 분석에서는 장비 목록보다 구성요소 사이의 의존관계와 데이터·요청의 흐름을 함께 확인해야 한다.
3. 최초 장애와 2차 장애의 구분
연쇄 장애를 분석할 때 가장 먼저 해야 할 일 중 하나는 최초 장애와 후속 장애를 구분하는 것이다.
예를 들어 스토리지 장애가 먼저 발생했다고 하자.
스토리지에 접근할 수 없게 된 것은 최초 장애의 직접적인 영향이다.
그 결과 데이터베이스 응답이 지연되고, 애플리케이션 요청이 증가하며, 서버 자원이 고갈되어 애플리케이션까지 장애가 발생했다면 이는 후속 장애로 구분할 수 있다.
이를 구분하지 않으면 장애의 원인과 결과가 뒤섞일 수 있다.
특히 장애 대응 과정에서 나중에 발생한 장애만 확인하면 실제 최초 원인을 놓치고 잘못된 장비를 교체하거나 설정을 변경하는 상황이 발생할 수 있다.
따라서 장애 발생 시간과 로그의 순서를 기준으로 무엇이 먼저 발생했고 무엇이 그 결과로 발생했는지를 구분해야 한다.
4. 장애 전파와 시스템 의존성
장애 전파 가능성을 판단하려면 시스템 간 의존성을 확인해야 한다.
예를 들어 여러 애플리케이션이 하나의 데이터베이스를 공유한다면 데이터베이스 장애가 여러 서비스에 동시에 영향을 줄 수 있다.
또한 여러 서버가 동일한 네트워크 경로를 사용한다면 네트워크 장애 하나가 여러 서버의 통신 장애로 확대될 수 있다.
이러한 구조에서 중요한 것은 단순히 연결되어 있는지 여부가 아니다.
한 시스템이 정상적으로 동작하기 위해 다른 시스템의 정상 상태를 반드시 필요로 하는가를 확인해야 한다.
의존성이 높을수록 장애가 다른 시스템으로 전달될 가능성과 영향 범위도 함께 검토해야 한다.
5. 장애 이후 부하 집중에 따른 연쇄 장애
연쇄 장애는 단순한 장애 전파만으로 발생하는 것이 아니다.
장애 이후 정상 시스템으로 부하가 집중되는 현상도 중요한 원인이 될 수 있다.
예를 들어 두 대의 서버가 트래픽을 분산 처리하고 있는 상태에서 한 대가 장애를 일으키면 나머지 한 대가 기존보다 많은 요청을 처리해야 한다.
평상시에는 충분했던 CPU와 메모리, 네트워크, 연결 수 등의 처리 여유가 장애 이후에는 부족해질 수 있다.
그 결과 남은 서버가 과부하 상태에 빠지고 다시 서비스 장애가 발생할 수 있다.
따라서 이중화 시스템을 분석할 때는 한 대가 고장 난 이후 남은 시스템이 실제 부하를 감당할 수 있는가를 확인해야 한다.
6. 자동 장애조치에 따른 영향 확대
자동 장애조치는 장애가 발생한 시스템의 업무를 다른 시스템으로 전환하여 서비스 중단을 줄이기 위한 중요한 기능이다.
그러나 장애조치 자체가 새로운 부하나 문제를 발생시키는 경우도 있다.
예를 들어 장애 서버의 업무가 대기 서버로 모두 이전되었는데 대기 서버의 처리능력이 충분하지 않다면 장애조치 이후 과부하가 발생할 수 있다.
데이터 동기화가 완전하지 않은 상태에서 전환이 이루어지는 경우에는 데이터 정합성 문제도 발생할 수 있다.
따라서 자동 장애조치를 분석할 때는 다음 항목을 함께 확인해야 한다.
- 장애 감지 조건
- 장애조치 발생 조건
- 전환 대상 시스템의 처리능력
- 데이터 동기화 상태
- 장애조치 후 부하 증가
- 장애조치 실패 가능성
- 반복적인 장애조치 발생 여부
특히 장애조치가 성공했다는 사실과 서비스가 안정적으로 복구되었다는 사실은 동일하지 않다.
전환 이후 시스템이 실제로 안정된 상태를 유지했는지까지 확인해야 한다.
7. 장애 전파 분석 방법
장애 전파는 최초 장애에서 시작하여 시간 순서와 시스템 의존관계를 따라가면서 분석할 수 있다.
1단계: 최초 장애 확인
어떤 구성요소에서 처음 이상이 발생했는지 확인한다.
2단계: 직접 영향 확인
최초 장애로 인해 즉시 영향을 받은 시스템을 확인한다.
3단계: 의존 시스템 확인
직접 영향을 받은 시스템이 어떤 다른 시스템에 의존하고 있는지 확인한다.
4단계: 부하 변화 확인
장애 이후 CPU, 메모리, 네트워크, 스토리지 I/O, 연결 수 등의 변화를 확인한다.
5단계: 2차 장애 확인
부하 증가나 의존성으로 인해 추가적으로 발생한 장애를 확인한다.
6단계: 전체 영향 범위 확인
최초 장애부터 최종 서비스 장애까지의 전파 경로를 연결한다.
이렇게 분석하면 단순히 “A 장비가 고장났다”에서 끝나는 것이 아니라 “A의 장애가 B에 영향을 주었고, B의 상태 변화가 C의 장애를 유발했다”는 형태로 장애의 흐름을 확인할 수 있다.
8. 장애 전파를 정량적으로 분석하는 방법
장애 전파는 필요에 따라 확률을 이용하여 정량적으로 분석할 수도 있다.
최초 장애 A가 발생할 확률을 P(A), A가 발생했을 때 B로 장애가 전파될 조건부 확률을 P(B|A)라고 하면 다음과 같이 표현할 수 있다.
P(A ∩ B) = P(A) × P(B|A)
여러 단계의 장애가 순차적으로 발생하는 경우에도 각 단계의 조건부 확률을 이용하여 특정 전파 경로의 발생 가능성을 추정할 수 있다.
다만 실제 컴퓨터 시스템에서는 장애 간의 독립성이 항상 보장되는 것은 아니다.
동일한 전원, 네트워크, 스토리지, 소프트웨어 또는 운영 환경을 공유한다면 장애 사이에 의존성이 존재할 수 있다.
따라서 실제 시스템에서는 단순히 확률을 곱하는 것보다 공통원인고장, 시스템 의존성, 부하 변화, 장애조치 방식 등을 함께 고려해야 한다.
9. 장애 전파와 SPOF의 관계
SPOF는 하나의 구성요소가 장애를 일으켰을 때 시스템 전체 또는 중요한 서비스에 영향을 줄 수 있는 단일 장애점이다.
반면 장애 전파 분석은 최초 장애가 발생한 이후 그 영향이 어떤 경로를 통해 다른 시스템으로 확대되는지를 확인하는 것에 초점이 있다.
두 분석은 서로 다른 관점을 제공한다.
SPOF 분석에서는 “어디 하나가 고장 나면 전체가 영향을 받는가?”를 확인한다.
장애 전파 분석에서는 “하나의 장애가 발생한 후 어디까지 영향을 확대시킬 수 있는가?”를 확인한다.
따라서 SPOF가 없더라도 복잡한 의존관계와 부하 집중으로 연쇄 장애가 발생할 수 있다.
10. 장애 전파와 공통원인고장의 관계
공통원인고장은 하나의 공통된 원인으로 여러 구성요소가 동시에 또는 연속적으로 영향을 받는 현상이다. 신뢰성 분석에서도 공통원인으로 인한 구성요소 간 의존성은 이중화 효과를 감소시키는 중요한 요소로 다뤄진다.
장애 전파와 공통원인고장은 서로 관련되어 있지만 동일한 개념은 아니다.
예를 들어 서버 A의 장애가 서버 B에 영향을 주었다면 A에서 B로 장애가 전파된 것으로 볼 수 있다.
반면 동일한 전원 장애 때문에 서버 A와 서버 B가 동시에 장애를 일으켰다면 공통원인고장에 해당할 수 있다.
따라서 장애 분석에서는
하나의 장애가 다른 시스템으로 전달된 것인지
또는
하나의 공통 원인이 여러 시스템에 동시에 영향을 준 것인지
를 구분해야 한다.
11. 장애 전파 분석에 필요한 데이터
실제 장애 전파를 분석하려면 시스템 구조와 시간정보를 함께 확보해야 한다.
주요 자료는 다음과 같다.
- 시스템 구성도
- 네트워크 구성도
- 서버 간 의존관계
- 데이터베이스 연결정보
- 스토리지 연결구조
- 인증 및 DNS 의존관계
- 장애 발생 시간
- 로그 발생 시간
- CPU·메모리 사용량
- 네트워크 트래픽
- 저장장치 I/O
- 장애조치 기록
- 서비스 응답시간
- 복구 완료 시간
특히 시간정보가 중요하다.
장애 발생 시각과 로그 발생 시각, 자원 사용량 변화를 같은 시간축에서 비교하면 최초 장애와 후속 장애를 구분하는 데 도움이 된다.
12. 연쇄 장애의 주요 분석 지표
장애 전파를 장기적으로 관리하려면 장애가 발생했는지만 기록해서는 부족하다.
다음과 같은 지표를 함께 관리할 수 있다.
- 최초 장애 발생 빈도
- 2차 장애 발생 빈도
- 장애 전파 단계 수
- 영향받은 시스템 수
- 장애 확산에 걸린 시간
- 서비스 영향 지속시간
- 장애조치 성공률
- 장애조치 후 추가 장애 발생률
- 최대 장애 영향 범위
- 전체 복구 완료 시간
특히 최초 장애 발생부터 다른 서비스에 영향이 나타날 때까지의 시간을 기록하면 장애가 얼마나 빠르게 확대되는지 비교할 수 있다.
이러한 기록은 이후 장애 대응 시간을 줄이고 장애 격리 지점을 찾는 데 활용할 수 있다.
13. 장애 전파를 줄이기 위한 시스템 설계
장애 전파를 줄이는 기본 방향은 장애가 발생하더라도 그 영향이 다른 시스템으로 쉽게 확대되지 않도록 하는 것이다.
대표적인 방법은 다음과 같다.
- 시스템 간 불필요한 의존성 최소화
- 중요 서비스의 독립된 자원 구성
- 네트워크 구간 분리
- 장애 격리 구조 적용
- 서버와 스토리지의 의존성 검토
- 충분한 부하 여유 확보
- 적절한 장애조치 기준 설정
- 장애 발생 시 자동 확산을 제한하는 제어
- 백업 및 복구체계 확보
- 정기적인 장애 시나리오 시험
여기서 중요한 것은 장애를 완전히 없애는 것만이 목표가 아니라는 점이다.
현실적인 시스템에서는 모든 장애를 예방하기 어렵기 때문에 장애가 발생하더라도 영향 범위를 제한하고, 다른 시스템으로 확산되기 전에 차단할 수 있는 구조를 갖추는 것이 중요하다.
14. 장애 전파 분석에서 확인해야 할 핵심 질문
실제 시스템을 분석할 때는 다음 질문을 중심으로 확인할 수 있다.
- 최초 장애는 어디에서 발생했는가?
- 최초 장애의 직접적인 영향은 무엇인가?
- 어떤 시스템이 최초 장애에 의존하고 있는가?
- 장애 이후 부하는 어느 시스템으로 집중되었는가?
- 자동 장애조치가 추가적인 부하를 발생시켰는가?
- 동일한 자원을 공유하는 시스템은 무엇인가?
- 2차 장애는 최초 장애 이후 얼마나 지나서 발생했는가?
- 장애는 몇 단계까지 확산되었는가?
- 장애가 다른 시스템으로 넘어가기 전에 차단할 수 있었던 지점은 어디인가?
- 동일한 연쇄 장애가 다시 발생할 가능성을 어떻게 낮출 것인가?
15. 컴퓨터 시스템 장애 분석에서의 활용
장애 전파와 연쇄 장애 분석은 단순히 장애의 원인을 찾는 데서 끝나지 않는다.
서버 이중화, SPOF, 공통원인고장, 장애조치, 장애 격리, 백업 및 재해복구를 함께 살펴보면 하나의 장애가 전체 서비스 장애로 확대되는 과정을 보다 체계적으로 파악할 수 있다.
결국 중요한 것은 “어떤 장비가 고장났는가”만 확인하는 것이 아니다.
그 장애가 발생한 이후
어떤 시스템으로 영향이 이동했는가?
왜 그 시스템은 영향을 받을 수밖에 없었는가?
어디에서 장애를 차단할 수 있었는가?
를 확인해야 한다.
이러한 관점에서 보면 연쇄 장애 분석의 목적은 장애가 발생하지 않는 시스템을 만드는 것만이 아니라, 장애가 발생하더라도 전체 시스템으로 확대되지 않도록 영향의 범위를 제한하는 것에 있다.
핵심정리
- 장애 전파는 한 구성요소의 장애가 다른 구성요소에 영향을 주는 과정이다.
- 연쇄 장애는 이러한 영향이 여러 단계로 이어지면서 장애 범위가 확대되는 현상이다.
- 최초 장애와 후속 장애를 시간 순서에 따라 구분해야 실제 원인과 결과를 정확하게 판단할 수 있다.
- 이중화가 되어 있어도 장애 이후 남은 시스템에 부하가 집중되면 추가 장애가 발생할 수 있다.
- SPOF는 장애가 시작될 수 있는 취약 지점, 장애 전파 분석은 장애가 발생한 뒤 영향이 확대되는 경로를 확인하는 관점이다.
- 공통원인고장은 여러 시스템에 동시에 영향을 주는 공통 원인을 찾는 것이고, 장애 전파는 한 장애가 다른 시스템으로 전달되는 과정을 추적하는 것이다.
- 최종적으로 확인해야 할 것은 “장애가 발생했는가?”가 아니라 “장애가 어디까지 전파되었고, 어디에서 차단할 수 있었는가?”이다.
위 분석으로 연결되며, 컴퓨터 시스템의 복원력과 서비스 연속성을 평가하는 기초 자료가 된다.




댓글 0
첫 댓글을 남겨보세요.