[스토리지 이중화] 고가용성과 이중화
본문 바로가기
IT 이야기/공부합시다

[스토리지 이중화] 고가용성과 이중화

by 찬찬이 아빠 2023. 6. 19.
반응형

개인적으로 스토리지 공부를 위해 정리한 내용들입니다.

함께 공부하자는 취지로 내용을 공유합니다.


기업은 사내 전산 시스템이나 IT 서비스를 안정적으로 운영하기 위해 많은 시간과 비용을 투자하고 있습니다.

특히 서비스가 중단되는 시간을 뜻하는 다운타임(Downtime) 을 최소화 하기위해 모든 시스템을 이중화로 구성하고 장비의 상태를 지속적으로 확인하면서 정상적인 서비스를 유지하기위해 노력합니다.

이렇게 서비스를 안정적인 상태로 오래 기간 운영하는 성질을 고가용성(HA: High Availability) 이라고 표현합니다.

고가용성은 단어 그대로 높은 가용성을 보장한다 라는 뜻을 나타내며, 99%, 99.9%와 같은 퍼센티지로 서비스 품질 수준을 표현합니다.


1. 이중화에 대해서

  • 이중화는 시스템에 장애가 발생할 것을 대비해서 동일한 기능을 수행하는 예비 시스템을 동시에 운용하는 행위
  • 이중화 환경은 단일 시스템 환경보다 더 많은 구축 비용이 발생하며, 관리할 장비가 많아진 만큼 유지보수 비용 또한 높아짐
  • 하지만 높아진 비용만큼 서비스가 중단될 확률을 낮출 수 있으며, 예상치 못한 장애가 발생하더라도 빠른 시간안에 복구가 가능

단일 장애점(SPOF)

(1) 이중화 시 고려사항

  • 고가용성이 보장되는 서비스 환경을 구축하기 위해 이중화 구성이 필요한 부분과 그렇지 않은 부분에 대해서 판단할 수 있어야 함
  • 또한 물리적인 시스템 외에도 소프트웨어의 핵심 기능들도 이중화 대상으로 인식하고 필요할 경우 모니터링을 수행하여 관리해야 함
  • 만약 장애가 발생할 수 있는 지점을 정확하게 확인하지 못한다면 단일 장애점(SPOF : Single Point of Failure)이 되어 서비스 장애로 이어질 수 있는 잠재적 요인이 될 수 있음
  • 반대로 불필요한 요소까지 이중화를 한다면 서비스에 영향이 없는 부분의 결함도 장애로 인식하여 failover 발생 시 원인 추적에 방해를 주거나 모니터링에 어려움을 겪는 등 시스템 운영에 혼란을 줄 수 있음
  • 따라서 이중화 환경을 구성할 때에는 서비스(소프트웨어)와 서버, 네트워크, 스토리지 등 각 분야에 전문성 있는 팀을 구성하여, 운영하고자 하는 환경과 서비스 목적에 알맞은 이중화 시스템을 구축할 수 있어야 함

두 대의 서버에서 Active/Standby 이중화 구성

(2) 이중화 구성 방법

Active/Standby 구성

  • HA 클러스터링 된 다중 서버 환경에서 한 대의 서버는 활성 상태(이하 Active)로 동작하고 나머지 서버들은 대기 상태(이하 Standby)로 동작
  • 클러스터로 연결된 모든 서버는 heartbeat로 연결되어 서버와 모니터링중인 서비스들의 상태를 주고받음
  • 이때 Active 서버에서 장애가 발생한다면 HA 클러스터는 Standby 서버 중에서 점수(Score)가 가장 높은 서버에게 서비스를 이관

두 대의 서버에서 Active/Active 이중화 구성

② Active/Active 구성

  • Active/Active는 HA 클러스터로 연결된 모든 서버가 Active 서버로 동작하는 환경
  • 흔히 부하 분산 모드(Load-Balancing) 로 불리기도 함
  • Active/Active 구성의 장점은 Active/Standby 비용으로 더 높은 처리량(Throughput)을 가질 수 있지만, 장애 발생 시 제외된 Active 서버의 대수만큼 처리량이 낮아지기 때문에 서비스 장애로 확대될 수 있음
  • 따라서 장애 상황에서도 안정적인 상태를 유지하기 위해서는 Active/Standby 구성보다 더 높은 처리량을 갖는 서버나 더 많은 대수로 구성하는 것이 안전

2. 장애 상황 및 후속 조치

(1) 장애 상황

① 하드웨어 장애 상황

  • 전원 공급 장치에 이상이 발생하거나 컴퓨팅 구동에 핵심인 CPU와 메모리, 디스크 장애 등을 포함
  • 서버 급 컴퓨터의 경우 전원 이중화, 듀얼 CPU 및 메모리, RAID 구성을 통해 방지할 수 있으나, 일반적인 PC 사양의 컴퓨터는 하드웨어 장애 상황을 대비하기 어려움
  • 만약 하드웨어 장애가 발생할 경우, 운영체제 레벨에서 처리가 되겠지만 시스템이 멈춰버린다면(흔히 hang이라고 표현합니다) HA 클러스터 레벨에서 heartbeat를 확인하여 시스템 정지를 확인하고 이후 failover 절차를 수행

② 서비스 장애 상황

  • 서버에서 동작하는 프로그램(어플리케이션)과 서비스 데몬(Daemon)에 장애가 발생한 것
  • 흔히 서비스는 데이터베이스, 아파치 웹, FTP와 NFS 같은 파일 공유 프로토콜 등을 포함
  • 만약 서비스 장애가 발생하면 HA 클러스터는 장애를 인지하고 필요 시 복구 절차를 수행하며, 복구에 실패할 경우 failover를 수행하여 Active 서버를 이전

이더넷(좌), 파이버 채널(중), 인피니밴드(우) 네트워크 장치

③ 네트워크 장애 상황

  • 네트워크 장애는 서버와 서버, 또는 장치를 연결하는 서버의 네트워크 레벨에서 발생하는 장애
    • ex) 이더넷 네트워크인 네트워크 인터페이스 카드(NIC : Network Interface Card)는 IP 주소를 통해 통신을 수행하며, NIC에서 발생한 장애나 유효하지 않은 IP 주소가 입력되어 통신이 되지 않은 상황
  • 또한 스토리지 네트워킹 장치인 파이버 채널(FC : Fibre Channel)과 고성능 컴퓨팅 환경에서 사용되는 인피니밴드(IB : InfiniBand)도 네트워크 장애 범위에 포함
  • 네트워크는 본딩(Bonding)과 티밍(Teaming) 등을 이용하여 다수의 인터페이스를 하나로 구성하여 인터페이스 장애 상황에서도 downtime 없이 서비스를 지속할 수 있음

(2) 후속조치

  • IT 관리자는 모니터링을 통해 failover가 발생한 것을 확인했다면, 장애가 발생한 서버를 신속하게 확인해야함
  • 물론 Standby 서버가 다수일 경우 추가 장애가 발생하더라도 failover 할 수 있는 여유 노드가 존재하기 때문에 서비스 장애(Downtime이 발생하는 상황)로 확대될 가능성은 낮음
  • 하지만 잘못된 지점을 모니터링하거나 확인하지 못한 지점에서 장애가 발생한 경우 등, 예상하지 못한 상황이 발생할 때, 클러스터링 된 서버들은 모두 동일한 환경이기 때문에 동일한 이유로 failover가 발생할 수 있음
  • 따라서 위와 같은 원인일 경우에는 모니터링 설정 변경 또는 새로운 장애 지점에 대한 모니터링 수행 등 추가 조치를 신속하게 수행

3. 스토리지 이중화

(1) 스토리지 이중화 시 고려사항

  • 스토리지는 데이터가 최종적으로 저장되는 장치이며, 스토리지 중에서도 네트워크 기반의 공유 환경을 제공하는 NAS(Network Attached Storage)는 데이터 저장뿐만 아니라 공유 서비스, 사용자 인증 서비스, 네트워크 환경까지 고려
  • 따라서 NAS 이중화는 파일 저장과 공유 기능에 영향을 줄 수 있는 장애 지점들을 모두 파악하고 관련된 자원들을 모니터링해야 함
  • SAN(Storage Area Network)과 DAS(Direct Attached Storage)와 같이 블록 스토리지가 추가로 연결된다면, 모니터링이 필요한 지점은 증가

(2) NAS 이중화 구성 - 디스크 클러스터링

  • 데이터가 저장되는 디스크의 위치에 따라서 디스크 클러스터링 방법을 선택
  • NAS는 모든 환경에서 Active/Active와 Active/Standby를 위한 서비스 이중화 구성이 가능

① 디스크 공유 방식

디스크 공유 방식의 클러스터링 방법

  • 별도로 구성된 SAN과 DAS와 같은 블록 스토리지의 볼륨을 NAS를 통해 공유
  • NAS와 블록 스토리지는 (일반적으로)파이버 채널 네트워크로 연결
  • NAS와 데이터 저장 공간이 물리적으로 분리되기 때문에 NAS를 추가로 확장하거나 교체를 하더라도 원본 데이터는 블록 스토리지에 저장되어 있는 것이 특징

(2) 데이터 동기화 방식

디스크 동기화 방식의 클러스터링 방법

  • 디스크 공유 방식과 다르게 별도의 스토리지가 존재하지 않으며, NAS에 데이터가 저장될 디스크(Disk Set)가 설치되는 일체형 환경
  • 각각의 NAS에는 물리적으로 분리된 디스크가 할당되기 때문에 데이터 또한 분리되어 있음
  • 모든 NAS의 데이터를 동기화하기 위해서는 별도의 데이터 복제 기술이 필요
  • 데이터 복제 기술에 따라서 다르지만 보편적인 방법으로 디스크 클러스터를 구성할 경우 10G 이더넷 또는 인피니밴드를 사용

4. 정보 출처

https://tech.gluesys.com/blog/2020/08/22/HA_1_intro.html

 

글루시스 기술 블로그

A simple yet classy theme for your Jekyll website or blog.

tech.gluesys.com

 

반응형

댓글