검수요청.png검수요청.png

고가용성

위키원
이동: 둘러보기, 검색

고가용성(高可用性, HA, High Availability)이란 서버네트워크, 프로그램 등의 정보 시스템이 상당히 오랜 기간 동안 지속적으로 정상 운영이 가능한 성질을 말한다.

개요[편집]

고가용성은 현대화에서 이러한 시스템에 대한 의존도를 증가시켰다. 예를 들어, 병원과 데이터 센터는 일상적인 활동을 수행하기 위해 시스템의 고가용성을 요구한다. 가용성은 사용자 커뮤니티가 서비스나 상품을 획득하거나, 시스템에 접속하거나, 새로운 작업을 제출이나 기존 작업을 업데이트 및 변경, 이전 작업의 결과를 수집할 수 있는 능력을 말한다. 사용자가 시스템에 액세스할 수 없는 경우 사용자 관점에서 시스템을 사용할 수 없다. 일반적으로 다운타임이란 용어는 시스템을 사용할 수 없는 기간을 지칭하는 데 사용된다. 고가용성은 "가용성이 높다"라는 뜻으로 "절대 고장나지 않음"을 뜻한다. 고가용성은 흔히 가용한 시간의 비율을 99%, 99.9% 등과 같은 퍼센티지로 표현하는데, 1년에 계획된 것 제외 5분 15초 이하의 장애시간을 허용한다는 의미의 파이브 나인스(5 nines), 즉 99.999%는 매우 높은 수준으로 고품질의 데이터센터에서 목표로 한다고 알려져 있다. 하나의 정보 시스템에 고가용성이 요구된다면, 그 시스템의 모든 부품과 구성 요소들은 미리 잘 설계되어야 하며, 실제로 사용되기 전에 완전하게 시험되어야 한다.

신뢰성 엔지니어링에는 고가용성을 달성하는 데 도움이 될 수 있는 시스템 설계의 세 가지 원칙이 있다.

1. 단일 실패 지점의 제거 : 단일 실패 지점의 제거는 구성품의 고장이 전체 시스템의 고장을 의미하지 않도록 시스템에 이중화를 추가하는 것을 의미한다.
2. 믿을 수 있는 크로스오버 : 신뢰할 수 있는 시스템은 신뢰할 수 있는 교차로를 제공해야 한다.
3. 고장 발생 시 감지 위의 두 가지 원칙을 준수할 경우 사용자는 고장을 결코 볼 수 없지만 유지보수 활동은 반드시 수행해야 한다.

가용성[편집]

가용성은 일반적으로 주어진 연도의 가동 기간 백분율로 표시된다. 퍼센트 단위로 표기하는 뜻은 서비스가 중단되지 않고 운영될 수 있는 능력을 말하며 사용이 필요할 때 시스템이 지정한 기능을 수행할 수 있는 확률 및 총 운영 시간에 대한 시스템 가동시간의 비율을 말한다.

가용성 백분율 다운타임 : 시스템을 사용할 수 없는 기간 μ
가용성%연간 다운 타임한달 다운 타임주당 다운 타임일일 다운 타임
55.5555555%("5 아홉 개")162.33일13.53일74.92일10.67일
90%("9 한개")36.53일73.05시간16.80시간2.40시간
95%18.26일36.53시간8.40시간1.20시간
97%10.96일21.92시간5.04시간43.20분
98%7.31일14.61시간3.36시간28.80분
99%("9 두 개")3.65일7.31시간1.68시간14.40분
99.5%1.83일3.65시간50.40분7.20분
99.8%17.53시간87.66분20.16분2.88분
99.9%("9 세 개")8.77시간43.83분10.08분1.44분
99.95%4.38시간21.92분5.04분43.20초
99.99%("9 네 개")52.60분4.38분1.01분8.64초
99.995%26.30분2.19분30.24초4.32초
99.999%("9 다섯 개")5.26분26.30초6.05초864㎳
99.9999%("9 여섯 개")31.56초2.63초604.80㎳86.40㎳
99.99999%("9 일곱 개")3.16초262.98㎳60.48㎳8.64㎳
99.999999%("9 여덟 개")315.58㎳26.30㎳6.05㎳864㎲
99.9999999%("9 아홉 개")31.56㎳2.63㎳604.80㎲86.40㎲

논의 중인 항목이 일관성이 유지되는 한 가동 시간과 가용성은 동의어로 사용될 수 있다. 즉, 시스템은 가동될 수 있지만, 네트워크 가동 중단의 경우처럼 서비스를 이용할 수 없다. 작업을 할 수 있는 시스템으로 볼 수 있지만, 서비스는(소프트웨어 서비스/프로세스 관점과는 대조적) 기능적인 관점에서는 올라가지 않는다. 여기서 관점은 중요한데, 논의 중인 항목이 서버 하드웨어, 서버 OS, 기능 서비스, 소프트웨어 서비스/프로세스 등인지 관점이 중요하다. 토론 전반에 걸쳐 관점을 일관성있게 유지하면 가동 시간과 가용성을 동의어로 사용할 수 있다. 흔히 말하는 가용성은 시스템이 정상적으로 운영된 시간이며, 시스템의 정상운영시간을 통이기 위한 강조의 의미로 "고가용성을 추구한다"라고 한다. 99.9%의 가용성이란 1년 중 8.76시간동안만 장애가 발생해야 함을 뜻한다. 가용성에 대한 일반적인 공식은 다음과 같다.


여기서 A는 가용성(Availability, %)을 나타내며, MTBF은 Mean Time Between Failures, MTTR은 복구하는데 걸리는 시간(Mean Time To Recover)을 의미한다. 실제로 MTTR이 최소화될수록 가용성은 100%에 가깝게 된다. MTBF의 핵심은 시스템에 고장이 생길 때까지 걸리는 평균시간을 의미한다. M은 평균적인 추세를 의미하기도 하는데, 예를 들어 평균적인 HDD의 수명이 제조사들이 발표하는 것처럼 11.5년이라면 500개의 드라이브가 설치된 디스크 어레이(Disk Array)는 평균 16.5일마다 디스크를 교체해 주어야 한다는 확률이 나온다.[1]

고가용성, 즉 높은 가용성을 갖는 것은 안정적인 서비스를 유지하기 위한 필수요소이다. 가용성은 이프라 제공 업체와 고객의 서비스 제공 수준 계약(SLA, Service Level Agreement)의 주요 항목으로 들어간다. 하지만 가용성을 높을수록 비용이 많이 들어간다.

나인[편집]

특정 차수의 백분율은 때때로 숫자에서 9의 수 또는 "9의 클래스"로 지칭한다. 예를 들어, 중단 없이 공급되는 전기(정전, 정전 또는 서지)는 99.999%가 5 다섯개 신뢰도, 즉 5등급이다. 특히, 이 용어는 메인프레임이나 엔터프라이즈 컴퓨팅과 관련하여 사용되며, 종종 서비스 수준 계약의 일부로 사용된다. 마찬가지로 5로 끝나는 퍼센티지에는 전통적인 이름이 있다. 전통적으로 나인 수가 '5'이라서 99.95%는 줄여서 3N5로 부른다. 하지만 3.5 나인이라고 부르는데, 이것은 틀렸다. 5는 2의 인자에 불과하고, 9는 10의 인자에 불과하므로 5는 0.3 나인()이다. 99.95의 가용성은 3.5 나인이 아닌 3.3 나인이다. 간단히 말해서 99.9%의 가용성에서 99.95%의 가용성으로 가려면 2의 계수(0.1%에서 0.05%의 가용성이 없음)이지만 99.95%에서 99.99%의 가용성은 5의 계수(0.05%에서 0.01%의 가용성 없음)으로 2배 이상이다.

시스템의 사용 불가능에 기초한 등급의 공식은 다음과 같다.


물질의 순도를 설명하기 위해 유사한 측정법을 사용하는 경우도 있다.

일반적으로, 나인 수는 공식에서 적용하기 어렵기 때문에 네트워크 엔지니어가 가용성을 모델링하고 측정할 때 자주 사용하지 않는다. 0.00001과 같이 확률로 표현되거나 연간 다운타임이 인용된다. 다수의 나인으로 지정된 가용성은 종종 마케팅 문서에서 볼 수 있다. 이용불능의 영향이 발생 시간에 따라 다르다는 것을 적절히 반영하지 못하기 때문에, "나인"의 이용에 대해 의문이 제기되어 왔다. 9s의 다량의 경우, "사용 불가" 지수(다운타임)를 취급하기 쉽다. 예를 들어 하드 디스크나 데이터 링크 비트 오류율에 가용성 메트릭이 아닌 "사용 불가능"이 사용되는 이유가 여기에 있다.[2]

1세대[편집]

1세대는 시스템 장애만을 감지하는 수준이다. 시스템의 하드웨어 장애가 발생할 경우에만 장애를 감지해 대기 서버로 서비스를 이관한다. 그러나 애플리케이션의 장애는 감지하지 못하는 단점이 있으며 99.5% 정도의 가용성을 제공한다.

2세대[편집]

2세대는 시스템 장애뿐만 아니라 서비스 레벨까지 감지한다. 하드웨어 장애뿐만 아니라 애플리케이션의 장애까지 감지해 서비스를 이관한다. 현재 상용 제품들이 대부분 2세대에 속한다. 대표 제품으로는 레가토, 베리타스 클러스터를 들 수 있으며 99.99%정도의 가용성을 보장한다.

3세대[편집]

3세대는 커넥션 손실이 없는 차세대 HA(고가용성)이다. 2세대 HA는 운영 서버 장애 시 커넥션 손실이 발생한다. 그리고 대기 서버가 서비스를 시작하면 새로운 커넥션을 형성해야 한다. 차세대 HA는 커넥션 손실이 없는 100% 가용성에 가장 근접한 HA가 될 것이다.

단계[편집]

1단계 일반적인 가용성[편집]

시스템이나 디스크를 보호하기 위한 장치는 전혀 없으며, 1단계 백업 이외에는 별 다른 것이 없다. 시스템이 다운되면 백업한 시점 이후의 데이터를 잃을 수도 있고, 특별한 회복능력(resilence)이 보장되지 않는다.

2단계 가용성 증가[편집]

1단계에 비하여 온라인 데이터 보호를 제외하고는 별로 다를 것이 없다. 데이터 보호을 위하여 레이드 5(Parity bit을 이용한 레이드)나 미러링 같은 수준의 낮은 데이터 보호가 진행될 뿐이다. 디스크가 모두 훼손 되었을 경우 치명적인 시스템 다운은 피할 수 없다.

3단계 고가용성[편집]

3단계에서는 흔히 HA(High Availability)라고 하는데, 두 대의 같은 기능을 수행할 수 있는 시스템을 클러스터로 구성한 후 한 쪽 시스템에 제 기능을 수행할 수 없을 경우 다른 시스템이 대체 작동하게 함으로써, 시스템이 가지고 있는 대부분의 SPOF(Single Point of Failure)를 제거할 수 있는 큰 장점이 있다. 이 단계에서 일반적인 가용성은 99.98%까지 끌어올릴 수 있으나, 중복 투자되는 비용의 천문학적인 증가를 고려하여야 하며 End-to-End HA 시스템을 구성할 때는 반드시 네트워크까지도 고려해야만 한다.

4단계 재난 복구 시스템[편집]

4단계는 재해에 대한 자동 복구 시스템을 구축하는 것은 시스템 보호 단계 중 가장 비용이 많이 소요되며, 최상의 IT 기술력이 결집되어야만 가능하다. 천재지변에 대비하여 시스템은 원격지에 서로 이중화되어야 하며, 백업 시스템은 언제든지 자동으로 메인 시스템을 대체할 준비가 되어 있어야 한다.

4단계는 무정지 시스템(Fault Tolerant System)의 구성을 포함하는 경우도 있는데, 한 시스템 안에 두 세 개의 대체 부품을 장착하여 특정 부품에 문제가 생기더라도 각 부품이 대체 동작하거나 병렬로 동작해 시스템의 다운타임을 극소화시킬 수 있는 시스템을 말한다.

필요성[편집]

고가용성이랑 클러스터라는 용어는 엄밀히 말하면 다르지만, 고가용성이라는 의미로 혼용해 사용하고 있다. 몇몇 고가용성 제품들의 명칭에 클러스터라는 단어가 사용되고 있기 때문일 것이다. 고가용성의 목적은 서비스의 다운타임을 최소화함으로써 가용성을 극대화하자는 것이다. 운영 서버에 장애가 발생하더라도 대기 서버가 즉시 서비스를 대신 처리해 준다면 서비스의 다운타임은 최소화 될 수 있다. 운영 서버에 언제 장애가 발생할지는 아무도 예측할 수 없다. 관리자가 없는 새벽에도 서버 장애가 발생할 수도 있다. 고가용성은 관리자가 없을지라도, 운영 서버의 장애를 모니터링해 대기 서버가 처리할 수 있도록 함으로써 중단 없이 서비스를 제공하는 역할을 한다. 고가용성은 이와 같이 계획되지 않은 다운타임을 위해 구성하는 것이지만, 더불어 계획된 다운타임에 대해서도 이용할 수 있다. 운영 서버 작업시 고가용성을 이용해 대기 서버로 쉽고 빠르게 서비스를 이관할 수 있다. 이렇듯 고가용성은 서비스 이관의 편리함을 제공한다.[3]

각주[편집]

  1. 이진철 기자, 〈(시스템 관리 노하우를 말한다)②고가용성시스템 용량 산정 〉, 《지디넷코리아》, 2008-09-11
  2. High availability〉, 《위키피디아》
  3. HA(high Availability)란 무엇인가?〉, 《이글루스》

참고자료[편집]

같이 보기[편집]


  검수요청.png검수요청.png 이 고가용성 문서는 하드웨어에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.