IT/SQLD

MSSQL AlwaysOn(고가용성) 기능 소개

알콩달콩아빠 2022. 9. 25. 14:50
728x90
반응형

● MSSQL AlwaysOn(고가용성) 기능 소개

 

2012년 상반기, 마이크로소프트에서 Microsoft SQL Server 2012를 출시하면서 'AlwaysOn' 이라는 HA 기술이 추가 되었습니다.

이전 버전에서의 HA 방식으로는 Microsoft Cluster Server(MSCS)와 함께 사용하는 MSSQL Failover Clustering, 그리고 MSSQL Mirroring 등의 기술이 있었습니다.

 

이번에 출시된 MSSQL AlwaysOn HA기술은 기존 HA 방식들의 특징, 예를 들면 별도의 공유 스토리지가 필요하지 않으며 Active Node 이외에의 Standby 노드도 엑세스 할 수 있는 점 등이 장점으로 보입니다.

 

 

 

● 구성 가능 버전

Enterprise Edition 이상으로 구성 해야하며 버전은 SQL Server 2012 이상을 권장합니다.

 

 

● AlwaysOn 동작 방식

 

 

● AlwaysOn 구축 관련 네트워크 환경 

 


AlwaysOn 구성을 하기 전 준비 사항으로 Microsoft Cluster Server(MSCS) 구축을 위한 Active Directory Domain Controller 서버 세팅이 필요하며, 5대의 Database 서버들을 AD Join 후 MSCS 구축을 먼저 진행 하였습니다.

 

AlwaysOn 세팅을 위한 MSCS 구축 과정에서는 Quorum 과 MSDTC 설정을 할 필요가 없습니다.

MSCS 클러스터만 세팅하고 바로 MSSQL 설치를 진행합니다.

 

 

 

● AlwaysOn 설치

AD 및 MSCS 구성 과정은 생략

- DB서버 5대는, 각각 Standalone 방식으로 개별 설치를 합니다.

- AlwaysOn 구성을 마친 후에는, 반드시 수신기(DB Virtual IP)등록을 하도록 합니다.

 

(* MSSQL Failover Cluster는 Instance 단위로 동작을 하였지만, AlwaysOn 구성 및 동작 방식은 Instance 단위가 아닌 개별 Database 별로 동작합니다. 이전 버전인 MSSQL Mirroring 과 비슷하다고 보시면 됩니다.)

 

 

아래 내용은 5대의 DB서버를 AlwaysOn 고가용성 그룹에 포함시켜서 구성하는 절차를 다루었습니다.

 

 

(1-1) AlwaysON 기능 사용을 위해서는 아래와 같이, [ SQL Server 구성 관리자 ]에서 기능 활성화를 시켜줘야 한다.

기능 활성화는, AlwaysON 구성 할 각각의 서버에서 개별적으로 활성화 시켜줘야 한다.

   

 

 

 

(1-2) 최초 AlwaysON 구성을 위해서는 부하분산 이중화 구성을 할 Database가 필요하며, 해당 Database는 Master 서버(AlwaysON 1)서버에만 존재해야 한다.

 

Slave 서버 및 Replication 서버에 동일한 이름의 Database가 존재할 경우 구성이 되지 않으니... Master 서버 이외에서는 Database를 백업 후 존재하지 않도록 조치를 해야 한다.

 

이번 AlwaysON 구축 대상 Database 명은, "renew_nidc" 이다.

   

 

 

 

(1-3) "AlwaysON 고가용성" -> "새 가용성 그룹 마법사"에 진입하여, AlwaysON을 구성하도록 한다.

   

 

 

 

(1-4) "가용성 그룹 이름"은 관리자가 구성 파악에 용이하도록 Database명과 동일하게 아래와 같이 기입 후 다음.

 

 

 

(1-5) 부하분산 이중화 구축 대상 Database 선택 후, 다음.

 

 

(1-6) AlwaysON 구성 대상 노드들을 아래와 같이 "복제본 추가" 메뉴를 이용하여 추가를 한다.

한 개의 AlwaysON 구성에는 최대 5 노드까지 구성이 가능하다.

 

- 자동 장애 조치 : 최대 2노드 선택 가능

- 동기 커밋 : 최대 3노드 선택 가능

- 그 외 복제본 : 최대 2노드 더 추가 가능.

 

 

(1-7) 동기화 기본 설정은 "전체" 선택.

공유 네트워크 위치는 AlwaysON 구성 시, Database 백업 및 Transaction Log 백업을 하여 데이터를 넘기는 방식으로써 Master 역할을 하는 서버의 특정 폴더를 지정하도록 한다.

 

해당 공유 네트워크 위치를 사용하는 시기는, 최초 AlwaysON 구성 시 한차례만 이용된다.

 

 

 

(1-8) 구성 관련 유효성 검사 확인.

 

 

 

(1-9) 유효성 검사 완료 후, 구성원 서버들로 Database 백업 및 복원을 이용한 복제 작업 진행 완료.

 

 

 

(1-10) 구성이 완료되면, 아래와 같이 AlwaysON 구성 상태 확인이 가능하다.

   

 

 

 

● AlwaysOn 수신기 설정

 

수신기의 역할은 Master(주 서버)서버에 장애가 발생되어 서비스 다운이 될 경우, DB Connection 시 문제가 발생할 수 있기 때문에

AlwaysON 주서버 접속을 가능하게 하기 위해 설정되는 일종의 Virtual IP 이다.

 

아무 문제가 없을 경우에 수신기 IP로 DB Connection을 하게 되면... 현재 Master(주 서버)로 컨넥션이 이뤄지게 되며..

Master서버에 장애가 발생된 후 수신기 IP로 DB Connection을 하게 되면...

AlwaysON에서 Slave서버로 주 역할을 넘기게 되며... 넘겨받은 주 서버로 DB Connection이 이뤄지게 된다.

 

이처럼, DB Connection에 문제가 발생하지 않도록 하기 위해 AlwaysON에서 새로 추가된 기능이다.

 

 

 

(2-1) 구성한 AlwaysON 그룹명을 우클릭하여 "수신기 추가" 메뉴에 진입한다.

 

 

(2-2) renew_nidc 에 대한 수신기명 및 IP는 아래와 같이 기입한다.

- 수신기 DNS : AlwaysON 은 1개 이상 구성이 가능하기 때문에, 수신기도 1개 이상 등록이 가능하게 된다.

나중에 혼동하지 않기 위해 DB명과 동일하게 지정토록 한다.

- 네트워크 모드 : Static IP로 설정.

- 포트 : 수신기 IP로 실제 DB컨넥션을 해야하므로, MSSQL Default Port인 1433으로 지정.

- IP주소 : renew_nidc 그룹이 사용할 수신기 IP 지정.

   

 

 

(2-3) 수신기 구성이 완료되면 아래와 같이 "renew_nidc" 가용성 그룹의 수신기 메뉴에 추가되게 된다.

 

출처: https://aonenetworks.tistory.com/465 [AoneNetwork_ IDC Service:티스토리]

728x90
반응형