| PostgreSQL 9.0.23 문서 | ||||
|---|---|---|---|---|
| 이전 | 위로 | 25장. 고가용성, 부하 분산 및 복제 | 스포츠 토토 결과 : 문서 : 9.0 : Failover | |
지속적인 보관을 사용하여 다음을 생성할 수 있습니다.고가용성(HA) 클러스터 구성 하나 이상토토 결과 서버준비됨 기본 서버에 장애가 발생하면 작업을 대신합니다. 이 기능 다음과 같이 널리 알려져 있습니다.따뜻한 토토 결과또는로그 전달.
기본 및 토토 결과 서버는 함께 작동하여 이를 제공합니다. 하지만 서버는 느슨하게 결합되어 있습니다. 는 기본 서버는 연속 보관 모드로 작동하지만 각 서버는 토토 결과 서버는 연속 복구 모드로 작동하여 기본의 WAL 파일입니다. 데이터베이스 테이블에 대한 변경 사항은 없습니다. 이 기능을 활성화하는 데 필요하므로 낮은 제공량을 제공합니다. 다른 복제와 비교한 관리 오버헤드 솔루션. 이 구성은 성능도 상대적으로 낮습니다. 기본 서버에 영향을 미칩니다.
WAL 레코드를 하나의 데이터베이스 서버에서 다른 서버로 직접 이동 다른 하나는 일반적으로 로그 전달로 설명됩니다.PostgreSQL파일 기반 로그 구현 배송, 이는 WAL 기록이 하나의 파일로 전송됨을 의미합니다. (WAL 세그먼트)를 한 번에. WAL 파일(16MB)을 쉽게 배송할 수 있습니다. 인접 지역이든 상관없이 어떤 거리에서도 저렴하게 시스템, 동일한 사이트의 다른 시스템 또는 동일한 사이트의 다른 시스템 지구 반대편. 이 기술에 필요한 대역폭 주 서버의 트랜잭션 속도에 따라 다릅니다. 스트리밍으로 기록 기반 로그 전달도 가능 복제(참조섹션 25.2.5).
로그 전달은 비동기식이라는 점에 유의해야 합니다. 즉, WAL 레코드는 트랜잭션 커밋 후에 배송됩니다. 로서 결과적으로 기본 서버에 데이터가 손실될 가능성이 있습니다. 치명적인 실패를 겪다; 아직 배송되지 않은 거래는 길을 잃다. 파일 기반 로그의 데이터 손실 창 크기 배송은 다음을 사용하여 제한될 수 있습니다.archive_timeout낮음으로 설정할 수 있는 매개변수 몇 초 정도. 그러나 이렇게 낮은 설정은 실질적으로 파일 전달에 필요한 대역폭을 늘립니다. 당신이 필요로하는 경우 1분 미만의 시간이 소요되는 경우 스트리밍 사용을 고려하세요. 복제(참조섹션 25.2.5).
복구 성능이 충분히 우수하여 대기 일반적으로 한 번만 완전한 가용성을 얻을 수 있습니다. 활성화되었습니다. 결과적으로 이를 웜 대기라고 합니다. 고가용성을 제공하는 구성입니다. 서버 복원 아카이브된 기본 백업에서 롤포워드하는 데 소요되는 시간은 다음과 같습니다. 상당히 길기 때문에 해당 기술은 다음에 대한 솔루션만 제공합니다. 고가용성이 아닌 재해 복구. 토토 결과 서버는 읽기 전용 쿼리에도 사용됩니다. 이 경우에는 핫 토토 결과 서버. 참조스포츠 토토 사이트 : 문서 : 9.0 : 핫 스탠드더 많은 정보를 원하시면.
일반적으로 기본 및 토토 결과 서버를 생성하는 것이 현명합니다 적어도 그 내용에서는 최대한 유사하도록 데이터베이스 서버의 관점. 특히, 경로 테이블스페이스와 연관된 이름이 전달됩니다. 수정되지 않았으므로 기본 서버와 토토 결과 서버 모두 해당 기능을 사용하는 경우 테이블스페이스에 대한 동일한 마운트 경로. 유지하다 다음과 같은 경우를 염두에 두세요.PostgreSQL : 문서기본, 새 마운트 지점에서 실행됩니다. 이를 위해 필요한 것은 기본 및 모든 토토 결과에서 생성되어야 합니다. 명령이 실행되기 전 서버. 하드웨어는 그럴 필요가 없습니다. 정확히 동일하지만 경험에 따르면 두 가지를 유지하는 것은 동일한 시스템이 서로 다른 두 시스템을 유지하는 것보다 쉽습니다. 애플리케이션과 시스템의 수명 동안의 것입니다. 어떤 경우에도 하드웨어 아키텍처가 동일해야 하는 경우 - 배송 예를 들어 32비트에서 64비트 시스템으로는 작동하지 않습니다.
일반적으로 서로 다른 서버를 실행하는 서버 간의 로그 전달 전공PostgreSQL출시 수준은 불가능합니다. PostgreSQL의 정책입니다. 글로벌 개발 그룹(Global Development Group)은 디스크 형식을 변경하지 않습니다 마이너 릴리스 업그레이드 중에 실행될 가능성이 높습니다. 기본 및 토토 결과 서버의 다양한 마이너 릴리스 레벨 성공적으로 작동합니다. 그러나 이에 대한 공식적인 지원은 없습니다. 제공되며 기본 및 토토 결과 서버를 유지하는 것이 좋습니다 가능한 한 동일한 릴리스 수준으로 유지합니다. 업데이트할 때 새로운 마이너 릴리스인 경우 가장 안전한 정책은 대기 버전을 업데이트하는 것입니다. 서버 우선 — 새로운 마이너 릴리스가 가능해질 가능성이 더 높습니다. 이전 마이너 릴리스의 WAL 파일을 읽는 것보다 반대로.
대기 모드에서 서버는 지속적으로 WAL을 적용합니다. 마스터 서버에서 받았습니다. 토토 결과 서버는 읽을 수 있습니다 WAL 아카이브의 WAL(참조restore_command) 또는 TCP 연결을 통해 마스터에서 직접(스트리밍 복제). 토토 결과 서버도 복원을 시도합니다. 대기 클러스터에서 발견된 모든 WALpg_xlog디렉토리. 이는 일반적으로 다음 이후에 발생합니다. 토토 결과 서버가 WAL을 다시 재생하면 서버가 다시 시작됩니다. 다시 시작하기 전에 마스터에서 스트리밍할 수도 있지만 파일을 수동으로 복사하세요.pg_xlog언제든지 다시 재생할 시간입니다.
시작 시 모든 WAL을 복원하여 토토 결과가 시작됩니다. 보관 위치에서 사용 가능, 전화restore_command. WAL의 끝에 도달하면 거기에서 사용 가능하며restore_command실패하면 다음에서 사용 가능한 WAL을 복원하려고 시도합니다.pg_xlog디렉토리. 실패하면 스트리밍 복제가 구성되었으며 대기가 연결을 시도합니다. 기본 서버로 이동하고 마지막부터 WAL 스트리밍을 시작합니다. 아카이브에서 유효한 기록을 찾았습니다. 또는pg_xlog. 실패하거나 스트리밍 복제가 발생하는 경우 구성되지 않았거나 나중에 연결이 끊어지면 토토 결과는 1단계로 돌아가서 파일 복원을 시도합니다. 다시 아카이브에서. 아카이브에서 재시도하는 이 루프는,pg_xlog및 스트리밍을 통해 서버가 중지되거나 장애 조치가 완료될 때까지 복제는 계속됩니다. 트리거 파일에 의해 트리거됩니다.
토토 결과 모드가 종료되고 서버가 정상 모드로 전환됩니다 작업, 트리거 파일이 발견된 경우(trigger_file). 장애 조치 전, 모든 WAL 아카이브 또는에서 즉시 사용 가능pg_xlog복원되지만 시도는 없습니다. 마스터에 연결되도록 만들어졌습니다.
기본에서 아카이브로 연속 아카이브 설정 설명된 대로 토토 결과에서 액세스할 수 있는 디렉터리입니다.섹션 24.3. 아카이브 해당 위치는 대기 모드에서 액세스할 수 있어야 합니다. 마스터가 다운되었습니다. 즉, 토토 결과 서버에 있어야 합니다. 마스터 서버가 아닌 자체 또는 다른 신뢰할 수 있는 서버.
스트리밍 복제를 사용하려면 다음을 설정하십시오. 복제를 허용하기 위한 기본 서버의 인증 토토 결과 서버로부터의 연결 즉, 적합한 항목 또는 항목pg_hba.conf데이터베이스 필드가 다음으로 설정됨복제. 또한 보장하세요max_wal_senders충분히 큰 값으로 설정되었습니다. 기본 서버의 구성 파일에 있는 값입니다.
설명된 대로 기본 백업을 수행섹션 24.3.2토토 결과 서버를 부트스트랩합니다.
토토 결과 서버를 설정하려면 수행된 기본 백업을 복원하십시오. 기본 서버에서(참조섹션 24.3.3). 복구 명령 파일 생성recovery.conf토토 결과 클러스터 데이터 디렉토리를 선택하고 켜십시오.토토 결과_모드. 설정restore_command간단한 WAL 아카이브에서 파일을 복사하는 명령입니다.
참고:pg_standby 또는 이와 유사한 도구를 사용하지 마십시오. 여기에 설명된 내장 대기 모드입니다.restore_command다음의 경우 즉시 반환해야 합니다. 파일이 존재하지 않습니다. 서버가 명령을 다시 시도합니다 필요한 경우 다시. 참조섹션 25.4사용용 pg_standby와 같은 도구.
스트리밍 복제를 사용하려면 다음을 입력하세요.primary_conninfolibpq 연결 문자열을 사용하여, 호스트 이름(또는 IP 주소) 및 추가 정보를 포함합니다. 기본 서버에 연결하는 데 필요한 세부 정보입니다. 만약 기본 인증을 위해서는 비밀번호가 필요합니다. 비밀번호는 에 지정됨primary_conninfo으로 음.
토토 결과 서버를 높은 수준으로 설정하는 경우 가용성 목적, WAL 보관 설정, 연결 및 토토 결과 서버이기 때문에 기본 서버와 같은 인증 서버는 장애 조치 후 기본 서버로 작동합니다. 당신은 것입니다 또한 설정해야 합니다trigger_file만들다 장애 조치가 가능합니다. 토토 결과 모드를 설정하는 경우 보고 목적으로 서버를 사용하며 장애 조치할 계획은 없습니다. 그것,trigger_file필요하지 않습니다.
WAL 아카이브를 사용하는 경우 크기를 최소화할 수 있습니다 를 사용하여archive_cleanup_command매개변수를 사용하여 더 이상 필요하지 않은 파일을 제거합니다. 토토 결과 서버.pg_archivecleanup유틸리티가 설계되었습니다 특별히 함께 사용됩니다archive_cleanup_command일반적으로 단일 토토 결과 구성은 참조섹션 F.22. 그러나 만약에 백업 목적으로 아카이브를 사용하고 있다면 다음을 수행해야 합니다. 최소한 최신 기반에서 복구하는 데 필요한 파일을 유지합니다. 백업(대기 모드에서 더 이상 필요하지 않더라도).
a의 간단한 예recovery.conf다음은:
standby_mode = '켜짐' Primary_conninfo = '호스트=192.168.1.50 포트=5432 사용자=foo 비밀번호=foopass' Restore_command = 'cp /path/to/archive/%f %p' Trigger_file = '/경로/to/trigger_file' archive_cleanup_command = 'pg_archivecleanup /path/to/archive %r'
당신은 토토 결과 서버를 얼마든지 가질 수 있지만, 스트리밍 복제를 설정했는지 확인하세요.max_wal_senders기본에서 충분히 높음 동시에 연결되도록 허용합니다.
스트리밍 복제를 통해 토토 결과 서버가 더 오래 머물 수 있습니다. 파일 기반 로그 전달을 통해 가능한 것보다 최신 상태로 유지됩니다. 는 대기는 WAL 레코드를 스트리밍하는 기본에 연결됩니다. WAL을 기다리지 않고 생성된 대기 채워야 할 파일입니다.
스트리밍 복제는 비동기식이므로 여전히 기본 트랜잭션과 트랜잭션 커밋 사이에 약간의 지연이 발생합니다. 변경 사항이 대기 모드에 표시됩니다. 지연은 그러나 파일 기반 로그 전달보다 훨씬 작습니다. 일반적으로 대기 모드가 강력하다고 가정하면 1초 미만입니다. 부하를 따라잡기에 충분합니다. 스트리밍 복제를 사용하면,archive_timeout필요하지 않음 데이터 손실 기간을 줄입니다.
파일 기반 없이 스트리밍 복제를 사용하는 경우 지속적인 보관을 위해 설정해야 합니다wal_keep_segments마스터에서 높은 값으로 오래된 WAL 세그먼트도 재활용되지 않도록 보장하기에 충분합니다. 토토 결과팀에서는 따라잡기 위해 여전히 필요할 수 있습니다. 만약에 토토 결과 상태가 너무 뒤처져 있어 다시 초기화해야 합니다. 새로운 기본 백업에서. WAL 아카이브를 설정하면 토토 결과 모드에서 액세스 가능,wal_keep_segments대기 모드로 필요하지 않습니다. 언제든지 아카이브를 사용하여 따라잡을 수 있습니다.
스트리밍 복제를 사용하려면 파일 기반 복제를 설정하세요. 설명된 대로 로그 전달 토토 결과 서버섹션 25.2. 회전하는 단계 파일 기반 로그 전달 대기를 스트리밍 복제로 전환 대기 설정 중입니다.primary_conninfo설정recovery.conf파일을 기본 서버를 가리킵니다. 설정listen_addresses및 인증 옵션(참조pg_hba.conf)를 기본에 설치하여 대기 서버는 다음에 연결할 수 있습니다.복제주 서버의 의사 데이터베이스(참조섹션 25.2.5.1).
킵얼라이브 소켓 옵션을 지원하는 시스템에서 설정tcp_keepalives_idle, tcp_keepalives_interval그리고tcp_keepalives_count기본 장치가 끊어진 연결을 즉시 발견하도록 돕습니다.
다음에서 최대 동시 연결 수를 설정합니다. 토토 결과 서버(참조max_wal_senders자세한 내용은).
토토 결과 시작 시primary_conninfo올바르게 설정되었습니다. 대기 모든 WAL 파일을 재생한 후 기본에 연결됩니다. 아카이브에서 사용 가능합니다. 연결이 설정된 경우 성공적으로, 당신은 walreceiver 프로세스를 볼 수 있습니다 대기 및 해당 Walsender 프로세스 기본.
다음에 대한 접근 권한이 매우 중요합니다. 신뢰할 수 있는 사용자만 읽을 수 있도록 복제를 설정해야 합니다. WAL 스트림, 특권 추출이 쉽기 때문 그것으로부터의 정보. 토토 결과 서버는 다음을 인증해야 합니다. 슈퍼유저 계정으로 기본. 그래서 역할은수퍼유저그리고로그인권한은 기본에서 생성되어야 합니다.
복제를 위한 클라이언트 인증은 다음에 의해 제어됩니다.pg_hba.conf레코드 지정복제에데이터베이스필드. 예를 들어, 호스트 IP에서 토토 결과가 실행 중입니다.192.168.1.100그리고 슈퍼유저의 이름 복제는foo, 관리자는 다음 줄을에 추가할 수 있습니다.pg_hba.conf기본 파일:
# 호스트 192.168.1.100의 사용자 "foo"가 기본 호스트에 연결하도록 허용합니다. # 사용자의 비밀번호가 올바르게 제공되면 복제 대기로 사용됩니다. # # 유형 데이터베이스 사용자 CIDR-주소 방법 호스트 복제 foo 192.168.1.100/32 md5
기본 연결의 호스트 이름 및 포트 번호 사용자 이름 및 비밀번호는recovery.conf파일. 비밀번호는 다음과 같습니다. 에 설정~/.pgpass파일에 토토 결과 (구체적으로)복제에서데이터베이스필드). 예를 들어, 기본이 호스트 IP에서 실행 중인 경우192.168.1.50, 포트5432, 복제를 위한 슈퍼유저 이름은foo, 비밀번호는foopass, 관리자는 다음을 추가할 수 있습니다. 다음 줄은recovery.conf토토 결과 중인 파일:
# 대기는 호스트 192.168.1.50에서 실행 중인 기본에 연결됩니다. # 및 포트 5432는 비밀번호가 "foopass"인 사용자 "foo"입니다. Primary_conninfo = '호스트=192.168.1.50 포트=5432 사용자=foo 비밀번호=foopass'
스트리밍 복제의 중요한 상태 지표는
기본에서 생성된 WAL 레코드의 양.
아직 대기 상태에서는 적용되었습니다. 이 지연을 다음과 같이 계산할 수 있습니다.
기본의 현재 WAL 쓰기 위치를 다음과 비교합니다.
토토 결과 서버가 수신한 마지막 WAL 위치. 그들은 수 있습니다
다음을 사용하여 검색됨pg_current_xlog_location기본 및pg_last_xlog_receive_location에
각각 토토 결과(참조테이블
9-57그리고테이블
9-58자세한 내용). 마지막 WAL 수신 위치
대기는 WAL의 프로세스 상태에도 표시됩니다.
수신자 프로세스는를 사용하여 표시됩니다.ps명령(참조섹션 27.1자세한 내용은).