Ⅴ-13. 컴퓨터 시스템 변경 전후 비교와 장애 원인 검증
변경 전후 비교와 장애 원인 검증
컴퓨터 시스템의 장애를 분석하다 보면 장애 발생 직전 운영체제, 드라이버, 애플리케이션, 네트워크, 하드웨어 또는 설정이 변경된 경우를 자주 확인하게 된다.
이 때문에 장애 분석에서는 **“최근에 무엇이 변경되었는가?”**라는 질문이 중요하다.
그러나 변경 직후 장애가 발생했다는 사실만으로 해당 변경을 원인이라고 확정해서는 안 된다.
같은 시간대에 사용자 증가, 작업량 변화, 네트워크 트래픽 증가, 다른 시스템 변경 등이 함께 발생했을 수 있기 때문이다.
따라서 변경 분석의 핵심은 단순히 변경 전과 후를 비교하는 것이 아니다.
무엇이 바뀌었는가 → 언제 바뀌었는가 → 어디에 영향을 줄 수 있는가 → 변경 후 무엇이 달라졌는가 → 그 변화가 실제 장애 과정과 연결되는가
를 확인해야 한다.
1. 변경 전후 비교가 필요한 이유
컴퓨터 장애는 특정 변경 이후 처음 나타나거나 이전과 다른 형태로 나타날 수 있다.
대표적인 변경에는 다음과 같은 것들이 있다.
- 운영체제 업데이트
- 보안 패치
- 드라이버 변경
- 애플리케이션 업데이트
- BIOS 또는 펌웨어 변경
- 하드웨어 교체
- 네트워크 설정 변경
- 저장장치 구성 변경
- 보안 정책 변경
- 시스템 설정 변경
이러한 변경이 장애와 관련되어 있다면 변경 전의 정상 상태와 변경 후의 상태 사이에 차이가 나타날 가능성이 있다.
따라서 변경 전후 데이터를 비교하면 장애 원인 후보를 좁히는 데 도움이 된다.
하지만 가장 중요한 원칙은 다음과 같다.
변경이 먼저 발생했다 ≠ 변경이 원인이다.
변경은 우선적으로 조사할 가치가 높은 후보이지, 처음부터 확정된 원인이 아니다.
2. 변경 시간과 장애 시간을 하나의 시간축에서 비교한다
변경과 장애의 관계를 분석할 때는 최소한 다음 세 가지 시간을 확인하는 것이 좋다.
- 시스템 변경 시간
- 최초 이상징후 발생 시간
- 실제 장애 발생 시간
예를 들어 다음과 같은 순서가 확인되었다고 하자.
10:00 드라이버 변경 → 10:15 I/O 지연 증가 → 10:20 서비스 오류 발생
이 경우 드라이버 변경은 중요한 원인 후보가 될 수 있다.
반대로
10:00 서비스 이상 발생 → 10:05 장애 발생 → 10:30 드라이버 변경
이라면 해당 드라이버 변경을 최초 원인으로 보기는 어렵다.
따라서 변경 분석에서는 단순히
“변경 후 장애가 발생했다.”
라고 기록하는 것보다,
“변경 이후 어떤 이상이 언제 처음 나타났고, 그 이상이 장애로 어떻게 이어졌는가?”
를 확인해야 한다.
3. 변경 전 정상 상태를 기준선으로 확보한다
변경 후 상태만 확인하면 실제로 무엇이 달라졌는지 판단하기 어렵다.
따라서 가능하다면 변경 전 정상 상태의 데이터를 기준선으로 확보해야 한다.
예를 들어 저장장치 드라이버를 변경했다면 다음과 같은 항목을 비교할 수 있다.
| 항목 | 변경 전 | 변경 후 |
|---|---|---|
| I/O 지연시간 | 정상 범위 | 증가 여부 |
| I/O 오류 | 낮음 또는 없음 | 증가 여부 |
| 시스템 응답시간 | 정상 범위 | 변화 여부 |
| 관련 이벤트 로그 | 정상 | 새로운 오류 발생 여부 |
| CPU·메모리 상태 | 정상 | 변화 여부 |
| 서비스 상태 | 정상 | 오류 또는 지연 여부 |
여기서 중요한 것은 단순한 숫자 차이가 아니다.
변경 후 나타난 변화가 장애와 시간적으로 연결되어 있고, 정상 상태에서는 나타나지 않았던 변화인지를 확인해야 한다.
4. 변경의 영향 범위를 먼저 확인한다
모든 변경이 시스템 전체에 영향을 주는 것은 아니다.
| 변경 대상 | 주요 영향 범위 |
|---|---|
| 드라이버 | 특정 장치와 관련 기능 |
| OS 패치 | 운영체제 및 여러 서비스 |
| 애플리케이션 업데이트 | 해당 애플리케이션과 관련 서비스 |
| BIOS·펌웨어 | 하드웨어 초기화 및 동작 조건 |
| 네트워크 설정 | 특정 통신 경로와 연결 기능 |
| 저장장치 구성 | 데이터 접근 및 I/O 경로 |
| 보안 정책 | 접근·실행·통신 등의 정책 |
| 하드웨어 교체 | 해당 장치와 연결된 기능 |
따라서 장애가 발생한 영역과 변경된 영역이 실제로 연결되어 있는지를 먼저 확인해야 한다.
예를 들어 특정 애플리케이션에서만 장애가 발생했는데 변경된 내용이 해당 애플리케이션과 무관한 영역이라면 해당 변경의 우선순위를 낮출 근거가 될 수 있다.
반대로 변경된 드라이버가 장애가 발생한 장치를 직접 제어한다면 추가 검증의 우선순위가 높아진다.
5. 변경 직후뿐 아니라 변경 이후의 전체 경과를 확인한다
변경 후 바로 장애가 발생하지 않았다고 해서 변경과 무관하다고 단정해서도 안 된다.
일부 문제는 특정 작업량이나 특정 기능이 실행된 이후에 나타날 수 있기 때문이다.
예를 들어 다음과 같은 흐름이 가능하다.
드라이버 변경 → 정상 운영 → 특정 I/O 작업 증가 → 응답시간 증가 → 서비스 오류
따라서 변경 분석에서는 변경 직후의 상태만 보는 것이 아니라 변경 이후 정상적으로 운영된 기간과 장애가 발생하기 직전의 상태까지 함께 확인해야 한다.
이렇게 해야 변경과 장애 사이에 시간적 간격이 있는 경우에도 관련성을 놓치지 않을 수 있다.
6. 변경 대상과 관련된 성능 데이터를 비교한다
변경사항이 장애와 관련되어 있는지 확인하려면 변경 전후의 주요 성능 데이터를 비교하는 것이 유용하다.
예를 들어 저장장치 관련 변경이 있었다면 다음과 같은 항목을 비교할 수 있다.
- I/O 지연시간
- IOPS
- 처리량
- I/O 대기
- 오류 발생 빈도
- 서비스 응답시간
하지만 모든 지표가 동시에 변해야 하는 것은 아니다.
특정 변경이 특정 경로에만 영향을 준다면 관련된 지표만 변화할 수도 있다.
따라서 변경 대상과 장애 경로에 관련된 지표를 선택하여 비교하는 것이 중요하다.
7. 로그와 이벤트에서 새로운 변화가 나타났는지 확인한다
성능 데이터만 비교해서는 부족할 수 있다.
변경 이후 새로운 오류 코드나 이벤트가 발생했는지도 확인해야 한다.
예를 들어
변경 전 → 관련 오류 없음
변경 후 → 특정 장치 오류 반복
과 같은 차이가 확인된다면 해당 변경과 장치 상태 사이의 관계를 추가 조사할 근거가 된다.
그러나 로그가 변경 후 처음 발생했다는 사실만으로 원인을 확정해서는 안 된다.
해당 로그가 실제 원인인지, 다른 장애로 인해 발생한 2차 오류인지도 함께 확인해야 한다.
이 부분은 앞에서 살펴본 로그 기반 원인 분석과 연결된다.
8. 변경과 동시에 발생한 다른 조건을 확인한다
변경 분석에서 쉽게 놓치는 부분이 동시에 발생한 다른 변화다.
예를 들어 다음과 같은 상황이 있었다고 하자.
- 애플리케이션 업데이트
- 사용자 수 증가
- 네트워크 트래픽 증가
- 저장장치 사용량 증가
이 네 가지가 같은 시간대에 발생했다면 애플리케이션 업데이트만 원인이라고 판단하기 어렵다.
따라서 변경 전후 비교에서는 다음과 같은 항목도 함께 확인해야 한다.
- 사용자 수
- 요청량
- CPU 부하
- 메모리 상태
- 네트워크 트래픽
- 배치 작업
- 데이터 증가
- 다른 시스템 변경
- 외부 시스템 상태
즉, 변경사항 자체뿐 아니라 변경과 함께 달라진 조건까지 비교해야 한다.
9. 변경 전후 비교와 함께 비교 대상을 활용한다
변경의 영향을 판단할 때는 변경하지 않은 비교 대상을 함께 보는 것이 유용하다.
예를 들어 동일한 환경에서 한 서버에만 드라이버 업데이트를 적용하고 다른 서버에는 적용하지 않았다고 하자.
업데이트한 서버에서만 동일한 장애가 발생하고 업데이트하지 않은 서버에서는 발생하지 않는다면 변경사항과 장애의 관계를 뒷받침하는 중요한 비교 자료가 될 수 있다.
다만 두 서버의 하드웨어, 부하, 데이터, 설정 등이 완전히 동일하지 않다면 이러한 차이도 함께 고려해야 한다.
따라서 비교 대상이 있다는 사실 자체보다 비교 조건이 얼마나 유사한가가 중요하다.
10. 변경사항의 영향 경로를 따라간다
변경 분석은 단순히 변경 목록을 확인하는 것에서 끝나서는 안 된다.
변경된 구성요소가 실제 장애가 발생한 기능과 어떤 경로로 연결되는지 확인해야 한다.
예를 들어
드라이버 변경 → 저장장치 I/O 경로 → 파일 처리 → 애플리케이션 응답
과 같은 관계가 있다면 드라이버 변경과 애플리케이션 장애 사이의 연결을 조사할 수 있다.
반대로 변경된 구성요소가 장애 기능과 직접적인 의존관계가 없다면 해당 변경을 최우선 원인으로 볼 근거는 약해진다.
따라서 변경 분석은 앞에서 살펴본 구성요소 의존관계와 장애 전파 경로 분석과 함께 사용해야 한다.
11. 원인과 결과를 구분한다
변경 이후 여러 가지 이상이 나타날 수 있지만 그중 일부는 실제 원인이 아니라 장애의 결과일 수 있다.
예를 들어
변경 → 저장장치 지연 → 애플리케이션 처리 지연 → CPU 상태 변화
라는 흐름이 있다면 CPU 변화는 장애 과정에서 관찰되지만 최초 원인이 아닐 수 있다.
따라서 변경 전후 비교에서도 단순히 가장 크게 변한 지표를 찾는 것이 아니라
변경 → 최초 이상 → 중간 영향 → 최종 장애
의 흐름을 확인해야 한다.
이것이 단순한 전후 비교와 실제 원인 분석의 차이다.
12. 여러 증거를 함께 비교하여 원인 가능성을 평가한다
변경사항이 장애 원인일 가능성을 평가할 때는 하나의 증거보다 여러 증거를 함께 보는 것이 중요하다.
| 확인 항목 | 판단에 사용하는 질문 |
|---|---|
| 시간 관계 | 변경이 최초 이상보다 먼저 발생했는가? |
| 영향 범위 | 변경된 영역과 장애 영역이 연결되어 있는가? |
| 전후 차이 | 변경 후 이전에 없던 변화가 나타났는가? |
| 반복성 | 동일 변경에서 비슷한 장애가 반복되는가? |
| 비교 대상 | 변경하지 않은 환경에서는 문제가 없는가? |
| 롤백 결과 | 이전 상태로 돌아갔을 때 장애가 감소하는가? |
| 의존관계 | 변경된 구성요소가 장애 경로에 포함되는가? |
| 다른 변화 | 동시에 발생한 다른 조건은 없는가? |
이 가운데 하나만으로 원인을 확정하기보다 여러 증거가 같은 방향을 가리키는지를 확인해야 한다.
13. 롤백은 중요한 검증 방법이지만 단독 증거로 사용하지 않는다
변경사항이 중요한 원인 후보로 판단되면 가능하고 안전한 환경에서 이전 상태로 되돌린 뒤 장애 상태의 변화를 확인할 수 있다.
예를 들어
변경 적용 → 장애 발생
이후
이전 상태 복구 → 장애 감소 또는 정상화
가 반복적으로 확인된다면 변경과 장애 사이의 관계를 뒷받침하는 중요한 증거가 될 수 있다.
그러나 롤백 과정에서는 설정, 캐시, 프로세스 상태, 서비스 재시작 등 다른 조건도 함께 달라질 수 있다.
따라서
롤백 후 정상화 = 변경사항이 원인이라고 즉시 확정
해서는 안 된다.
가능하다면 동일 조건에서 변경 적용과 이전 상태를 반복 비교하거나 별도의 검증 환경에서 추가 확인하는 것이 좋다.
14. 변경이 없었다는 사실도 분석 대상이다
변경 이력이 없다고 해서 장애 원인이 없거나 분석할 필요가 없는 것은 아니다.
컴퓨터 시스템의 장애는 변경 없이도 발생할 수 있다.
예를 들어
- 하드웨어 열화
- 저장장치 상태 변화
- 사용자 또는 작업량 증가
- 데이터 증가
- 외부 시스템 변화
- 네트워크 환경 변화
- 장시간 누적된 자원 사용
- 일시적인 환경 조건
등이 원인이 될 수 있다.
따라서 변경 분석은 변경된 항목을 찾는 작업이면서 동시에 변경 이외의 원인 가능성을 배제하지 않는 작업이어야 한다.
15. 변경 분석에서 흔히 발생하는 잘못된 판단
① 변경 직후 장애 발생 = 변경이 원인
시간적 관계는 중요한 단서지만 원인 확정은 아니다.
② 업데이트 이후 느려짐 = 업데이트 오류
사용자 증가나 작업량 증가 등 다른 조건이 함께 변했는지 확인해야 한다.
③ 롤백 후 정상화 = 원인 확정
롤백 과정에서 다른 상태가 함께 변경되었을 가능성을 확인해야 한다.
④ 새로운 오류 로그 = 변경의 직접 원인
해당 로그가 원인인지 2차적인 결과인지 확인해야 한다.
⑤ 가장 크게 변한 지표 = 원인
크게 변한 지표가 장애의 결과일 수도 있으므로 시간적 흐름과 의존관계를 함께 확인해야 한다.
⑥ 변경이 없었으므로 원인도 없다
변경 없이도 하드웨어, 부하, 환경, 외부 시스템 등의 변화로 장애가 발생할 수 있다.
16. 변경 전후 비교의 실무 분석 순서
실제 장애가 발생했을 때는 다음과 같은 순서로 분석할 수 있다.
① 변경 이력 확인
최근 업데이트, 패치, 설정 변경, 하드웨어 교체 등을 확인한다.
② 변경 시간 확인
정확한 작업 완료 시간과 적용 범위를 확인한다.
③ 최초 이상 시점 확인
로그와 성능 데이터를 이용해 변경 전후 가장 먼저 달라진 상태를 찾는다.
④ 영향 범위 확인
장애가 발생한 서비스와 변경된 구성요소의 연결관계를 확인한다.
⑤ 변경 전후 비교
성능, 로그, 오류, 서비스 상태를 정상 상태와 비교한다.
⑥ 동시 변화 확인
사용자 증가, 트래픽 변화, 배치 작업 등 다른 조건을 확인한다.
⑦ 비교 대상 확인
변경하지 않은 시스템이나 다른 환경에서 동일 현상이 나타나는지 확인한다.
⑧ 필요 시 롤백·재현 검증
안전한 범위에서 변경을 되돌리거나 별도 환경에서 동일 조건을 비교한다.
⑨ 원인 판단
여러 증거가 일관되게 연결될 때 해당 변경의 원인 가능성을 판단한다.
⑩ 결과 기록
확인된 원인과 불확실한 부분, 재발 방지를 위한 변경 관리 개선사항을 기록한다.
17. 변경 관리와 장애 분석은 연결되어야 한다
운영 환경에서 변경 이력을 정확하게 관리하면 장애 분석에 필요한 중요한 정보를 미리 확보할 수 있다.
최소한 다음과 같은 정보가 기록되어 있으면 좋다.
- 무엇을 변경했는가
- 언제 변경했는가
- 어떤 시스템에 적용했는가
- 변경 전 상태는 무엇이었는가
- 변경 후 상태는 무엇인가
- 변경 목적은 무엇인가
- 작업 결과는 어떠했는가
- 문제가 발생했을 때 어떻게 되돌릴 수 있는가
이러한 기록이 있으면 장애가 발생했을 때
변경 기록 확인 → 장애 시점 확인 → 영향 범위 확인 → 전후 상태 비교 → 원인 가설 검증
이라는 분석이 가능해진다.
반대로 변경 기록이 부족하면 장애가 발생한 뒤 무엇이 달라졌는지부터 다시 찾아야 하므로 분석 시간이 길어질 수 있다.
따라서 변경 관리는 단순한 운영 기록이 아니라 장애 원인을 검증하기 위한 분석 데이터의 일부로 볼 수 있다.
18. 변경 전후 비교의 최종 의미
컴퓨터 시스템에서 변경은 정상적인 운영 과정이다.
따라서 모든 장애를 변경 탓으로 돌리는 것도 올바른 분석이 아니고, 변경과 장애의 관계를 무시하는 것도 적절하지 않다.
중요한 것은 변경을 강력한 원인 후보로 관리하면서 실제 증거를 통해 검증하는 것이다.
전체 흐름은 다음과 같이 정리할 수 있다.
정상 상태 확인
→ 변경 이력 확인
→ 변경 시간 확인
→ 최초 이상 시점 확인
→ 변경 전후 데이터 비교
→ 영향 범위 분석
→ 동시 변화 확인
→ 비교 대상 확인
→ 필요 시 롤백·재현 검증
→ 원인 판단
→ 결과 기록 및 변경 절차 개선
이렇게 분석하면 단순히
“업데이트 후 문제가 발생했다.”
라는 수준을 넘어
“어떤 변경이 어떤 구성요소에 영향을 주었고, 그 이후 어떤 변화가 먼저 나타났으며, 그 변화가 실제 장애로 연결되었는가?”
까지 확인할 수 있다.
19. Ⅴ-12 핵심정리
컴퓨터 장애 분석에서 변경 이력은 매우 중요한 원인 분석 자료다.
하지만 변경 직후 장애가 발생했다는 사실만으로 변경을 원인으로 확정해서는 안 된다.
변경 분석의 핵심은
변경 시간 → 최초 이상 → 영향 범위 → 변경 전후 차이 → 동시 변화 → 비교 대상 → 롤백·재현 결과
를 연결하여 실제 장애와의 관계를 검증하는 것이다.
결국 중요한 질문은
“무엇이 바뀌었는가?”
에서 끝나는 것이 아니라,
“바뀐 내용이 장애 발생 과정에서 실제로 어떤 변화를 만들었는가?”
까지 확인하는 것이다.




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