고가용 SQL Server 데이터베이스 미러링
고가용 솔루션
데이터베이스 미러링은 데이터베이스의 가용성을 높여주는 주요 소프트웨어 솔루션입니다. 주(Principal)역할을 주서버라고 하며, 미러(Mirror)역할을 미러 서버라고 합니다. 미러링은 데이터베이스 복사본을 2개 동기화 유지하여 응용 프로그램의 끊김없는 DB 연결 및 데이터 손실을 최소화합니다.
미러링 구성
구성에는 총 3개의 SQL Server 인스턴스가 필요합니다.(가용성 우선 모드) 주(Principal)역할 서버 와 미러(Mirror) 역할 서버, 그리고 이를 모니터(Witness)하는 서버가 필요합니다. 모니터 서버는 주서버와 미러 서버를 모니터링하여 지정한 시간에 장애 조치 파트너 중 하나만 주 서버로 작동하게 하는 방식으로 자동 장애 조치를 지원합니다.
지정한 서버는 파트너 또는 미러링 모니터 서버로서 여러 개의 동시 DB 미러링 세션에 설정할 수 있습니다. 모든 세션(및 해당 데이터베이스)은 다른 세션에 대해 독립적으로 구성 및 운영됩니다. 데이터베이스 서버는 주로 응용 프로그램 서버(웹서버)등과 연동하여 운영하게 됩니다. 모니터(Withness) 역할 서버는 응용 프로그램 서버에 설치하면 되므로 별도의 모니터를 위한 하드웨어는 필요가 없습니다. (* Server 단위가 아닌 데이터베이스 단위로 트랜잭션량에 따라 10개 데이터베이스 이하를 권장)
장애 조치(Failover)
데이터베이스 미러링 세션에서는 역할 전환 프로세스를 통해 주 역할과 미러 역할을 서로 바꿀 수 있습니다. 역할 전환 시 미러 서버는 주 서버에 대한 장애 조치(Failover) 파트너 역할을 합니다. 미러 서버는 주 역할을 넘겨 받아 DB 복사본을 새로운 주 데이터베이스로 사용하도록 온라인 상태로 만듭니다. 서버 한 대가 손실되어도 데이터베이스는 여전히 작동되므로 고가용성이 지원됩니다. 이전 주 서버는 가능(복구)할 경우 미러 서버 역할을 맡으며 새 미러 데이터베이스가 됩니다. (역할 상호 전환)