구축 사례 – OO시

오늘은 구축 사례에 대해서 첫 글을 써보려 합니다.

고객사의 상황은 노후 서버를 쓰고 있었습니다. Windows Server 2008 R2 SP1 Std 단일 서버 환경이었고

고도화 사업을 통해서 OS 업그레이드 및 서버 이중화를 구상하고 있었습니다.

그림으로 요약하면 아래와 같습니다.

대고객 서비스를 하는 업무이기 때문에 인터넷망(공인 IP 사용)으로 연결되어 있고 내부는 사설 IP로

방화벽에서 포트포워딩을 통해 공인 IP로 맵핑하여 서비스를 하는 것입니다.

구성의 난이도는 로컬 디스크 복제의 단순한 구성입니다.

서버 이중화를 위한 시스템 사전 요구사항은 다음과 같습니다.

서버 이중화 구성의 순서는 아래와 같습니다.

  1. 하드웨어 설치
  2. 운영체제 설치
  3. 이중화 대상 APP 설치
  4. 서버 이중화 설치
  5. 페일오버 테스트

여기서 보통 가장 까다롭고 신경을 써야 하는 부분이 3번입니다. 이 고객사에서는 MS SQL SERVER 2019를

사용하는데 처음 설치 시 가이드대로 설치가 되지 않아 재설치를 하였습니다.

보통 DB나 APP 설치를 할 때 아래의 방식으로 설치를 진행합니다.

1) DB의 경우 양쪽에 반드시 동일한 경로로 설치
2) DB의 엔진과 DATA는 반드시 분리 구성
3) 복제 및 공유 구성에서는 엔진은 제외되며, 반드시 DATA만 복제 및 공유 볼륨이나 파티션에 위치함
4) DB의 Temp DB는 I/O를 많이 유발하므로 엔진 쪽 경로에 동일하게 위치
5) 복제 구성을 위한 볼륨은 가능하면 분리된 LUN으로 구성 권장
6) APP이 설치 시 경로, 버전, 환경변수 등은 반드시 양 서버에 동일하게 셋팅
7) 복제 및 공유해야 할 DATA가 있을 경우 DB HA 구성과 동일하게 구성
8) APP은 반드시 서버 이중화 솔루션을 통해 제어가 이뤄져야 하며, 시작 유형은 반드시 수동이거나
재부팅 시 자동시작(시작 프로그램 혹은 자체 재시작 제어 모듈)이 중지 되어야 함
9) WatchDog APP의 경우(부모 – 자식 프로세스로 동작하는 APP) 자체 모니터링 중지

또한 여기는 가상아이피(VIP) 사용 시 MAC이 고정되어 Standby 서버로 절체 후에 통신이 되지 않는 문제가

있었습니다. 이 부분은 특정 네트워크 장비(NAC)에서 MAC 고정을 풀어주고 해결하였습니다.

그 외 특이사항 없이 마무리 되었습니다.

이 고객사의 구성 환경을 정리하면 아래와 같습니다.(실제 이중화 솔루션에 등록되는 리소스의 종류 및 숫자)

[DB-Group – Failover]

VIP(가상아이피)

r0(로컬 복제 리소스)

MSSQLSERVER

SQLSERVERAGENT

보통 서버 이중화 구성은 준비 작업이 잘 된 경우 1시간 안에 끝나게 됩니다.

그러나 현장 상황에서 부득이 지연되는 경우가 많은데 위에서 언급했듯이

APP의 잘못된 설치가 대부분입니다.

거기다가 데이터 Sync를 해야 하는 DATA 양이 많은 경우를 생각해야 합니다.

따라서 보통 서버 이중화 작업의 경우는 1일 ~ 2일 정도를 예상하고 추후 테스트를 진행할 경우

추가 1일까지 계산하여 보통 3일 정도 작업 일정을 예상합니다.

1일에 다 끝나는 경우는 Best Case 입니다.

구축이 잘되면 아래 그림처럼 동작합니다. (시스템 장애 예시)

시스템 장애의 경우 장애감지 후 페일오버까지 대략 10초 정도의 시간이 소요됩니다.



여기까지 OO시의 구축 사례를 알아보았습니다.

서버 이중화 솔루션은 국내에서도 여러 종류의 제품이 판매되고 있기 때문에 제품 경험이 있으신 분들은

내용을 어느 정도 이해하셨을 거라고 생각합니다.

실제 현장의 내용을 100% 담을 수 없는 점 양해 바라며 다음 구축 사례에서 뵙겠습니다.

오늘도 저희 글을 읽어 주셔서 감사합니다.

– 코아랩 드림 –