1. DR (재해 복구)
DR(Disaster Recovery)은 예기치 못한 상황에 따라 운영 서버가 다운 됐을 때 서비스를 복구하기 위해 준비해 두는 대응책을 의미한다.
언뜻 서버 이중화와 비슷한 느낌이긴 하지만 좀 다르다. 이중화는 같은 서버실에 서버를 여러 대 두고 급격한 리소스 부하를 대비하는 개념이라면 DR 서버는 지리적으로 다른 공간에 구축된다.
그러니까 물리적인 피해까지 대비한다. 예를 들어 서버실에 불이 나거나 지진이 나도 멀리 떨어져 있는 DR 서버를 통해 서비스를 복구할 수 있다.
2. DR 유형
DR 서버는 얼마만큼 완벽하게 복구를 대비하느냐를 기준으로 미러 사이트, 핫 사이트, 웜 사이트, 콜드 사이트 4가지 유형으로 나누어 구분한다.
복구라는 게 당연히 완벽해야 되는 거 아닌가? 싶은 생각도 들지만 당연하게도 완벽에 가까울수록 비용이 많이 들어간다. 그래서 모든 경우에 최고의 DR을 구성하진 않는다. 예산과 필요에 따라 적절하게 선택하는 것이다.
1. 미러 사이트 (Mirror Site)
운영 서버와 동일한 수준으로 DR 서버를 구성하는 방식이다. Active 방식으로 동일하게 계속 서버를 돌리고 데이터도 실시간 동기화 한다. 그래서 이론적으로 운영 서버가 다운됐을 때 곧바로 완벽에 가까운 복구가 가능하다.
2. 핫 사이트 (Hot Site)
운영 서버와 동일한 수준으로 DR 서버를 구성하는 것은 미러 사이트와 동일하나 평소엔 Standby 방식으로 두고 재해가 발생했을 때 Active로 전환하는 방식이다.
3. 웜 사이트 (Warm Site)
운영 서버와 동일한 수준으로 DR 서버를 구성하되 중요도가 높은 데이터만 선별적으로 저장하는 방식이다.
4. 콜드 사이트 (Cold Site)
최소한의 수준으로 DR 서버를 구성해서 데이터만 보관하는 방식이다.
참고로 국내에선 주로 이렇게 4가지 분류로 구분하는데 해외에선 미러 사이트를 제외하고 3가지로 구분하기도 하는 거 같다. 그리고 이 구분은 그냥 적당히 틀만 알고가면 될 거 같다. 실제로는 서비스 특성에 따라 구체적으로 어떻게 DR을 구성하지가 더 중요하다. 용어 구분이 뭐가 중요하겠나.