서버 이중화 개요

모 기업의 CS지식 문제에서 잘 모르는 내용이 있어서 정리하고 기록하기위해 포스팅 합니다.

목표 : HA, 클러스터링, Fail-Over를 이해하고 설명하는 것을 목표로 한다.

HA(High Availability)

고가용성은 서버, 네트워크, 프로그램 등의 정보 시스템이 상당히 오랜 기간 동안 지속적으로 정상 운영이 가능한 성질을 말한다. 고(高)가용성이란 "가용성이 높다"는 뜻으로서, "절대 고장 나지 않음"을 의미한다. 고가용성은 흔히 가용한 시간의 비율을 99%, 99.9% 등과 같은 퍼센티지로 표현하는데, 1년에 계획된 것 제외 5분 15초 이하의 장애시간을 허용한다는 의미의 파이브 나인스(5 nines), 즉 99.999%는 매우 높은 수준으로 고품질의 데이터센터에서 목표로 한다고 알려져 있다. 하나의 정보 시스템에 고가용성이 요구된다면, 그 시스템의 모든 부품과 구성 요소들은 미리 잘 설계되어야 하며, 실제로 사용되기 전에 완전하게 시험되어야 한다.

HA 솔루션의 종류

  • 클러스터링
  • 서버 이중화
  • RAID
  • scalibity

https://docs.oracle.com/cd/E25054_01/fusionapps.1111/e14496/scale_config.htm

HA와 서버 이중화의 관계

HA는 오랜 기간 동안 지속적으로 정상 운영이 가능한 성질을 말한다. 따라서, HA를 위한 솔루션으로 서버 이중화가 포함될 수 있다.

서버 이중화

서버 이중화란 운영중인 서비스의 안정성을 위해 각종 자원(하드웨어, OS, 미들웨어, DB 등)을 이중 혹은 그 이상으로 구성하는 것을 말한다.

서버 이중화의 목적

  1. 장애 또는 재해시의 빠른 서비스 재개를 위함 (Fail-Over)
  • 하드웨어, 미들웨어 등 다양한 지점에서 오류가 발생할 수 있으며 사용자가 이를 인지하지 못하도록 하기 위함
  • 서비스의 일시적인 중단이 발생하여도 재빠르게 대응하기 위함
  1. 원활한 서비스의 성능을 보장하기 위함 (Load Balancing)
  • 하나의 기기에서 일정량 이상의 사용자 트랜잭션을 처리하는 경우 응답시간이 느려질 가능성 존재
  • 사용 트랜잭션의 패턴과 사용량 등을 분석해 부하를 분산하여 효율적인 업무처리가 가능
  • 부하분산을 구현하고자 하는 지점에 따라 미들웨어, 네트워크, OS 등 다양한 지점에서 구현이 가능

서버 이중화 방법 및 고려요소

서버를 이중화를 구성할 때 Active-Active 또는 Active-StandBy 등으로 구성할 수 있다.

  • Active-Active : 부하분산 등의 목적으로 주로 사용. 서비스 단위를 나누어 분산시키기도 함
  • Active-Stand by : 즉각적인 Failover(장애 대비. 장애가 발생하였을때 예비 시스템으로 동작하는 것)을 위해 주로 구성

클러스터링

각기 다른 서비스를 하나로 묶어서 하나의 시스템같이 동작하게 함으로써 클라이언트에 고 가용성의 서비스를 제공 하는 것.

클러스터 기술은 세가지 유형의 장애를 대비한다.

  1. 어플리케이션과 서비스 장애
  • 어플리케이션과 필수 서비스에 영향을 미치는 경우
  1. 시스템과 하드웨어 장애
  • 하드웨어를 구성하는 CPU, drives, memory, network adapters, 전원공급기에 영향을 미치는 경우
  1. 여러기관의 사이트 장애
  • 자연재해, 정전, 연결 중단 등으로 발생할 수 있다.

→ 클러스터링도 장애에 대비하는 기능(Fail-Over) 기능을 제공한다.

정리

마무리 하자면, 서버의 고 가용성(HA)를 위해서 서버 이중화, 클러스터링과 같은 솔루션을 사용할 수 있으며, 이러한 솔루션은 대게 장애에 대비하는 기능(Fail-Over)를 제공한다.

정리한 내용에서 궁금한 점이나, 수정이 필요한 점은 댓글로 알려주시면 감사하겠습니다.

Reference

https://lipcoder.tistory.com/523#google_vignette

https://docs.oracle.com/cd/E25054_01/fusionapps.1111/e14496/scale_config.htm

https://yoonwould.tistory.com/152

https://velog.io/@ragnarok_code/서버클러스터란

'Computer Science' 카테고리의 다른 글

Docker란?  (1) 2024.02.19
SSL이란?  (0) 2024.02.19
HLS(HTTP 라이브 스트리밍)란?  (0) 2023.12.28

+ Recent posts