본문 바로가기

운영/SQL Server 설치

MS SQL 2012 Always On 구성 - 3. Availability Groups 구성

728x90

고가용성 및 부하 분산이라는 목적으로 MS SQL 2012의 Always On 기능을 사용하여, 아래와 같이 시스템을 구성하고자 합니다.

1. 1번 노드에서 데이터베이스 생성

- 본 사용자는 다른 DB를 복원하여 사용

USE [master]
RESTORE DATABASE [CSL] FROM  
DISK = N'\\서버명\g$\CSLK_FULL_AlwaysOn\CSL_FULLBACKUP_1_(1_1).bak' 
WITH  FILE = 1,  
MOVE N'CSLDATA1' TO N'E:\DATA\CSL.mdf',  
MOVE N'CSLDATA2' TO N'E:\DATA\CSL_1.ndf',  
MOVE N'CSLDATA3' TO N'E:\DATA\CSL_2.ndf', 
MOVE N'CSLLOG1' TO N'E:\DATA\CSL_3.ldf',  
MOVE N'CSLLOG2' TO N'E:\DATA\CSLLOG2.ldf', 
NOUNLOAD,  STATS = 1
GO

 

- CSL 이라는 데이터베이스가 생성이 완료

2. 1번 노드에 데이터베이스 미러 구성을 위해서 해당 데이터베이스를 전체백업 및 로그 백업

 

- Availability Groups 생성 마법사에서 백업과 동시에 구성을 할 수 있다.

하지만, 데이터베이스의 사이즈가 크면 오래 걸리기 때문에 미리 복원해 놓고, Availability Groups 생성 시에는 연결만 하도록 합니다.

BACKUP DATABASE [CSL] TO  DISK = N'E:\DBBackup\CSL_FULL.bak' 
WITH NOFORMAT, NOINIT,  NAME = N'CSL-Full Database Backup', 
SKIP, NOREWIND, NOUNLOAD, COMPRESSION,  STATS = 10
GO
BACKUP LOG [CSL] TO  DISK = N'E:\DBBackup\csl_2014.trn' 
WITH NOFORMAT, NOINIT,  NAME = N'CSL-Transaction Log  Backup', 
SKIP, NOREWIND, NOUNLOAD, COMPRESSION,  STATS = 10
GO

 

3. 1번 노드에서 백업 받은 것을 가지고 2번 노드에서 복원

USE [master]
RESTORE DATABASE [CSL] FROM  
DISK = N'E:\DBBackup\CSL_FULL.bak' WITH  FILE = 1,  
NORECOVERY,  NOUNLOAD,  STATS = 1
GO
RESTORE LOG [CSL] FROM  
DISK = N'E:\DBBackup\csl_2014.trn' WITH  FILE = 1,  
NORECOVERY,  NOUNLOAD,  STATS = 10
GO

 

- 2번 노드에서 복원하면 아래와 이 Restoring 중

4. Availability Groups을 생성

- Availability Group 이름을 명시

- Availability Group에 넣을 데이터베이스를 선택합니다.

Availability Group 마법사를 실행한 노드에서 해당 데이터베이스를 전체백업과 로그 백업을 1회 이상 받아야 Check Box가 활성화로 됩니다.

 

그러지 않을 경우 비활성화로 되어 있어서 진행이 어렵게 됩니다.

- Availability Group 구성 시 Auto Failover 여부, Synchronous Commit, Readable Secondary 를 설정합니다.

 

- 1번 노드와 2번 노드를 모두 넣습니다.

- Auto Failover : 장애 시 자동 전환

- Synchronous Commit : 데이터 동기화시 방식

- Readable Secondary : Secondary 노드의 읽기 허용 여부

- Endpoint 설정 : 이전 버전에서 미러링과 같은 Endpoint가 있습니다.

Port와 실행 계정에 주의를 해야 합니다.

- 백업을 어디서 발생 시킬 것인가에 대한 설정입니다.

- Listener를 설정하는 단계입니다. Listener는 나중에 만들도록 하겠습니다.

- Availability Group을 생성할때 백업을 받고, 동기화 하려면 Full을 선택하고, 기존에 복원을 하여 준비가 된 상태이면 Join only를 선택합니다.

- 구성 완료 후 AlwaysOn High Availability 트리를 보면 아래와 같이 구성이 완료 된 것을 확인 할 수 있습니다.

 

728x90