미스터 역마살
SQL Server 고가용성 본문
SQL Server 고가용성
Mirroring
미러링이란 장비가 고장나는 사고가 발생 했을때 데이터가 손실되는것을 방지하기 위해 데이터를 하나 이상의 장치에 중복 저장하는 것을 말한다. 주 DB가 장애 발생시 보조 DB를 사용할 수 있다. 미러링 구성시 총 주역할, 보조역할, 모니터링 역할 이렇게 3개의 SQL Server 인스턴스가 필요하다.
모니터 서버는 주서버와 미러 서버를 모니터링 하여 지정한 시간에 장애조치 파트너 중 하나만 주 서버로 작동하게 하는 방식으로 장애조치를 지원한다. 보조서버는 주서버가 장애가 나지 않으면 READ 될 수 없기 때문에 주서버의 부하를 줄여 줄 수 없다. 해당 기능은 2019 이후 버전부터는 제거될 이중화 기술이다.
Log Shipping
주 서버가 정기적으로 백업한 트랜잭션 로그를 보조서버에 정기적으로 복사하고, 이를 복원해서 주 서버와 보조 서버가 같은 데이터베이스가 유지하도록 하는 방법이다. 장점은 주서버어 대한 부하를 감소 시킨다. 단점은 장애 발생시 자동 장애조치가 불가능 하고 수동 장애조치가 매우 까다롭다. 또한 장애조치시 클라이언트의 리다이렉션 기능이 없다.
MSCS
MSCS(Microsoft Cluster Service)는 두개 이상의 컴퓨터 그룹으로써 서로 연결 되어 있으며 하나가 실패하면 MSCS가 장애 복구를 수행하여 실패한 컴퓨터로 부터 클러스터에 있는 다른 컴퓨터로 애플리케이션의 상태 데이터를 전송하고 그 컴퓨터에서 해당 조작을 다시 시작하는 방식으로 구성된다.
두 개의 시스템 클러스터는 가상 IP 주소를 사용하여 클라이언트 액세스를 위해 네트워크에 공동으로 연결된 두 개의 컴퓨터(예: A와 B)로 구성된다. 또한 한 개 이상의 사설 네트워크에 의해 서로 연결될 수도 있으며, A와 B는 각각에 있는 서버 애플리케이션이 최소한 한 개의 디스크를 공유하여 사용한다.
Always on
SQL Server 2012부터 생긴 기능으로서 엔터프라이즈 레벨의 고가용성과 재해복구 기능을 갖춘 하나이상의 데이터베이스에 대한 최대한의 가용성을 보장한다. 가용성 그룹(Availability Group), FCI(Failover Cluster Instance), HA 배포 및 관리에 이르는 전체적인 데이터베이스 고가용성을 위한 기능의 묶음이다. Always on의 장점은 아래와 같다.
- DB 이중화
- 주 서버 장애 발생시 즉각적인 서비스 전환
- 리스너를 이용한 단일 Connecting String 구성
- 보조 서버 DB 데이터 읽기를 통한 서비스 부하 분산
DB 데이터 실시간 복제 수행 및 장애조치(Failover)
주 서버와 보조 서버 간의 실시간 데이터 동기화를 통한 데이터 중복성을 제공한다.
기존 DB 미러링 구성과 달리 모니터링 서버가 필요 없으며, 장애 조치 클러스터 (WSFC)를 이용하여 자동 장애 조치를 지원한다.
가용성 그룹
기존 미러링은 장애 조치 시 Application에서 접속하는 인스턴스를 변경해야 했으나, AlwaysOn에서는 가용성 그룹 수신기를 사용하여 Application의 수정 없이 DB 데이터에 연결 할 수 있다.
보조 복사본을 구성할 때 Read/Write를 수행할 것인지 Read Only만 수행할 것인지 설정하므로, Read Only 작업은 해당 역할을 수행하는 보조 복사본으로 구성한다.
'Database > SQL SERVER' 카테고리의 다른 글
SQL Server 백업 및 복구 (0) | 2022.07.31 |
---|---|
SQL Server 아키텍처 (0) | 2022.07.27 |