일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 백준 11054.가장 긴 바이토닉 부분 수열
- 백준 1043 거짓말 파이썬
- 백준 1516 게임 개발
- 역사 파이썬
- 프로그래머스 등굣길
- 프로그래머스 순위
- 프로그래머스 가장 긴 팰린드롬
- 게임 개발 파이썬
- 다리 만들기 파이썬
- 프로그래머스 베스트앨범
- 등굣길 파이썬
- 트리의 지름 파이썬
- 가장 긴 바이토닉 부분 수열 파이썬
- 가장 긴 팰린드롬 파이썬
- 램프 파이썬
- 백준 1167 트리의 지름 파이썬
- SQL SERVER 장비교체
- 다중 컬럼 NOT IN
- 백준 2146 다리 만들기
- 프로그래머스 여행경로
- 백준 1613 역사
- 백준 1238 파티 파이썬
- SWEA
- 프로그래머스 순위 파이썬
- 백준 2352 반도체 설계 파이썬
- 베스트앨범 파이썬
- 반도체 설계 파이썬
- SQL SERVER MIGRATION
- 순위 파이썬
- 백준 1034 램프 파이썬
- Today
- Total
공부, 기록
[SQL SERVER ] HA 헬스 체크 방식 본문
1. WSFC 기반 솔루션 (FCI, Always On 고가용성 그룹)
SQL Server Always On, FCI는 모두 WSFC를 플랫폼 기술로 활용. WSFC는 쿼럼 기반 방식을 사용하여 전반적인 클러스터 상태를 모니터링하고 노드 수준의 내결함성을 극대화한다.
WSFC 클러스터의 각 노드는 주기적 하트비트 통신에 참여하여 노드의 상태를 다른 노드와 공유합니다. 응답하지 않는 노드는 오류 상태에 있는 것으로 간주
sp_server_diagnostics(Transact-SQL) - SQL Server
sp_server_진단 SQL Server에 대한 진단 데이터 및 상태 정보를 캡처하여 잠재적인 오류를 검색합니다.
learn.microsoft.com
서비스 상태 모니터링
SQL Server 서비스의 시작 상태를 모니터링하여 중지된 시기를 감지.
인스턴스 응답 모니터링
sp_server_diagnotics 를 반복적으로 실행하여 리로스 DLL에 대한 SQL Server 구성 요소의 상태를 주기적으로 체크.
구성 요소 진단 모니터링
시스템 저장 프로시저 sp_server_diagnostics는 SQL 인스턴스의 구성 요소 진단을 주기적으로 수집.
수집되는 진단 정보는 다음 구성 요소 각각에 대한 행으로 표시되고 호출 스레드에 전달된다.
- 시스템
- resource
- query process
- io_subsystem
- events
실패 확정 (IS-Alive)
sp_server_diagnotics 의 값에 따라 판단한다.
각 수준은 상위 수준을 포함하며 수준이 커질 수록 민감하게 페일오버를 한다 (.
수준 | 조건 | 설명 |
0 | 자동 장애 조치(failover) 또는 다시 시작 없음 | 장애 조치(failover) 또는 다시 시작이 오류 조건에서 자동으로 트리거되지 않음을 나타냅니다. 이 수준은 시스템 유지 관리 용도로만 사용됩니다. |
1 | 서버가 다운된 경우 장애 조치(failover) 또는 다시 시작 | SQL Server 서비스가 다운된 경우 OnServerDown |
2 | 응답하지 않는 서버에서 장애 조치(failover) 또는 다시 시작 | SQL Server 인스턴스가 응답하지 않습니다(Resource DLL은 HealthCheckTimeout 설정 내에서 sp_server_diagnostics의 데이터를 받을 수 없음). OnServerUnresposive |
3 |
심각한 서버 오류 시 장애 조치(Failover) 또는 다시 시작 (default) |
sp_server_diagnostics가 '시스템 오류'를 반환할 경우 OnCriticalServerError |
4 | 일반적인 서버 오류 시 장애 조치(Failover) 또는 다시 시작 | sp_server_diagnostics가 '리소스 오류'를 반환할 경우 OnModerateServerError |
5 | 정규화된 오류 조건에서 장애 조치(failover) 또는 다시 시작 | sp_server_diagnostics가 'query_processing 오류'를 반환할 경우 OnAnyQualifiedFailureConditions |
설정 변경
ALTER SERVER CONFIGURATION SET FAILOVER CLUSTER PROPERTY FailureConditionLevel = 0;
실패 응답
WSFC 설정에 따라 장애 대응을 한다.
헬스체크 타임은 기본 30초로 설정되어있으며 최소 시간은 15초이다.
설정 변경 (밀리초)
ALTER SERVER CONFIGURATION SET FAILOVER CLUSTER PROPERTY HealthCheckTimeout = 15000;
전체적인 흐름도.
WSFC는 Looks-Alive와 IS-Alive로 나눌 수 있는데
Looks-Alive : 5초 마다 발생하며 지속적으로 다른 클러스터 노드에 하트비트를 전송하고 승인을 기다리며 승인을 받지 못할 경우 다운되었다고 판단한다. 그런 다음 쿼럼 투표 및 다수 구성을 기반으로 클러스터 소유권을 변경한다.
IS-Alive : 60초마다 리소스 DLL에서 SQL 서비스의 상태를 확인하기 위해 sp_server_diagnostics 프로시저를 사용하여 확인하는 단계. IS-Alive 에서 주 복제본이 응답하지 않는 것으로 판단되면 failover가 시작된다 (헬스체크 타임아웃은 해당 작업을 의미하며 기본 30초 최소 15초).
2. MIRRORING
sp_dbmmonitor SP를 사용한다
참조
'공부 > DATABASE' 카테고리의 다른 글
[SQL Server] Insert와 버퍼캐시 (0) | 2024.05.27 |
---|---|
[RDS SQL Server] 인스턴스 타입 변경 (0) | 2024.05.21 |
[SQL Server] JOIN 성능 테스트 (0) | 2024.05.09 |
[SQL SERVER] 클러스터드 ,논 클러스터드 인덱스 생성 Lock (0) | 2024.04.29 |
[SQL Server, MySQL] 데이터 플러시와 커밋 (0) | 2024.04.06 |