구축 사례 – 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) 자체 모니터링 중지

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

[DB-Group – Failover]

VIP(가상아이피)

r0(로컬 복제 리소스)

MSSQLSERVER

SQLSERVERAGENT

구축이 정상적으로 진행되면 아래 그림처럼 동작합니다. (시스템 장애 예시)

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



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


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

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

– 코아랩 드림 –