Today
Total
KoreanEnglishFrenchGermanJapaneseSpanishChinese (Simplified)
관리 메뉴

DB & AWS Knowledge

고가용성 (H.A - High Availability) 본문

DB 관련 지식/DB 연관 IT 개념

고가용성 (H.A - High Availability)

`O` 2021. 6. 8. 03:08
728x90
반응형

이번 페이지에서는 고가용성에 대해서 다룬다.

 

참조페이지

 

https://www.stevenjlee.net/2020/06/28/%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0-%EA%B0%80%EC%9A%A9%EC%84%B1-availability-%EA%B3%BC-%EA%B3%A0%EA%B0%80%EC%9A%A9%EC%84%B1-high-availability/

 

https://itwiki.kr/w/%EA%B3%A0%EA%B0%80%EC%9A%A9%EC%84%B1  

 

https://honggg0801.tistory.com/39 

 

https://ko.wikipedia.org/wiki/%EA%B3%A0%EA%B0%80%EC%9A%A9%EC%84%B1

 

https://umount.net/lag-link-aggregation-group/

 

 

 

 

가용성이란?

 

우선 고가용성을 언급하기 전에 가용성의 개념을 알아본다. 가용성이란 실제 시스템이 기동 혹은 중지 까지 포괄한 존재 시간 대비 기동된 시간을 뜻한다. 이를 수식화 하면 아래와 같다.

 

 

출처 : 위키백과

 

 

풀어서 말하면, 시스템의 기동시간 (Uptime) 및 중지시간 (Downtime) 의 합 대비, 기동시간의 비율을 뜻한다. 

예를 들면, 기동시간이 99시간, 중지 시간이 1시간이라면 해당 시스템의 가용성은 99% 를 보여준다.

 

 

 

 

고가용성이란?

 

위의 가용성의 개념을 응용하여 100% 에 가까운 가용성률을 뜻하는 단어다. 보통 99.9% 99.99% 등으로 표현하며, 위키백과에서는 5 nines (9 가 5개, 즉, 99.999% - 1년 장애 허용시간이 5분 15초 이하) 로 설명하기도 한다. 이런 수치적인 개념을 뜻하기도 하지만 실무에서는 보통 시스템의 비정상 중단을 대비한 수단을 뜻하기도 한다.

 

고가용성을 구현하기 위한 수단중에서 대표적인 것은 아래와 같다.

 

- 고가용성 솔루션 

 

여러대의 서버들이 서로 연결되게 하여 클러스터를 만들고, 그 중에서 사용중이던 서버가 문제가 생겨 사용불가가 되면 다른 서버가 즉시 해당 서버의 작업을 수행 하도록 하는 솔루션이다. 이 때, 실제로 사용하는 서버는 Active 서버, Active 서버가 사용 불가가 될 시 바로 해당 서버의 역할을 맡을 수 있도록 대기하는 서버는 Stand-By 서버가 된다. 각 APP 혹은 인프라단 마다 사용하는 고가용성 솔루션은 다양하며 DB 에서 사용되는 대표적인 예시 중 하나는 ORACLE 의 RAC 가 있다.

 

- 네트워크 이중화

 

말 그대로 네트워크 회선을 단일로 쓰지 않고 하나의 회선이 사용 불가 시, 다른 회선으로 시스템을 사용 할 수 있도록 구현하는 방법이다.

 

- LAG (Link Aggregation Group)

 

 주로 네트워크 영역에서 고가용성을 구현하기 위해 사용하는 수단이다. 예를 들어 어떤 시스템이 1Gbps 의 네트워크 회선을 쓰는데 갑자기 1Gbps 이상으로 감당하기 어려운 부하가 발생하는 상황이 생겼다. 시스템의 지연을 위해서 네트워크 회선 자체의 대역폭을 높일 수도 있으나, 이 방법은 비용이 너무 비싸다. 그래서 이를 해결할 방안으로 1Gbps 회선을 여러대를 연결 후, 하나의 물리적 회선 같이 작동 하도록 설정하는 방법이다.

 

- RAID (Redundant Array of Inexpensive/Independent Disk)

 

여러 디스크에 동일 내용을 복제하고, 서버가 특성 하나의 디스크를 사용중에 해당 디스크가 사용 불가 상황이 되면

바로 다른 디스크에 연결하여 시스템이 사용 가능 하도록 유지하는 방법이다. 디스크의 내용을 다중화 한다는 점에서 고가용성을 확실히 보장하지만 디스크간 내용 동기화 및 디스크의 비용을 고려해야 하는 방법이다.

 

 

 

 

회사마다 사용하는 표준 고가용성 수단은 각기 다르며, 위의 방법들을 응용한 방법을 사용 할 수도 있다.예를 들어, ORACLE 의 RAC 는 Stand-By 서버를 두지만, 설정에 따라 모든 서버들을 Active 로 사용 할 수 있고 (보통 실무에서 고가용성은 H.A 라고 불리고 위의 H.A 솔루션 구조를 사용하면 Active - Stand-By 구조라고 불린다. 그러나 Stand-By 도 Active 로 구성되면 Active-Active 구조라고 불린다.) MySQL / MariaDB 에서는 갈레라 클러스터를 H.A 수단으로 사용하면, Multi Active 구조로 사용되는 것이 기본이다.(Active 로 사용되면서 Stand-By 의 역할도 겸임)

반응형

'DB 관련 지식 > DB 연관 IT 개념' 카테고리의 다른 글

인프라 아키텍처  (0) 2021.08.13
3 계층 (3 Tier) 구조  (0) 2021.08.05
백업 (Backup) 개념 및 종류  (0) 2021.06.02
PMM (Percona Monitoring and Management)  (0) 2021.05.28
Prometheus (프로메테우스) 개요  (0) 2021.05.26
Comments