서버 이중화, 한 대가 멈춰도 업무를 지키는 원리
업무용 서버 한 대에 전자결재, 파일 공유, 데이터베이스가 모두 올라가 있다면 장비 고장 한 번이 회사 전체의 업무 중단으로 이어질 수 있습니다. 복구용 백업이 있더라도 새 장비를 준비하고 데이터를 되돌리는 동안 서비스는 멈춥니다. 서버 이중화는 이러한 중단 시간을 줄이기 위해 동일한 역할을 수행할 수 있는 서버와 구성 요소를 둘 이상 준비하는 방식입니다.
처음 인프라를 담당하면 서버를 두 대 구매하는 것만으로 이중화가 완성된다고 생각하기 쉽습니다. 하지만 실제로는 트래픽을 넘겨주는 장치, 데이터 동기화 방식, 장애를 판단하는 기준, 전환 후 복귀 절차까지 함께 설계해야 합니다. 이 글은 서버와 네트워크에 익숙하지 않은 담당자도 구조를 그릴 수 있도록 기초 개념부터 구축 순서, 비용 판단, 자주 생기는 오해까지 차근차근 설명합니다.
서버 이중화가 필요한 순간은 따로 있습니다
백업과 이중화는 해결하는 문제가 다릅니다
서버의 기본 개념을 보면 서버는 네트워크를 통해 다른 컴퓨터에 기능이나 데이터를 제공하는 시스템입니다. 여러 사용자가 하나의 서버에 의존할수록 장애의 영향도 함께 커집니다. 그래서 서버 이중화의 출발점은 장비 수량이 아니라 이 서버가 멈췄을 때 누가, 얼마나 오래 불편을 겪는가를 확인하는 일입니다.
백업은 삭제, 손상, 랜섬웨어 감염처럼 데이터가 잘못되었을 때 이전 시점으로 되돌리는 장치입니다. 반면 이중화는 현재 서비스를 제공하던 구성 요소가 고장 났을 때 대기 중인 구성 요소가 업무를 이어받게 합니다. 백업만 있으면 복원 시간이 필요하고, 이중화만 있으면 잘못 삭제된 데이터가 대기 서버에도 그대로 복제될 수 있습니다. 둘은 대체 관계가 아니라 서로 다른 위험을 담당하는 보완 관계입니다.
예를 들어 직원 40명이 사용하는 내부 자료 조회 서버는 한 시간 멈춰도 수기 업무로 버틸 수 있을지 모릅니다. 그러나 주문을 접수하는 데이터베이스가 멈추면 매출과 고객 응대에 즉시 영향을 줍니다. 모든 서버를 동일한 수준으로 이중화하기보다 업무 영향도에 따라 우선순위를 정해야 과도한 비용을 피할 수 있습니다.
- 가용성 위험: 하드웨어 고장, 운영체제 오류, 네트워크 단절로 서비스에 접속하지 못하는 상황입니다.
- 데이터 위험: 삭제, 변조, 암호화, 논리적 손상이 복제본까지 전파되는 상황입니다.
- 운영 위험: 전환 절차가 문서화되지 않아 담당자가 장애 중에 판단을 내리지 못하는 상황입니다.
- 시설 위험: 두 서버가 같은 전원, 스위치, 냉각 장비를 사용해 동시에 영향을 받는 상황입니다.
초보 담당자라면 “서버가 고장 날 확률”보다 “서비스가 30분 멈췄을 때 발생하는 손실”을 먼저 계산해 보세요. 이중화 수준을 결정하는 기준이 훨씬 선명해집니다.
액티브와 스탠바이 구조부터 구분해야 합니다
평소에 누가 서비스를 처리하는가
서버 이중화는 크게 액티브-스탠바이와 액티브-액티브로 나눌 수 있습니다. 액티브-스탠바이는 주 서버가 평상시 업무를 처리하고 보조 서버는 대기하다가 장애가 발생하면 역할을 넘겨받습니다. 구조가 비교적 단순하고 애플리케이션 호환성을 확보하기 쉬워 사내 업무 시스템에 자주 검토됩니다.
액티브-액티브는 두 대 이상의 서버가 동시에 요청을 처리합니다. 정상 시에도 장비 자원을 활용할 수 있고 특정 서버에 요청이 몰리는 현상을 줄일 수 있습니다. 다만 사용자 로그인 상태, 임시 파일, 데이터 쓰기 순서처럼 서버 사이에서 일관성을 유지해야 할 항목이 많아집니다. 애플리케이션이 다중 서버 실행을 지원하지 않는다면 장비를 추가해도 안정적으로 동작하지 않을 수 있습니다.
여기서 클러스터는 여러 서버를 하나의 서비스 단위처럼 묶어 상태를 확인하고 역할을 전환하는 구성입니다. 로드밸런서는 사용자의 요청을 정상 서버로 분배하는 역할을 합니다. 두 용어가 함께 등장하지만 같은 것은 아닙니다. 클러스터가 서버의 상태와 자원 소유권을 관리한다면 로드밸런서는 접속 흐름을 어느 서버로 보낼지 결정합니다.
| 구분 | 액티브-스탠바이 | 액티브-액티브 |
|---|---|---|
| 평상시 처리 | 주 서버가 담당 | 여러 서버가 분담 |
| 구성 난이도 | 상대적으로 낮음 | 상태 동기화 때문에 높음 |
| 자원 활용 | 대기 장비 활용도가 낮을 수 있음 | 정상 시에도 전체 자원 활용 가능 |
| 적합한 상황 | 업무 시스템, 단일 실행 애플리케이션 | 웹 서비스, 수평 확장이 가능한 애플리케이션 |
| 주요 확인점 | 전환 시간과 대기 서버 데이터 | 세션, 파일, 데이터 일관성 |
자동 전환은 빠르지만 판단 오류도 고려합니다
장애 전환, 즉 페일오버는 수동 또는 자동으로 실행할 수 있습니다. 수동 전환은 담당자가 상황을 확인한 뒤 대기 서버를 활성화하므로 잘못된 전환 가능성을 낮출 수 있지만 야간이나 휴일에는 대응이 늦어집니다. 자동 전환은 미리 정한 조건에 따라 빠르게 동작하지만 일시적인 네트워크 지연을 서버 장애로 잘못 판단하면 불필요한 전환이 발생할 수 있습니다.
특히 두 서버가 서로의 상태를 확인하지 못한 채 자신이 주 서버라고 판단하는 스플릿 브레인은 주의해야 합니다. 양쪽에서 같은 데이터에 동시에 쓰기를 시도하면 복구가 어려운 불일치가 생길 수 있습니다. 이를 막기 위해 제3의 판단 지점인 쿼럼, 중재 서버 또는 스토리지 잠금 같은 장치를 사용합니다.
- 서비스 프로세스만 멈춘 것인지 서버 전체가 응답하지 않는지 구분합니다.
- 한두 번의 통신 실패가 아닌 연속 실패 횟수와 대기 시간을 정합니다.
- 대기 서버가 최신 데이터를 가지고 있는지 확인한 뒤 서비스를 활성화합니다.
- 기존 주 서버가 임의로 다시 서비스를 시작하지 못하도록 차단합니다.
- 사용자 접속 주소가 새 서버를 향하는지 검증하고 담당자에게 알립니다.
서버 두 대 밖의 단일 장애 지점을 찾습니다
전원과 네트워크가 하나라면 함께 멈춥니다
서버만 두 대이고 두 장비가 하나의 스위치에 연결되어 있다면 그 스위치가 새로운 단일 장애 지점이 됩니다. 같은 멀티탭과 UPS를 쓰거나 동일한 스토리지에 의존하는 경우도 마찬가지입니다. 이중화 설계에서는 서비스 경로를 따라가며 하나뿐인 구성 요소를 표시해야 합니다.
사용자가 웹 주소를 입력한 뒤 서비스에 도달하는 흐름을 그려보세요. DNS, 인터넷 회선, 방화벽, 로드밸런서, 스위치, 서버, 스토리지, 데이터베이스가 차례로 등장합니다. 어느 하나라도 멈추면 서비스가 중단되는 구조라면 서버 이중화만으로 목표한 가용성을 확보하기 어렵습니다. 관련 용어를 처음 접했다면 다른 관점의 서버 설명 자료를 함께 참고하면 클라이언트와 서버의 관계를 이해하는 데 도움이 됩니다.
그렇다고 모든 구성 요소를 처음부터 두 세트로 구매할 필요는 없습니다. 장애 영향이 큰 경로부터 단계적으로 개선하면 됩니다. 예를 들어 서버에는 이중 전원공급장치가 있지만 두 전원선이 같은 UPS에 연결되어 있다면 서로 다른 전원 계통으로 나누는 작업이 우선입니다. 네트워크 카드가 두 개라면 서로 다른 스위치로 연결하고, 스위치 간 연결 구조가 끊겨도 통신 가능한지 확인해야 합니다.
- 전원: 서버의 이중 전원공급장치가 독립된 PDU나 UPS에 연결되는지 확인합니다.
- 네트워크: 서버별 이중 포트, 스위치 이중화, 회선 경로 분리를 함께 살핍니다.
- 스토리지: 컨트롤러, 디스크 경로, 전원부 중 하나가 고장 나도 접근 가능한지 확인합니다.
- 관리 시스템: 인증 서버나 관리 콘솔 장애 때문에 전환 작업 자체가 막히지 않는지 점검합니다.
- 물리 위치: 같은 랙의 전원이나 냉각 장애가 두 서버를 동시에 멈추게 하지 않는지 살핍니다.
데이터 복제의 거리와 속도에는 대가가 있습니다
데이터를 주 서버에서 대기 서버로 복제하는 방식은 동기식과 비동기식으로 나뉩니다. 동기식 복제는 양쪽 저장이 확인된 뒤 작업 완료를 응답하므로 데이터 손실 가능성을 줄이는 데 유리합니다. 대신 서버 사이의 지연이 길어지면 업무 처리 속도까지 느려질 수 있습니다. 같은 전산실이나 지연이 매우 낮은 구간에서 주로 검토하는 이유입니다.
비동기식 복제는 주 서버가 먼저 완료를 응답하고 데이터를 뒤이어 전송합니다. 먼 거리의 재해복구센터와 연결하기 쉽지만 장애 직전의 일부 데이터가 대기 서버에 도착하지 않았을 수 있습니다. 이 차이를 판단할 때 사용하는 지표가 RPO와 RTO입니다. RPO는 허용 가능한 데이터 손실 시점, RTO는 업무를 다시 시작하기까지 허용되는 시간입니다.
- RPO가 0에 가까워야 한다면 동기 복제 가능 여부와 애플리케이션 트랜잭션을 확인합니다.
- 수 분의 데이터 손실을 감수할 수 있다면 비동기 복제로 거리와 비용의 선택 폭을 넓힐 수 있습니다.
- RTO가 짧다면 자동 전환뿐 아니라 DNS 갱신, 애플리케이션 시작, 데이터 검증 시간도 포함해야 합니다.
- 복제 지연 수치는 평균값보다 업무가 몰리는 시간대의 최댓값을 기준으로 살펴야 합니다.
“복제가 정상입니다”라는 화면만 믿지 말고 대기 서버에서 실제 파일이나 레코드의 최신 시각을 확인하세요. 상태 표시와 실제 데이터의 준비 상태가 다를 수 있습니다.
구축은 업무 기준과 전환 시험에서 완성됩니다
장비 견적보다 먼저 네 가지 질문을 적습니다
서버 이중화 비용은 서버 한 대의 가격을 두 배로 계산한다고 나오지 않습니다. 운영체제와 데이터베이스 라이선스, 클러스터 기능, 로드밸런서, 네트워크 포트, 스토리지, 구축 작업, 유지보수와 정기 시험 비용이 함께 들어갑니다. 소프트웨어에 따라 대기 서버에도 라이선스가 필요할 수 있으므로 공급사의 계약 조건을 확인해야 합니다.
견적을 받기 전에는 업무 부서와 서비스 허용 중단 시간을 합의해야 합니다. “가능하면 멈추지 않게 해 주세요”라는 요청만으로는 적정 구성을 고르기 어렵습니다. 월말 정산 시간에는 10분 중단도 어렵지만 새벽에는 두 시간 점검이 가능한 시스템처럼 시간대별 조건이 다를 수 있기 때문입니다.
또한 기존 애플리케이션이 서버 이름, IP 주소, 로컬 디스크 경로를 고정해서 사용하는지 확인해야 합니다. 특정 서버에만 인증서나 배치 파일이 저장되어 있다면 전환 후 프로그램이 실행되어도 일부 기능은 실패할 수 있습니다. 범정부 수준의 대규모 사례와 규모는 다르지만, 여러 구성 요소를 하나의 서비스로 관리한다는 관점은 IT 서비스 시스템 관련 설명에서도 살펴볼 수 있습니다.
- 업무 분류: 매출, 생산, 고객 응대에 미치는 영향을 기준으로 중요도를 나눕니다.
- 목표 수립: 서비스별 RTO와 RPO를 숫자로 정하고 승인받습니다.
- 의존성 조사: DNS, 인증, 데이터베이스, 파일 경로, 외부 연동을 도식화합니다.
- 방식 선정: 액티브-스탠바이 또는 액티브-액티브와 데이터 복제 방식을 선택합니다.
- 전환 설계: 장애 감지 조건, 전환 순서, 알림 대상, 원복 기준을 문서화합니다.
- 시험 운영: 업무 담당자가 실제 기능을 확인한 뒤 운영 환경에 반영합니다.
성공 기준은 전환이 아니라 업무 재개입니다
페일오버 시험에서 대기 서버의 전원이 켜졌다는 사실만 확인하면 충분하지 않습니다. 사용자가 같은 주소로 로그인할 수 있는지, 최근 데이터가 보이는지, 파일 업로드와 출력이 가능한지, 외부 시스템 연동과 예약 작업이 다시 실행되는지까지 확인해야 합니다. 기술팀의 서버 상태와 현업의 업무 상태는 서로 다를 수 있습니다.
시험은 사전에 알리고 진행하는 계획 시험과 예고 없이 조건을 주는 모의훈련으로 나눌 수 있습니다. 처음에는 계획 시험으로 절차를 다듬고, 안정된 뒤 제한된 범위에서 모의훈련을 실시하는 편이 안전합니다. 운영 중인 주 서버의 전원을 바로 끄기보다는 서비스 프로세스 중단, 네트워크 경로 차단, 서버 정지처럼 시나리오를 단계적으로 높입니다.
- 장애 감지 시각과 알림 도착 시각을 기록합니다.
- 전환 명령부터 사용자의 정상 접속까지 걸린 시간을 측정합니다.
- 장애 직전 입력한 데이터가 대기 서버에 존재하는지 확인합니다.
- 전환 과정에서 중복 처리된 주문이나 배치 작업이 없는지 검사합니다.
- 기존 서버가 복구됐을 때 데이터 재동기화와 원복 절차를 실행합니다.
- 문서만 보고 다른 담당자가 같은 작업을 수행할 수 있는지 검증합니다.
고가용성이 항상 최선이라는 생각도 점검해야 합니다
작은 시스템이라면 단순한 복구가 더 나을 수 있습니다
서버 이중화가 안정성을 높여 주는 것은 맞지만 모든 업무 시스템에 필수인 것은 아닙니다. 이용자가 적고 허용 중단 시간이 길며 다른 업무 방식으로 잠시 대체할 수 있다면, 복잡한 클러스터보다 신뢰할 수 있는 백업과 예비 장비, 명확한 복구 절차가 경제적일 수 있습니다. 복잡성도 장애를 만드는 원인이므로 운영 인력이 구조를 이해하지 못하면 이중화 기능이 오히려 대응을 늦출 수 있습니다.
가상화 환경에서는 새 물리 서버를 구입하는 대신 다른 호스트에서 가상 서버를 다시 시작하는 방식도 선택할 수 있습니다. 클라우드에서는 여러 가용 영역에 인스턴스를 배치하거나 관리형 데이터베이스의 장애 전환 기능을 이용할 수 있습니다. 다만 상품 이름에 고가용성이라는 표현이 있어도 애플리케이션 세션, 파일, DNS, 외부 연동까지 자동으로 보호된다는 뜻은 아닙니다. 서비스 범위와 책임 경계를 문서로 확인해야 합니다.
초보자가 자주 묻는 질문 중 하나는 “서버 두 대면 무중단인가요?”입니다. 답은 아닙니다. 전환 중 기존 연결이 끊기거나 수 초에서 수 분 동안 재접속이 필요할 수 있습니다. 진정한 무중단에 가까워지려면 애플리케이션이 요청 재시도와 세션 공유를 지원하고, 데이터베이스 전환 중 발생하는 오류까지 처리해야 합니다.
- 질문: 두 서버의 사양은 꼭 같아야 하나요?
대기 서버가 장애 시 전체 업무 부하를 처리해야 한다면 필요한 CPU, 메모리, 저장장치 성능을 확보해야 합니다. 모델이 완전히 같을 필요는 없지만 운영체제와 클러스터 솔루션의 호환성은 반드시 확인합니다. - 질문: 이중화하면 점검 중에도 서비스가 유지되나요?
한쪽 서버씩 순서대로 점검할 수 있는 구조라면 중단을 줄일 수 있습니다. 다만 데이터베이스 스키마 변경이나 공용 스토리지 작업처럼 양쪽에 동시에 영향을 주는 점검은 별도 중단이 필요할 수 있습니다. - 질문: 백업은 이제 줄여도 되나요?
줄이면 안 됩니다. 랜섬웨어, 잘못된 데이터 입력, 관리자 실수는 복제를 통해 대기 서버로 전달될 수 있으므로 분리 보관된 백업과 복원 시험이 계속 필요합니다. - 질문: 자동 전환이 무조건 좋은가요?
24시간 서비스처럼 RTO가 짧다면 효과적이지만, 오판 전환의 위험과 데이터 충돌 방지 장치가 필요합니다. 업무 시간에만 사용하는 소규모 시스템은 승인 후 수동 전환이 더 단순하고 안전할 수 있습니다.
투자하지 않는 선택에도 복구 기준이 필요합니다
이중화를 보류한다면 아무 조치도 하지 않는 선택과 같아서는 안 됩니다. 예비 장비를 어디에서 조달할지, 운영체제와 애플리케이션 설치 파일은 준비되어 있는지, 백업을 어느 서버로 복원할지, 업무 부서에는 누가 상황을 알릴지 정해야 합니다. 실제 복원 시간을 측정하면 예상보다 오래 걸리는 다운로드, 라이선스 인증, 네트워크 설정 같은 병목을 찾을 수 있습니다.
반대로 모든 시스템을 최고 수준으로 이중화하자는 주장도 현실적인 운영 조건과 맞지 않을 수 있습니다. 제한된 예산을 중요도가 낮은 서버의 자동 전환에 쓰면 정작 핵심 데이터베이스의 백업 검증이나 노후 스위치 교체가 뒤로 밀릴 수 있습니다. 좋은 IT 인프라 설계는 가장 많은 장비를 배치하는 일이 아니라, 허용 가능한 위험을 합의하고 그 약속을 반복해서 시험하는 일입니다.
- 중단을 감수할 수 있는 서비스는 복구 절차와 예비 자원으로 대응합니다.
- 짧은 중단도 매출이나 안전에 영향을 주는 서비스는 자동 전환을 우선 검토합니다.
- 이중화 대상에서도 백업, 보안 패치, 모니터링은 별도 통제로 유지합니다.
- 분기 또는 반기 단위로 장애 전환과 원복을 시험하고 실제 소요 시간을 갱신합니다.
- 사업 규모와 사용량이 변하면 처음 정한 RTO, RPO와 비용 타당성을 다시 검토합니다.

- 다음글사내 IT자산관리 시스템을 한 달 운영해봤더니 달라진 것 26.08.29
등록된 댓글이 없습니다.
