18장(데이터의고가용성).

Download Report

Transcript 18장(데이터의고가용성).

뇌를 자극하는
SQL Server 2005
18장.
데이터의 고가용성
(로그 전달, 데이터베이스 미러링, 복제)
18장. 데이터의 고가용성(로그 전달, 데이터베이스 미러링, 복제)
고가용성을 위한 방법 및 개념(1)
• 개념
 가용성(Availability)이란 한마디로 컴퓨터 시스템이 서비스의
중단 없이 계속 가동되는 것
• 서버 클러스터링 개념도
로컬하드디스크
서버 A
평상시
외부 저장장치
공유
사용자
비상시
클러스터용
데이터 파일
서버 B
로컬하드디스크
뇌를 자극하는 SQL Server 2005
2 / 28
18장. 데이터의 고가용성(로그 전달, 데이터베이스 미러링, 복제)
고가용성을 위한 방법 및 개념(2)
• 로그 전달 개념도
주서버
평상시
트랜잭션 로그
사용자
보조서버
(대기서버)
뇌를 자극하는 SQL Server 2005
3 / 28
18장. 데이터의 고가용성(로그 전달, 데이터베이스 미러링, 복제)
고가용성을 위한 방법 및 개념(3)
• 데이터베이스 미러링 개념도
주서버
평상시
모니터서버
동기화
작동여부
감시
사용자
비상시
미러 서버
뇌를 자극하는 SQL Server 2005
4 / 28
18장. 데이터의 고가용성(로그 전달, 데이터베이스 미러링, 복제)
고가용성을 위한 방법 및 개념(4)
• 복제 개념도
구독서버
주서버
(게시서버)
전달서버
(배포서버)
부산 지사 사용자
구독서버
광주 지사 사용자
구독서버
본사 사용자
뇌를 자극하는 SQL Server 2005
미국 지사 사용자
5 / 28
18장. 데이터의 고가용성(로그 전달, 데이터베이스 미러링, 복제)
로그 전달 (1)
• 개요
 주서버의 로그파일을 보조서버에 일정한 주기로 복사하는 것
• 로그 전달의 세부 작동

복제DB

원본DB
백업된
로그파일
(*.TRN)
주 서버(MSSQLSERVER)

복사된
로그파일
(*.TRN)
보조 서버(SECOND)

사용자
뇌를 자극하는 SQL Server 2005
6 / 28
18장. 데이터의 고가용성(로그 전달, 데이터베이스 미러링, 복제)
로그 전달 (2)
• 주서버에 문제 발생시 조치
복제DB
원본DB
백업된
로그파일
(*.TRN)
주 서버(MSSQLSERVER)
복사된
로그파일
(*.TRN)
보조 서버(SECOND)
수동으로 서비스
전환
 기존방식으로 사용
사용자
뇌를 자극하는 SQL Server 2005
7 / 28
18장. 데이터의 고가용성(로그 전달, 데이터베이스 미러링, 복제)
<실습1> 로그 전달 실습
• 실습 목표
 로그 전달을 구성하고 문제 발생시 대처하는 방법을 학습한다.
 로그 전달의 세부 설정을 변경해 본다
• 로그 전달 작동 화면
뇌를 자극하는 SQL Server 2005
8 / 28
18장. 데이터의 고가용성(로그 전달, 데이터베이스 미러링, 복제)
<실습2> 로그 전달 제거
• 실습 목표
 로그 전달을 제거 한다.
• 로그 전달 삭제 진행 화면
뇌를 자극하는 SQL Server 2005
9 / 28
18장. 데이터의 고가용성(로그 전달, 데이터베이스 미러링, 복제)
데이터베이스 미러링 (1)
• 개요
 거울(mirror)과 같이 동일한 DB를 생성하는 것
 실시간 장애복구가 가능함
 SQL Server 2005부터 지원되는 기능
• 클러스터링, 로그 전달, 데이터베이스 미러링 비교
클러스터링
로그 전달
데이터베이스 미러링
오류탐지 기능
있음
없음
있음
장애복구
자동
수동
자동
복구시간
약 최소 30초 이상
알 수 없음
약 3초
디스크 고장시
복구 불가
- 공유디스크사용
복구가능
복구가능
구축비용
상당히 고가
저렴
저렴
복구 대상
시스템DB 및 사용자DB
사용자DB
사용자DB
뇌를 자극하는 SQL Server 2005
10 / 28
18장. 데이터의 고가용성(로그 전달, 데이터베이스 미러링, 복제)
데이터베이스 미러링 (2)
• 데이터베이스 미러링의 작동
모니터 서버(THIRD)


미러DB
원본DB

주 서버(MSSQLSERVER)
미러 서버(SECOND)

사용자
뇌를 자극하는 SQL Server 2005
11 / 28
18장. 데이터의 고가용성(로그 전달, 데이터베이스 미러링, 복제)
데이터베이스 미러링 (3)
• 데이터베이스 미러링의 장애 발생시
모니터서버(THIRD)



원본DB


주 서버(SECOND)


사용자
뇌를 자극하는 SQL Server 2005
12 / 28
18장. 데이터의 고가용성(로그 전달, 데이터베이스 미러링, 복제)
데이터베이스 미러링 (4)
• 데이터베이스 미러링의 복구 후
모니터 서버(THIRD)

원본DB
미러DB

미러 서버(MSSQLSERVER)
주 서버(SECOND)
사용자
뇌를 자극하는 SQL Server 2005
13 / 28
18장. 데이터의 고가용성(로그 전달, 데이터베이스 미러링, 복제)
<실습3> 데이터베이스 미러링 실습
• 실습 목표
 데이터베이스 미러링을 구현해 본다.
• 데이터베이스 미러링 작동 화면
뇌를 자극하는 SQL Server 2005
14 / 28
18장. 데이터의 고가용성(로그 전달, 데이터베이스 미러링, 복제)
데이터베이스 미러링 (5)
• 데이터베이스 미러링의 운영 모드
▫ 성능 우선(비동기)
 모니터 서버가 없이 운영
 주서버의 변경내용이 비동기적으로 미러서버에 전송됨
 전송하지 못한 데이터의 일부 손실을 감수해야 하며,장애조치
를 수동으로 해야 함
▫ 자동 장애조치(Failover) 없는 보호 우선(동기)




모니터 서버가 없이 운영
주서버의 변경내용이 실시간으로 미러서버에 전송됨
장애 발생시 서비스가 중단되며, 수동으로 복구해야 함
데이터의 무결성은 보장됨
▫ 자동 장애조치(Failover) 있는 보호 우선(동기)
 모니터를 사용함 (3대로 운영)
 즉시 및 자동으로 장애조치가 됨
 데이터의 무결성도 보장됨
뇌를 자극하는 SQL Server 2005
15 / 28
18장. 데이터의 고가용성(로그 전달, 데이터베이스 미러링, 복제)
복제의 개요 (1)
• 복제의 상세 개념도
구독서버
아티클
게시서버
배포서버
아티클
아티클
게시
사용자
아티클
아티클
아티클
아티클
아티클
아티클
게시
게시
구독서버
사용자
사용자
뇌를 자극하는 SQL Server 2005
16 / 28
18장. 데이터의 고가용성(로그 전달, 데이터베이스 미러링, 복제)
복제의 개요(2)
• 복제 관련 용어
 게시서버(Publisher)
: 원본데이터가 있는 서버. 신문사에 해당
 배포서버(Distributor)
: 원본데이터를 구독자에게 배포하는 역할. 신문 보급소에 해당
 구독서버(Subscriber)
: 게시서버에서 배포한 데이터를 받는 서버. 신문을 구독하는 가
정집에 해당
 아티클(Article, 기사)
: 구독서버에게 전달될 데이터베이스 개체(주로 테이블). 신문의
단위 기사에 해당
 게시(Publication)
: 아티클의 집합으로 구독서버에 전달되는 단위. 신문 자체에 해
당되며 실제로 게시서버에서 구독서버로 전달되는 것이 이 ‘게
시’단위로 전달
 구독(Subscription)
: 게시를 받아들이는 행위
뇌를 자극하는 SQL Server 2005
17 / 28
18장. 데이터의 고가용성(로그 전달, 데이터베이스 미러링, 복제)
복제의 방법(1)
• 스냅숏 복제 (Snapshot replication)
 정기적으로 게시서버에서 지정된 게시의 모든 데이터를 통째로 구
독서버에 전달
 서버에 부하를 줄 수 있다.
게시서버
구독서버
123
1회
123
123
456
2회
123
456
3회
뇌를 자극하는 SQL Server 2005
123
123
456
789
123
456
789
123
456
18 / 28
18장. 데이터의 고가용성(로그 전달, 데이터베이스 미러링, 복제)
복제의 방법(2)
• 트랜잭션 복제 (Transaction replication)
 변경된 데이터만을 전달하는 방식
 네트워크 및 서버에 부하를 최소화 함
게시서버
처음 1회는 스냅숏 복제
또는 백업/복원으로 가능
구독서버
123
1회
123
456
2회
123
456
123
789
3회
123
456
789
뇌를 자극하는 SQL Server 2005
123
456
19 / 28
18장. 데이터의 고가용성(로그 전달, 데이터베이스 미러링, 복제)
복제의 방법(3)
• 병합 복제 (Merge replication)
 게시서버와 구독서버의 변경사항이 상호 적용되는 방법
게시서버
처음 1회는 스냅숏 복제
구독서버
123
1회
123
456
2회
123
123
456
789
3회
123
456
789
뇌를 자극하는 SQL Server 2005
123
456
20 / 28
18장. 데이터의 고가용성(로그 전달, 데이터베이스 미러링, 복제)
복제의 구성 모델 (1)
• 피어투 피어(Peer-to-Peer) 모델
 각각의 서버가 게시서버/배포서버/구독서버 역할을 모두 하도록 구
성하는 방법
서울
부산
게시서버
배포서버
구독서버
게시서버
배포서버
구독서버
복제
복제
사용자 B
사용자 A
제주
복제
복제
게시서버
배포서버
구독서버
복제
복제
사용자 C
뇌를 자극하는 SQL Server 2005
21 / 28
18장. 데이터의 고가용성(로그 전달, 데이터베이스 미러링, 복제)
복제의 구성 모델 (2)
• 중앙 게시자 모델
 게시서버 1대, 배포서버 1대, 구독서버 여러대로 구성
 가장 많이 사용하는 방식
구독서버
물리적으로 한대에 구성 가능
게시서버
배포서버
복제
사용자
복제 데이터
복제
구독서버
사용자
사용자
뇌를 자극하는 SQL Server 2005
22 / 28
18장. 데이터의 고가용성(로그 전달, 데이터베이스 미러링, 복제)
복제의 구성 모델 (3)
• 중앙 구독자 모델
 게시서버 여러대, 구독서버 1대로 구성
 지사의 정보를 본사로 집계하는 경우에 사용
부산지사
게시서버
배포서버
본사
게시서버
배포서버
구독서버
사용자
광주지사
사용자
게시서버
배포서버
사용자
본사 사용자
제주지사
뇌를 자극하는 SQL Server 2005
23 / 28
18장. 데이터의 고가용성(로그 전달, 데이터베이스 미러링, 복제)
복제의 구성 모델 (4)
• 1대로 구성한 모델
 1대에 게시서버,배포서버,구독서버를 모두 구성한 것
게시서버/배포서버/구독서버
하나의 SQL Server 2005
복제
평상시
비상시
사용자
뇌를 자극하는 SQL Server 2005
24 / 28
18장. 데이터의 고가용성(로그 전달, 데이터베이스 미러링, 복제)
<실습4> 중앙게시자 모델 복제
• 실습 목표
 가장 기본적인 중앙게시자 모델 복제를 구현한다.
• 실습 구성도
게시서버
(MSSQLSERVER 또는 컴퓨터이름)
게시
배포서버
(SECOND)
변경된 로그
(로그 판독기 에이전트)
구독서버
(THIRD)
변경된 로그
(배포 에이전트)
아티클
게시DB
아티클
아티클
구독DB
배포DB
스냅숏
초기 전체 게시(스냅숏) 저장 폴더
(스냅숏 에이전트)
초기 스냅숏 적용
(배포 에이전트)
사용자
사용자
뇌를 자극하는 SQL Server 2005
25 / 28
18장. 데이터의 고가용성(로그 전달, 데이터베이스 미러링, 복제)
<실습5> 복제의 내부 작동 확인
• 실습 목표
 복제모니터를 사용해서 복제의 내부적인 작동을 확인해 본다.
• 복제 모니터 화면
뇌를 자극하는 SQL Server 2005
26 / 28
18장. 데이터의 고가용성(로그 전달, 데이터베이스 미러링, 복제)
<실습6> 병합 복제
• 실습 목표
 병합 복제를 구현하는 방법을 익힌다.
• 실습 구성도
게시서버
(MSSQLSERVER 또는 컴퓨터명)
게시
배포서버
(SECOND)
변경된 로그
(병합 에이전트)
구독서버
(THIRD)
변경된 로그
(병합 에이전트)
아티클
게시DB
아티클
아티클
구독DB
배포DB
사용자
스냅숏
초기 전체 게시(스냅숏) 저장 폴더
(스냅숏 에이전트)
초기 스냅숏 적용
(병합 에이전트)
사용자
뇌를 자극하는 SQL Server 2005
27 / 28
18장. 데이터의 고가용성(로그 전달, 데이터베이스 미러링, 복제)
<실습7> 복제의 제거
• 실습 목표
 복제를 제거해 본다.
• 배포 및 게시의 해제 화면
뇌를 자극하는 SQL Server 2005
28 / 28