이중화(High Availability, HA), 재해복구(Disaster Recovery, DR)에 대하여

양승현·2022년 10월 20일
2

fail over란

  • fail over는 장애 대비 기능을 의미한다.
  • fail over(실패를 끝내다)
    • 장애 극복 기능 (fail over)은 컴퓨터 서버, 시스템, 네트워크 등에서 이상이 생겼을 때 미리 준비했던 다른 시스템으로 자동으로 전환해서 무정지 시스템을 운영하는 것이다.
  • 현실에서 부르는 이름은 시스템 대체 작동, 장애 조치 등 다양합니다.
페일백(failback) : 페일오버에 따라 전환된 운용환경을 장애 발생 전 상태로 되돌리는 처리

fail over 활용

  • 평상시에서 A 장비를 사용하다가, A 장비에 장애가 발생하면 준비했던 B 장비를 사용한다.
  • 운영되고 있는 시스템은 액티브(Active), 같은 세팅으로 구성된 대기하는 시스템은 패시브라고 한다.
  • 운영 중에 액티브 시스템이 멈추거나, 장애가 발생하면, 패시브 시스템이 액티브 상태로 변경되면서, 서비스 이어서 운영하게 된다.
  • 높은 가용성(서비스를 정상적으로 사용 가능한 정도를 의미)을 요구할 때 구성한다.
  • 장애 발생 시 손해와 운영 중인 데이터의 경중을 따져서 중요한 것부터 우선적으로 준비한다.
  • 웹 서버, 네트워크 장비, DB 등 다양한 영역에 대비한다. 하드웨어적인 장애 뿐만 아니라 소프트웨어를 포함한 서비스가 운영되지 않은 모든 장애를 포함한다.
    운영되고 있는 시스템은 "액티브(Active), 프라이머리(Primary),마스터(Master)"
    대기하고 있는 시스템은 "패시브(Passive), 스탠바이(Standby), 세컨더리(Secondary), 슬레이브(Slave)"

이중화(High Availability)

  • 메인서버(액티브)와 백업서버(스탠바이)를 연결하고 장애 발생 시 백업서버로 실시간 업무이관(페일오버)해 서비스 중단을 막는다.
  • 이중화 구성에는 다중화된 요소를 모두 이용할 수 있는 Active-Active와 다중화된 요소중 한쪽은 사용할 수 없는 Active-Standby 두 종류가 있다.

서버 이중화의 목적

  • 서버 이중화는 두 가지의 큰 목적을 가지고 있다
    • Failover(장애 조치) - 장애 혹은 재해 발생시 빠른 서비스 재개를 하기 위함
      • 서비스 일시 중단(downtime)이 발생 하더라도 재빠르게 대응하기 위함
      • 1차적으로 자동 Fialover 할 수 있도록 설계
    • LoadBalance(부하 분산) - 원활한 서비스의 성능을 보장하기 위함
      • 하나의 기기가 일정량 이상의 사용자 트랜잭션을 처리하는 경우 응답 시간이 느려질 가능성이 있다.
      • 사용 트랜잭션의 패턴과 사용량 등을 분석하여 부하를 분산하여 효율적인 업무 처리 가능
      • 로드밸런싱을 구현하고자 하는 지점에 따라 미들웨어, 네트워크, OS등 다양한 지점에서 구현 가능

구성 요소

Active-Active - 주로 부하 분산 등의 목적, 서비스 단위를 나누어서 분산

  • 다중화 장비 두 대가 모두 활성화 되어 동작하는 구성
  • 많은 비용이 필요하지만 높은 수준의 안정성을 확보할 수 있다. 사용자가 많고 안정성을 우선시 한다면 사용하는 방식이다.
  • 부하 분산 등을 목적으로 주로 활용하며, 서비스 단위를 나누어서 분산시키기도 한다.

단점

  • Active-Standby에 비해 처리률이 높지만, 설정 및 구성이 복잡해지는 단점이 있다.
  • 한대에 장애가 생겼을 경우, 두 대의 처리량을 한 대가 처리해야하기 때문에 리소스가 높아져 리소스에 대한 계획도 필요하다.

Active-Standby - 즉각적인 Failover를 위해 주로 구성

  • 한대는 평상시 운영하는 서버이고, 그와 비슷한 스펙의 서버를 예비로 준비한다.
  • 예비서버는 OS가 설치된 형태로 언제라도 부팅하면 바로 사용할 수 있는 상태, 장애(클러스터 하트비트 등으로 시스템의 상태를 주기적으로 체크하고 특이사랑 발생시 수동으로 전환하거나, 크리티컬한 장애 발생 시 자동으로 서비스를 전환)시 서비스를 이전하여 운영하는 방법
  • 즉각적인 failover를 위해 주로 구성
  • 장애 발생시 Standby는 Active로 변경된다. Failover 되는 시간은 서비스가 불가능하다.
  • 시스템 장애 시간이 길고 안정성이 적은 방식이다.
  • Active-Standby는 Standby 방식에 따라 아래와 같이 세 종류로 나뉜다.
Hot Standby	  - Standby 측은 가동 후 즉시 이용가능한 구성
Warm Standby  -	Standby 측은 가동 후 이용가능하게 하기 위해서 나름대로의 준비가 필요한 구성
Cold Standby  -	Standby 측을 정지시켜 두는 구성, 필요시 직접 켜서 구성
  • Hot - Warm - Cold 순으로 Failover 소요시간이 짧다

※ 서버 운영을 할 때 부하분산(L4)가 상시 필요한 구간이 있을 때 이중화 구성 시 Active-Active 구성을 하며, 그 외 이중화 구성시 Active-Standby로 한다.


다중화 구조에서 데이터 정합성을 얻는 방법

  • 다중화한 경우 주의점은 같은 데이터가 여러 개 존재한다는 것인데 어떤 데이터가 올바른 것인지 또는 어떤 데이터가 최신 데이터인지 제대로 관리해야 한다.
  • 또한 여러 개의 데이터가 정확하게 일치하고 있는 상태를 유지해야 한다.
  • 일반적 스토리지 공유 방식 Shared Disk 과 스토리지 비공유 방식 Shared Nothing 방식이 있다.

1. Shared Disk

  • 하나의 스토리지를 공유하고, 대개는 전용 스토리지 기기를 이용하는 방식이다.
  • Shared Disk 방식은 스토리지를 공유하기 때문에 정합성에 대해 특별히 문제는 없지만, Shared Disk 자체를 다중화해야하기 때문에 비용 측면에서 부담이 생긴다.(대체로 Shared Disk 기능이 있는 스토리지 기기는 값비싸다. )

2. Shared Nothing

  • 스토리지 간 통신을 하여 데이터 정합성을 확보하는 방식이다.
  • 이 통신을 리플리케이션이라고 하고, 리플리케이션의 데이터 송신 측을 Master, 데이터 수신 측을 Slave라고 한다.
  • Multi-Master라고 하여 Master와 Slave 역할을 모두 갖는 방식도 있지만 문제가 많이 발생하여 잘 사용되지 않는다.
  • 리플리케이션에도 동기, 비동기식 리플리케이션이 있으며, 동기식 리플리케이션은 오버헤드가 커 동기 처리에 따라 성능 저하의 정도가 크지만 데이터 정합성을 확보하기 좋다.
  • 비동기식 레플리케이션은 데이터 손실이 발생할 수 있지만 성능 저하의 정도가 작은 방식이다.

DR 센터 (재해 복구 시스템)

  • 재해의 영향을 받지 않는 외부 위치에서 데이터 및 컴퓨터 처리 작업을 복제
  • DR 센터는 서비스 운영하는 전산센터 혹 서비스에 재해가 발생하는 경우 즉각적인 서비스 복구를 위한 Backup 플랜 인프라 구성을 의미
  • DR 센터 및 시스템은 운영 선테 시스템에 대한 Standby(혹은 Active) 시스템을 원격지에 구성하여 장애시 신속하게 서비스를 재개할 수 있도록 구성한 것을 의미한다.
  • 금융 IT나 금융 시스템은 DR센터 적극 구성하고 운영하고 있다.
※ 복구 수준별 구분
- 미러 사이트(Mirror Site)(1등급)  - 실시간 미러링으로 주 센터와 백업 센터 데이터를 동기화하여 백업하는 방식(주센터 및 백업 센터간 네트워크도 이중화 구성 포함)
  - 글로벌 빅테크가 활용하며 국내에서는 1금융 전산센터
- 핫 사이트 (Hot site)(2등급) - 대기(stand) 상태로 실시간 미러링을 통해 데이터센터와 같은 수준의 데이터를 유지하는 방식
  - 재해 발생시 복구 시간 4시간 이내
- 웜 사이트 (Warm Site)(3등급)- 주기적으로 중요성이 높은 데이터를 백업하여 로컬이나 원격지에 해당 백업 데이터를 보관 및 소산 하는 방식 (핫사이트에 비해 구축 비용 저렴)
  - 수일에서 수주 소요
- 콜드 사이트(Cold Site)(4등급) - 단순 데이터를 저장하기 위한 방안으로 미러사이트나 핫사이트를 보완하기 위해 주로 쓰인다.
  - 수주에서 수개월 소요

DR 시스템 구축 및 운영시 고려해야할 사항

    1. 센터 구성 방식
    • DR 센터 운영 방침에 따라 Active-Active 혹은 Active- Standby 구성 등이 존재한다. 국외 IT 회사 경우 서비스 별로 운영센터와 DR센터에 각 별도의 운영 서비스를 구성해 상호간 백업 채널을 구성하는 경우도 있다.
    1. 운영센터와 DR센터 간의 거리
    • 두 센터 간의 거리는 중요하다. 이는 재해 발생시 담당자가 물리적으로 이동할 수 있는 시간도 고려되어야 하고, 거리에 따라 재해의 종류를 고려하는 범위도 달라진다. 예) 지진, 전쟁과 같은 사항에는 센터 간의 거리가 길어야 할것이다.
    1. 통신속도
    • 센터 간의 거리는 통신속도에 영향을 미치는데, 거리에 따라 synchronized로 구성할것인지, Asynchronized로 구성할 것인지 등을 고려해야한다.
    1. 조직 구성 및 유지비용
    • 정상적인 서비스를 잘 운영하고 있다면 조직 구성 및 유지비용 측면에서 비효율 적일 수 있기 때문에 고려해보아야 한다.

※ 재해복구(DR)와 서비스 이중화의 개념은 다르다.

  • 재해복구 DR 시스템을 구축하는 것도 중요하지만, 더 중요한 것은 서비스 가용성을 위한 서비스 이중화이다.

재해 복구(Disaster Recovery, DR)

  • 재해복구는 중단 이벤트 발생 후 가용한 툴과 기술을 사용해 IT 서비스를 복구하는 단계이다.
  • 퀘스트 블로그에서는 구체적으로 애플리케이션, 데이터, 네트워크, IP 전화 시스템과 기타 비즈니스 수행에 필요한 다른 모든 기술의 복구를 의미한다.

고가용성(High Availability, HA)

  • 고가용성은 재해 중 비즈니스를 지속하는 데 도움이 될 수 있는 기술의 특성이다.
  • HA 기술은 프로덕션 시스템의 예비성을 제공하여 하나가 실패하면 다른 하나로 신속하게 “페일오버(failover)”해서 원래 시스템을 대체한다.
  • 손상에 대비한 보호 기능은 제공하지 않는다.
  • 고가용성은 전혀 다른 요구 사항을 충족하기 위한 기술이므로 견고한 DR 전략의 대체제로 간주해서는 안된다.

복제(Repllication)

  • 복제는 재해 발생 시 IT 관리자가 최신 데이터를 복원할 수 있도록 한 위치에서 다른 위치로 데이터를 복사하는 프로세스이다.
  • 동기 복제 솔루션은 주 스토리지와 복제 사이트에 동시에 데이터를 써서 주 복사본과 복제본이 항상 동기화되도록 한다.
  • 비동기 복제 솔루션은 이와 달리 먼저 주 스토리지에 데이터를 쓴 다음 이 데이터를 복제 사이트로 복사한다. 이 경우 복제는 예약에 따라 실시되는 경우가 많다. 비동기 복제는 비용이 덜 들고 대역폭이 덜 필요하며 장거리에 걸쳐 사용할 수 있다.
  • 동기 복제는 핵심 애플리케이션의 고가용성을 제공한다. 주 스토리지에서 복제본으로의 페일오버는 거의 즉각적으로 이뤄지므로 사용자가 경험하는 다운타임은 제로에 가깝다.


참고 자료

0개의 댓글