본문 바로가기

운영/고가용성

미러링 구성에서 주 서버 장애 시 보조 서버로 긴급 복구

728x90

미러링 구성에서 장애 발생

mirroring

위의 그림처럼 두 개의 서버에 Db_1을 미러링으로 구성하였습니다.

첫번째 서버의 db 가 주서버 역할을 하고 있는 중 서버 장애가 발생하여 서버가 정상적으로 기동되지 않을 경우가 발생합니다. 주 서버가 기동되지 않은 상태에서 보조 서버는 주서버로 전환이 되지 않고 그대로 대기하고 있습니다. 이럴 경우 강제로 Fail over를 하고자 하는데 메뉴가 활성화 되지 않아 진행을 할 수가 없습니다.

 

 

대처 방법

주 서버가 복구가 되지 않을 것이라 예상이 될 경우 미러링 구성을 제거하고 보조서버를 단독 서버로 정상화 시켜 서비스를 해야 합니다. 

첫번째 보조 서버의 DB 상태는 In Recovery / Restoring 상태로 주서버에서 로그를 전달해 주기를 기다리는 상태가 됩니다.

ALTER DATABASE <<DB NAME>> SET PARTNER OFF

위의 구문을 사용하여 미러링 구성을 제거하여 상태를 바꿉니다.

구문을 실행하면 Restoring 상태가 없어지고 DB는 In Recovery 상태만 유지하게 됩니다.

RESTORE DATABASE <database_name> WITH RECOVERY;

더 이상 로그를 가지고 복원할 수 없기 때문에 위의 구문을 사용하여 RECOVERY 상태로 변환하여 서비스를 시작합니다.

 

이렇게 운영 후 주 서버가 조치가 완료되면 미러링 구성을 다시 해야 합니다.

728x90