네트워크 설정 (공통)
- OS F/W 인바운드 규칙 추가
FQDN 변경 (공통)
- Suffix DNS : test.com 입력 후 하단 체크
- host 파일 변경 (Listener 미사용시)
- 아래와 같이 각 노드에 대한 ip 호스트명을 host 파일에 기입
- 아래와 같이 각 노드에 대한 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 그룹 구성
- 아래의 문제 가능성으로 AG 구성 마법사 이용 X
- 새가용성 그룹 생성
- 그룹명 지정, 데이터베이스 수준 상태 검색 체크, 복제본 추가 및 기타 항목 설정 후 확인
- AlwaysOn 그룹 내 가용성 복제본 - 'NODE2 가용성 그룹에 조인' 클릭
- TEST DB 생성 및 Full-TRN 백업 (in 주서버) 및 With Norecovery 복원 (in 보조 서버)
- 설명 생략
- 가용성 데이터베이스 추가
- 대상 DB 체크 / 조인만 선택 후 완료
- 수신기 추가
- 사전에 DNS에 등록한 정보를 할당
- 읽기 전용 라우팅 설정
- 읽기 전용 라우팅 URL 먼저 입력 및 저장 후 목록 입력
결과
- 상태 확인
- (순서대로) 클러스터 노드/리스너/AG 데이터베이스 상태 정상 확인
- 접근 테스트
- Failover 확인 (NODE1 --> NODE2)
'SQL Server > 테스트 (+스크립트)' 카테고리의 다른 글
통계용 DB (스크립트 기반 Logshipping) 구성 (0) | 2021.09.14 |
---|---|
분리보관용 서버 구성 (파티셔닝 적용 및 관리) (0) | 2021.09.14 |
AlwaysOn with Basic 도입 방안 (0) | 2021.06.26 |
Alwayson 구성 (0) | 2021.06.26 |
[테스트] SQL Server TRN 백업을 통한 데이터 변경 시점 파악 (0) | 2021.02.18 |