본문 바로가기
금융을 알고싶은 반디 금융을 알고싶은 반디
" 좋은 일만 가득하세요~ "

Ⅱ-2. 컴퓨터 시스템 단일장애점(SPOF) 분석

읽는 시간 약 8분

컴퓨터 시스템을 이중화했다고 해서 반드시 장애에 강한 시스템이 되는 것은 아니다.

서버를 두 대 운영하고 네트워크 장비를 여러 대 구성하더라도 특정 구성요소 하나의 장애가 전체 서비스 중단으로 이어진다면 그 구성요소는 시스템의 단일장애점(SPOF, Single Point of Failure)이 될 수 있다.

따라서 SPOF 분석에서 중요한 것은 장비의 개수가 아니다.

어떤 하나의 구성요소가 장애를 일으켰을 때 전체 서비스가 계속 운영될 수 있는 다른 경로가 존재하는가를 확인하는 것이 핵심이다.

1. 단일장애점(SPOF)이란 무엇인가

단일장애점은 특정 구성요소 하나가 고장났을 때 해당 구성요소에 의존하는 시스템이나 서비스 전체가 정상적으로 기능하지 못하게 되는 지점을 의미한다.

예를 들어 서버 두 대가 이중화되어 있어도 두 서버가 하나의 네트워크 스위치에만 연결되어 있다면 해당 스위치가 장애를 일으키는 순간 두 서버의 통신이 동시에 중단될 수 있다.

이 경우 서버는 이중화되어 있지만 네트워크 스위치는 이중화되지 않은 것이다.

따라서 서버 이중화 = 전체 시스템의 장애점 제거라는 의미는 아니다.

SPOF 분석은 바로 이처럼 이중화된 시스템 내부에 남아 있는 하나의 취약한 연결고리를 찾아내는 작업이다.

2. 왜 SPOF 분석이 필요한가

시스템 구성도를 처음 보면 서버, 스위치, 저장장치 등이 여러 개 존재하기 때문에 안정적인 구조처럼 보일 수 있다.

그러나 실제 서비스를 따라가 보면 여러 구성요소가 하나의 공통 자원에 의존하는 경우가 많다.

예를 들어 다음과 같은 구조가 있을 수 있다.

서버 A + 서버 B → 공통 데이터베이스

이 경우 서버 A와 서버 B가 모두 정상적으로 동작하더라도 데이터베이스 하나가 장애를 일으키면 서비스 전체가 영향을 받을 수 있다.

따라서 SPOF 분석에서는 단순히 구성요소를 나열하는 것이 아니라 서비스가 어떤 구성요소에 의존하고 있는지를 추적해야 한다.

3. SPOF 분석의 출발점은 ‘의존관계’다

SPOF를 찾으려면 먼저 서비스가 정상적으로 동작하기 위해 필요한 구성요소를 파악해야 한다.

예를 들어 하나의 웹 서비스가 다음과 같은 구조라고 가정할 수 있다.

사용자 → 네트워크 → 로드밸런서 → 웹 서버 → 애플리케이션 서버 → 데이터베이스

이 구조에서 각 구성요소를 하나씩 장애 상태로 가정한다.

  • 네트워크 장애 → 서비스 접근 불가
  • 로드밸런서 장애 → 서버가 살아 있어도 접근 불가
  • 웹 서버 장애 → 다른 서버가 서비스를 이어받을 수 있는지 확인
  • 애플리케이션 서버 장애 → 대체 인스턴스 존재 여부 확인
  • 데이터베이스 장애 → 전체 서비스의 데이터 처리 가능 여부 확인

이렇게 분석하면 단순한 구성도만 봐서는 발견하기 어려운 SPOF를 찾을 수 있다.

4. 서버 이중화 이후에도 SPOF가 남을 수 있다

서버 두 대를 구성하면 서버 자체의 SPOF는 줄어들 수 있다.

그러나 다음과 같은 공통 의존성이 남아 있다면 전체 서비스의 SPOF는 여전히 존재할 수 있다.

  • 공통 데이터베이스
  • 공통 스토리지
  • 공통 네트워크
  • 공통 로드밸런서
  • 공통 인증 서버
  • 공통 DNS
  • 공통 전원
  • 공통 관리 시스템

따라서 서버 이중화를 확인한 후에는 반드시 “두 서버가 무엇을 함께 사용하고 있는가?”를 다시 확인해야 한다.

이 질문이 SPOF 분석에서 매우 중요하다.

5. 네트워크에서 숨은 SPOF를 찾는 방법

네트워크는 여러 장비와 경로가 연결되어 있기 때문에 SPOF가 숨어 있기 쉽다.

예를 들어 스위치 두 대를 구성했더라도 두 스위치가 하나의 상위 라우터에만 연결되어 있다면 해당 라우터가 SPOF가 될 수 있다.

또한 논리적으로는 두 개의 통신 경로가 존재하더라도 실제 케이블이 하나의 케이블 트레이나 동일한 통신관로를 지나간다면 물리적 장애에 의해 동시에 영향을 받을 수 있다.

따라서 네트워크 SPOF 분석에서는 다음 세 가지를 구분해서 봐야 한다.

  1. 장비의 독립성
  2. 논리적 경로의 독립성
  3. 물리적 경로의 독립성

장비가 여러 개라는 이유만으로 네트워크가 장애에 강하다고 판단해서는 안 된다.

6. 저장장치와 스토리지 경로의 SPOF

서버를 여러 대 구성하더라도 모든 서버가 하나의 스토리지 시스템에 의존한다면 해당 스토리지가 SPOF가 될 수 있다.

스토리지 내부에 RAID가 구성되어 있어도 이것만으로 전체 저장 시스템의 SPOF가 제거되는 것은 아니다.

다음과 같은 구성요소가 별도의 장애점으로 남을 수 있다.

  • RAID 컨트롤러
  • 스토리지 컨트롤러
  • 스토리지 네트워크
  • 파일시스템
  • 스토리지 관리 시스템
  • 스토리지 연결 경로

따라서 저장장치 SPOF 분석에서는 디스크 자체뿐 아니라 데이터가 저장되고 전달되는 전체 경로를 확인해야 한다.

7. 데이터베이스는 대표적인 공통 SPOF가 될 수 있다

데이터베이스는 여러 서비스가 동시에 사용하는 경우가 많기 때문에 특히 중요하다.

웹 서버를 여러 대 운영하더라도 모든 서버가 하나의 데이터베이스에 의존한다면 데이터베이스 장애 하나로 전체 서비스가 영향을 받을 수 있다.

이 경우 서버 이중화는 되어 있지만 서비스의 데이터 처리 계층은 단일 구성으로 남아 있는 것이다.

따라서 데이터베이스에서는 다음을 확인해야 한다.

  • 데이터베이스 이중화 여부
  • 복제 상태
  • 장애 전환 가능 여부
  • 데이터 일관성
  • 연결 경로
  • 장애 전환 시간
  • 복구 이후 정상화 여부

특히 데이터베이스 이중화에서는 단순히 “DB 서버가 두 대다”가 아니라 실제 장애 발생 시 어느 시점의 데이터를 기준으로 서비스를 계속할 수 있는지까지 판단해야 한다.

8. 인증·DNS·공통 서비스의 숨은 SPOF

SPOF는 서버나 네트워크 장비처럼 눈에 보이는 장비에서만 발생하지 않는다.

인증 서버, DNS, 중앙 설정 서버, 라이선스 서버, 공통 API와 같은 서비스도 여러 시스템이 동시에 의존한다면 SPOF가 될 수 있다.

예를 들어 애플리케이션 서버가 정상적으로 작동하더라도 인증 서버가 장애를 일으켜 사용자의 로그인이나 권한 확인이 불가능하다면 실제 서비스 이용에는 문제가 발생한다.

이러한 구성요소는 평상시에는 장애의 중심으로 보이지 않기 때문에 숨은 SPOF가 되기 쉽다.

따라서 분석할 때는 하드웨어뿐 아니라 공통으로 사용하는 소프트웨어와 서비스까지 의존관계를 추적해야 한다.

9. 전원과 냉각의 SPOF

IT 장비가 아무리 이중화되어 있어도 전원이나 냉각이라는 상위 인프라가 하나뿐이라면 전체 시스템에 영향을 줄 수 있다.

예를 들어 여러 서버의 전원공급장치가 존재하더라도 동일한 PDU와 상위 전원계통에 의존한다면 해당 전원계통의 장애가 여러 서버에 동시에 발생할 수 있다.

냉각도 마찬가지다.

서버가 여러 대로 분산되어 있더라도 하나의 냉각설비 장애로 서버실 전체의 온도가 상승한다면 여러 장비가 동시에 영향을 받을 수 있다.

따라서 인프라 수준에서는 개별 장비뿐 아니라 여러 장비가 공통으로 의존하는 상위 자원을 찾아야 한다.

10. 관리·모니터링 시스템도 SPOF가 될 수 있다

서비스를 제공하는 서버가 정상적으로 작동하더라도 장애를 감지하고 관리하는 시스템이 하나뿐이라면 장애 대응에 문제가 발생할 수 있다.

예를 들어 중앙 모니터링 서버가 장애를 일으키면 실제 서비스에는 문제가 없더라도 장애 상태를 확인하거나 경보를 전달하는 기능이 중단될 수 있다.

원격 관리 시스템 역시 마찬가지다.

따라서 다음과 같은 관리 계층도 SPOF 후보로 검토해야 한다.

  • 모니터링 서버
  • 관리 서버
  • 인증 시스템
  • 중앙 로그 시스템
  • 원격 관리 시스템
  • 설정 관리 시스템

여기서 중요한 것은 관리 시스템의 장애가 서비스 자체를 중단시키

bandion
함께 보면 좋은 글

댓글 0

첫 댓글을 남겨보세요.

error: Content is protected !!