SQL Server 2022 / Always On 가용성 그룹 만들기
Always On 가용성 그룹을 만들면 한 SQL Server에 장애가 생겼을 때 다른 SQL Server가 대신하도록 할 수 있다. Always On 가용성 그룹은 Windows Server의 장애 조치(Failover) 클러스터를 기반으로 하고, 장애 조치(Failover) 클러스터는 Active Directory 환경에서 사용할 수 있다.
즉, Always On 가용성 그룹을 만드는 것보다 그러한 환경을 구축하는 게 더 어려울 수 있다. Active Active Directory 환경, 장애 조치(Failover) 클러스터 만드는 방법은 아래 링크를 참고하고, 여기서는 Always On 구성에 대해서만 다룬다.
- Active Directory 환경 만드는 방법 : https://www.manualfactory.net/14450
- 장애 조치 클러스터 만드는 방법 : https://www.manualfactory.net/16911
목차
가정
- MF-AD-01이 도메인 컨트롤러이다. 도메인은 mf.ad, NetBIOS는 MF이다.
- MF-SQL-01과 MF-SQL-02는 MF-AD-01에 MF\Administrator로 조인되어 있다.
- MF-SQL-01과 MF-SQL-02에 장애 조치 클러스터를 구성한다. 클러스터 이름은 SQL_Cluster, 클러스터 IP는 192.168.0.221이다.
- MF-SQL-01과 MF-SQL-02에 MF\Administrator로 로그인하여 SQL Server를 설치한다.
- 수신기 이름은 SQL_Listener, 수신기 IP는 192.168.222로 만들 것이다.
환경 설정
아래의 작업을 MF-SQL-01, MF-SQL-02에서 한다.
SQL Server
- SQL Server 구성 관리자를 열고, SQL Server 서비스를 선택한다.
- SQL Server와 SQL Server 에이전트의 상태가 실행 중, 시작 모드가 자동, 다음 계정으로 로그온이 MF\Administrator가 되도록 설정한다.
- 설정은 속성으로 들어가서 한다.
- SQL Server의 속성에서 [Always On 가용성 그룹] 탭을 클릭하고, [Always On 가용성 그룹 사용]에 체크한 후 [확인]을 클릭한다.
- 서비스를 다시 시작해야 변경 내용이 적용된다는 안내 창이 나온다.
- SQL Server를 선택하고 우클릭한 후 [다시 시작]을 클릭한다.
방화벽
MF-SQL-01, MF-SQL-02에서 1433, 5022 포트를 열어준다.
- 포트를 여는 방법 : https://www.codingfactory.net/13291
Always On 가용성 그룹 만들기
MF-SQL-01에서 다음 작업을 한다.
데이터베이스 만들고 백업하기
- 데이터베이스를 만든다.
- 데이터베이스 전체 백업을 한다. 전체 백업을 하지 않으면 가용성 그룹을 만들 수 없다.
가용성 그룹 만들기
- [Always On 고가용성]을 선택하고 마우스 우클릭 후 [새 가용성 그룹 마법사]를 클릭한다.
- [다음]을 클릭한다.
- 적절히 이름을 정하고, 클러스터 유형이 [Windows Server 장애 조치(Failover) 클러스터]가 선택된 것을 확인하고 [다음]을 클릭한다.
- 데이터베이스를 선택하고 [다음]을 클릭한다.
- [복제본 추가]를 클릭한다.
- MF-SQL-02를 입력하고 [연결]을 클릭한다.
- 자동 장애 조치에 체크하고, 가용성 모드를 동기 커밋으로 설정 후 [다음]을 클릭한다.
- [다음]을 클릭한다.
- 가용성 그룹 유효성 검사를 한다. 오류가 없으면 다음 단계로 넘어갈 수 있다.
- [마침]을 클릭하고 잠시 기다리면...
- 구성이 완료된다.
- 가용성 그룹을 확장하면 아래처럼 구성을 볼 수 있다.
- [장애 조치 클러스터 관리자]을 열면, 아래처럼 역할에서 상태를 볼 수 있다.
테스트
- MF-SQL-01을 종료한다.
- MF-SQL-02에서 [장애 조치 클러스트 관리자]를 열어서 소유자 노드가 변경된 것을 확인한다.
- SSMS에서 데이터베이스가 잘 동기화되었고, MF-SQL-02가 (주)가 되었는지 확인한다.
수신기 만들기
수신기는 SQL Server에 연결할 때 사용할 이름 또는 IP로 생각하면 된다. 수신기로 연결하면 주 서버로 연결을 해준다.
- [가용성 그룹 수신기]를 선택하고 마우스 우클릭 후 [수신기 추가]를 클릭한다.
- 이름을 적절히 정하고, 포트는 1433으로 한 후 [추가]를 클릭한다.
- 수신기로 사용할 IP를 입력하고 [확인]을 클릭한다.
- [확인]을 클릭하면 수신기가 만들어진다.