네트워크 설정 (공통)

  • OS F/W 인바운드 규칙 추가

FQDN 변경 (공통)

  • Suffix DNS : test.com  입력 후 하단 체크

 

  • host 파일 변경 (Listener 미사용시)
    • 아래와 같이 각 노드에 대한 ip 호스트명을 host 파일에 기입

  • DNS 등록 (Listener 사용시 - 본 예는 Listener 구성)
    • DNS 서버측에 도메인 존 등록 : test.com  (실제 운영환경에서는 DNS 담당 SE에게 요청/ 기 존재 도메인 활용 가능성이 높음)
    • 각 노드,클러스터,리스너 정보 등록 
  • 권한 설정
    • 사용 권한 관리를 위한 Active Directory가 없으므로 기본 제공되지 않은 로컬 관리자 계정이 클러스터를 만들도록 수동으로 허용 
    • New-ItemProperty -path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System -Name LocalAccountTokenFilterPolicy -Value 1

 클러스터 설치  

    • 링크 참고 : 2021.06.26 - [SQL Server/테스트 (+스크립트)] - Alwayson 구성
    • 상기 링크 내 아래 단계 진행
      • 장애조치클러스터 구성 (공통) 
        클러스터 노드 구성 (주서버) 
        SQL Server 클러스터 기능 활성화 (공통)
      • 도메인 미조인 환경에서 '파일 공유 기반 쿼럼 구성' 불가
    • 결과
      • 클러스터 구성 

 

인증서 기반 Endpoint/로그인 계정 생성

  •  구성도
  • 스크립트
--주서버 마스터키 생성
CREATE MASTER KEY ENCRYPTION  BY PASSWORD = 'StrongPasswd';
GO 
--주서버 인증서 생성
CREATE CERTIFICATE PRIMARY_Cert 
WITH SUBJECT = 'NODE1 Certificate';
GO 
--주서버 인증서 백업
BACKUP CERTIFICATE PRIMARY_Cert 
TO FILE = 'C:\share\PRIMARY_Cert.cert';
GO
--주서버 로그인 생성 (보조서버 접근 목적)
CREATE LOGIN AG_NODE2_login WITH PASSWORD = 'StrongPasswd';
GO 

CREATE USER AG_NODE2_login FOR LOGIN AG_NODE2_login;
GO

--보조서버 마스터키 생성
CREATE MASTER KEY ENCRYPTION  BY PASSWORD = 'StrongPasswd';
GO 
--보조서버 인증서 생성
CREATE CERTIFICATE SECONDARY_Cert 
WITH SUBJECT = 'NODE2 Certificate';
GO 
--보조서버 인증서 백업
BACKUP CERTIFICATE SECONDARY_Cert 
TO FILE = 'C:\share\SECONDARY_Cert.cert';
GO  

--보조서버 로그인 생성 (주서버 접근 목적)
CREATE LOGIN AG_NODE1_login WITH PASSWORD = 'StrongPasswd';
GO  
CREATE USER AG_NODE1_login FOR LOGIN AG_NODE1_login;
GO

-- 각서버내 인증서 복사

-- 인증서복원
--주서버
CREATE CERTIFICATE [SECONDARY_Cert]
AUTHORIZATION AG_NODE2_login
FROM FILE = 'C:\share\SECONDARY_Cert.cert'
--보조서버
CREATE CERTIFICATE [PRIMARY_Cert]
AUTHORIZATION AG_NODE1_login
FROM FILE = 'C:\share\PRIMARY_Cert.cert'

--ENDPOINT 생성  
--주서버
CREATE ENDPOINT AG_Endpoint
STATE = STARTED
AS TCP (   
 LISTENER_PORT = 5022,
 LISTENER_IP = ALL
      )
FOR DATABASE_MIRRORING (
 AUTHENTICATION = CERTIFICATE PRIMARY_Cert,
 ROLE = ALL
      )
--보조서버
CREATE ENDPOINT AG_Endpoint
STATE = STARTED
AS TCP (   
 LISTENER_PORT = 5022,
 LISTENER_IP = ALL
      )
FOR DATABASE_MIRRORING (
 AUTHENTICATION = CERTIFICATE SECONDARY_Cert,
 ROLE = ALL
      )

 --주서버 
GRANT CONNECT ON ENDPOINT::AG_Endpoint TO AG_NODE2_login;
GO

 --보조서버 
GRANT CONNECT ON ENDPOINT::AG_Endpoint TO AG_NODE1_login;
GO

 

AG 그룹 구성

  • 새가용성 그룹 생성
    • 그룹명 지정, 데이터베이스 수준 상태 검색 체크, 복제본 추가 및 기타 항목 설정 후 확인

  • AlwaysOn 그룹 내 가용성 복제본 - 'NODE2 가용성 그룹에 조인' 클릭

  • TEST DB 생성 및 Full-TRN 백업 (in 주서버) 및 With Norecovery 복원 (in 보조 서버)
    • 설명 생략

  • 가용성 데이터베이스 추가
    • 대상 DB 체크 / 조인만 선택 후 완료

  • 수신기 추가
    • 사전에 DNS에 등록한 정보를 할당

  • 읽기 전용 라우팅 설정
    • 읽기 전용 라우팅 URL 먼저 입력 및 저장 후 목록 입력

결과

  •  상태 확인
    • (순서대로) 클러스터 노드/리스너/AG 데이터베이스 상태 정상 확인 
  • 접근 테스트
  • Failover 확인 (NODE1 --> NODE2)

+ Recent posts