SafeKit를 통한 PostgreSQL 고가용성: 장애 조치를 위한 postgresql.safe 모듈 설치
PostgreSQL용 고가용성 빠른 설치 가이드
이 가이드에서는 설정 방법을 설명합니다. 미러 클러스터 에 대한 PostgreSQL 사용하여 SafeKit, 공유 스토리지가 필요 없이 자동 장애 조치 및 동기식 복제를 보장합니다.
도움이 필요하면 다음을 사용할 수 있습니다. SafeKit AI 🤖.
1. 개요
- 아키텍처: 2노드 시스템(기본/보조)을 사용합니다.
- 데이터 보호: 실시간 동기 복제 구현 데이터 손실 제로 (RPO=0).
2. 설치
- 소프트웨어: 두 서버 모두에 SafeKit 엔진을 설치합니다.
- 모듈: 사전 구성된 다운로드
postgresql.safe.safe응용 모듈.
3. 구성
- 웹 콘솔: PostgreSQL 파일이 포함된 특정 폴더를 구성합니다.
- 모니터링: PostgreSQL 애플리케이션 모니터링 및 보호를 시작하세요.
SafeKit 고가용성 제한 사항
| 제한 / 요구사항 | 이유 및 영향 | 권장 대안 |
|---|---|---|
| 복제 크기: 수 TB | 장애 발생 후 재동기화 시간 (3단계) : • 1 Gb/s 네트워크 ≈ 3시간 / TB • 10 Gb/s 네트워크 ≈ 1시간 / TB (디스크 쓰기 성능에 따라 다름) | • 외부 공유 스토리지 사용 (비용이 더 들고 복잡함). |
| 파일 개수: < 1,000,000개 파일 | • 장애 발생 후 재동기화 시간 성능 (3단계). • 두 노드 간에 각 파일을 확인하는 데 걸리는 시간. | • 복제할 많은 파일을 가상 하드 디스크 / 가상 머신 내에 배치합니다. • 이 경우 가상 하드 디스크 / 가상 머신을 나타내는 파일만 복제 및 재동기화됩니다. |
| 장애 조치(Failover) 용량: ≤ 32 VM | • 각 VM은 독립적인 미러 모듈에서 실행됩니다. • 동일한 클러스터에서 실행되는 미러 모듈은 최대 32개입니다. | • 외부 공유 스토리지 및 다른 VM 클러스터링 솔루션 사용 (비용이 더 들고 복잡함). |
| 네트워크 아키텍처: 원격 사이트 간의 LAN/VLAN 네트워크 | • 동일한 서브넷에 있는 2개의 노드로 가상 IP 주소 자동 장애 조치. • 재동기화를 위한 양호한 대역폭 (3단계). • 동기 복제를 위한 짧은 지연 시간: 일반적으로 < 5 ms RTT; 더 높은 값은 애플리케이션의 쓰기 속도에 따라 검증되어야 합니다. | • 2개의 노드가 서로 다른 2개의 서브넷에 있는 경우 가상 IP 주소용 로드 밸런서 사용 (SafeKit 지원, 특히 클라우드 환경). • 지연 시간이 긴 네트워크의 경우 비동기 복제가 포함된 백업 솔루션 사용. |
SafeKit/PostgreSQL 솔루션 개요
솔루션은 여기에 설명되어 있습니다. 💡가장 간단한 PostgreSQL 고가용성: 2노드 동기식 복제 및 장애 조치.
Windows 및 Linux에 SafeKit/PostgreSQL 솔루션 설치(postgresql.safe)
전제 조건
- 2개의 노드(가상 머신 또는 물리적 서버)에 PostgreSQL이 설치되어 있어야 합니다.
Windows에 패키지 설치
- 무료 버전을 다운로드하여 설치하세요. SafeKit 2에 Windows 노드.
참고: 무료 버전에는 모든 SafeKit 기능이 포함되어 있습니다. 평가판이 끝나면 패키지를 제거하지 않고도 영구 라이센스 키를 활성화할 수 있습니다. - 패키지 설치가 완료되면 다음을 선택하세요. Set console credentials and firewall rules now 비밀번호를 구성하세요. admin SafeKit 콘솔 사용자입니다.
모든 노드에 동일한 비밀번호를 설정하십시오. - 바이러스 백신 검사에서 제외 C:/safekit/ (기본 설치 디렉터리) 및 복제된 모든 폴더 당신이 정의할 것입니다.
바이러스 백신은 OS, 가상 IP 메커니즘, 실시간 복제 및 중요 서비스 재시작과의 긴밀한 통합으로 인해 SafeKit를 사용하여 탐지 문제에 직면할 수 있습니다.
Windows에 모듈 설치
- postgresql.safe 모듈을 다운로드합니다. 모듈은 무료입니다. 여기에는 userconfig.xml 파일과 다시 시작 스크립트가 포함되어 있습니다.
- 넣어 postgresql.safe 아래 C:/safekit/Application_Modules/generic.
다운로드 postgresql.safe (Windows) >
Linux에 패키지 설치
- 무료 버전을 설치하세요 SafeKit 2에 Linux 노드. 참고: 무료 평가판에는 다음이 모두 포함됩니다. SafeKit 특징. 평가판이 끝나면 패키지를 제거하지 않고도 영구 라이센스 키를 활성화할 수 있습니다.
- safekit_xx.bin 패키지를 다운로드한 후 이를 실행하여 rpm 및 safekitinstall 스크립트를 추출한 후 다음을 실행합니다. safekitinstall 스크립트
- 답변 응 방화벽 자동 구성
- 웹 콘솔 및 기본 사용자의 비밀번호를 설정합니다. admin. 모든 노드에 동일한 비밀번호를 설정하십시오.
Linux에 모듈 설치
- postgresql.safe 모듈을 다운로드합니다.
모듈은 무료입니다. 여기에는 userconfig.xml 파일과 다시 시작 스크립트가 포함되어 있습니다. - 넣어 postgresql.safe 아래 /opt/safekit/Application_Modules/generic/.
postgresql.safe (Linux) 다운로드 >
SafeKit/PostgreSQL 솔루션의 단계별 구성
전제 조건
- 2개 노드에 설치된 PostgreSQL 애플리케이션.
- 총 복제 데이터는 몇 테라바이트로 제한됩니다. 이를 초과하면 재동기화 시간이 상당히 길어집니다.
- 노드 간 최소 1Gb/s 상호 연결(더 빠른 재동기화를 위해 10Gb/s 권장)
- IP 장애 조치에는 동일한 LAN 또는 확장된 LAN(L2)에 두 노드가 모두 필요합니다. 라우팅된 L3 네트워크는 지원되지 않습니다(🛠️ 클라우드 로드 밸런서 제외).
1. SafeKit 콘솔을 시작합니다
http://localhost:9010에 연결하여 한 클러스터 노드의 브라우저에서 웹 콘솔을 시작합니다.- 설치 중에 정의한 사용자 이름과 비밀번호로
admin를 입력하십시오.
클러스터 외부 워크스테이션의 브라우저에서 콘솔을 실행할 수도 있습니다.
⚠️ SafeKit의 구성은 단일 브라우저의 두 노드 모두에서 수행됩니다.
ℹ️ 웹 콘솔을 보호하려면 🛠️ 11\을 참조하세요. 사용자 가이드의 SafeKit 웹 서비스 보안.

2. 노드 주소 구성
- 노드 IP 주소를 입력하고
Tab key를 눌러 연결을 확인하고 노드 이름을 입력합니다. node1 또는 node2가 빨간색인 경우 두 노드에 대한 브라우저의 연결을 확인하고 두 노드의 방화벽을 확인하여 🛠️ 문제 해결를 확인하세요. - 그런 다음
Save and apply를 클릭하여 구성을 저장합니다. - 두 노드 모두에서
Success✅ 메시지를 확인하세요. - 한 노드에서
Failure❌ 구성이 발생하면 해당 노드에 대한 ▼ 아코디언을 열고 메시지를 검토합니다. SafeKit AI 🤖를 사용하여 도움을 받을 수 있습니다.
ℹ️ 원하는 경우 새 LAN and nodes(첫 번째 ➕)를 추가하여 두 번째 하트비트와 전용 복제 네트워크를 생성할 수 있습니다.
ℹ️ Advanced configuration를 클릭하면 cluster.xml 파일이 표시됩니다. 이 파일은 콘솔에 의해 자동으로 채워지고 노드에 배포됩니다.

3. 모듈 선택
New module에서postgresql.safe모듈을 클릭합니다.
ℹ️ 상단의 파란색 배너에서 🛜 node1는 콘솔 연결 노드를 나타냅니다. 이 노드는 필요할 때 node2에 요청을 전달합니다.
ℹ️ 콘솔은 다음을 찾습니다. xxx.safe 에서 Application_Modules/generic/ 연결 노드의 디렉터리(node1) 설치 중에 모듈을 배치한 경우.

4. 모듈 구성
Module startup at boot에서는 부팅 시 지연 없이 모듈 자동 시작을 선택합니다.Macros/SERVICES에 애플리케이션의 서비스 이름을 시작 순서대로 쉼표로 구분하여 입력합니다. Milestone XProtect 서비스 🖼️의 시각적 예를 보려면 이 스크린샷을 참조하세요.Heartbeat networks에서는 복제가 수행되는 단일 하트비트 네트워크가 있어야 합니다. 2단계에서 프라이빗 LAN를 추가한 경우 프라이빗 LAN의 복제 흐름을 사용하여 두 개의 하트비트를 구성할 수 있습니다.- 에서
Virtual IP addresses, 가상 입력 IP 주소. 가상 IP 주소는 표준입니다 IP 같은 주소로 IP 네트워크(동일한 서브넷) IP 두 노드의 주소.
애플리케이션 클라이언트는 가상으로 구성되어야 합니다. IP 주소(또는 DNS 가상과 관련된 이름 IP 주소).
가상 IP 장애 발생 시 주소가 자동으로 전환됩니다. Replicated directories에서 복제할 디렉터리의 경로를 설정합니다. 두 노드 모두에 존재하고 애플리케이션 데이터를 포함하는지 확인하십시오.
데이터베이스에는 데이터 및 로그 복제가 필수적입니다.
필요에 따라 추가 복제 디렉터리를 생성할 수 있습니다.
Milestone XProtect SQL 복제 🖼️의 시각적 예를 보려면 이 스크린샷을 참조하세요.Checkers에서는 필요한 경우 프로세스 모니터링, 사용자 정의 검사기, TCP, 핑 또는 분할 브레인 검사기와 같은 검사기를 구성할 수 있습니다.
예를 들어Monitored processes/services에 프로세스 이름이 표시되어 있으면 장애 발생 시 다시 시작 동작으로 모니터링됩니다. 잘못된 프로세스 이름을 구성하면 모듈이 시작 직후 중지됩니다.
ℹ️ Advanced configuration를 클릭하면 userconfig.xml 파일이 표시됩니다. 이 파일은 콘솔에 의해 자동으로 채워지고 다시 시작 스크립트를 사용하여 노드에 배포됩니다.
ℹ️ 클라우드 배포에서는 가상 환경을 구성할 필요가 없습니다. IP 주소 SafeKit. 가상 IP 🛠️에서 관리됩니다 클라우드 로드 밸런서 수준.
ℹ️신청하시면 SafeKit 구성, startup type 서비스는 다음과 같이 자동으로 설정됩니다. Manual 안으로 Windows 서비스. 이렇게 하면 시스템이 부팅될 때 서비스가 자동으로 시작되지 않고 대신 모듈 자체가 시작될 때만 서비스가 시작됩니다. Linux).

5. 스크립트 편집(선택 사항)
- 이 단계는 선택 사항이며 대부분의 경우 건너뛸 수 있습니다. 이전 단계에서 정의한 서비스를 다시 시작하도록 다시 시작 스크립트가 이미 사전 구성되어 있기 때문입니다.
- 따라서
Next step를 직접 클릭하세요. start_prim.ps1는SERVICES목록에 지정된 순서대로 모든 서비스를 시작하고,stop_prim.ps1는 역순으로 모든 서비스를 중지합니다.- 또한
start_prim.ps1는 각 서비스의 시작을 확인하고 서비스가 올바르게 시작되지 않으면 모듈을 중지합니다.

6. 통신 암호화(선택)
- 노드 간 통신 암호화를 유지합니다.

7. 저장 및 적용
Save and apply두 노드의 구성 및 스크립트.

8. 성공적인 구성 확인
- 두 노드 모두에서
Success✅ 메시지를 확인하고Monitor modules를 클릭하세요. - 한 노드에서
Failure❌ 구성이 발생하면 해당 노드에 대한 ▼ 아코디언을 열고 메시지를 검토합니다. SafeKit AI 🤖를 사용하여 도움을 받을 수 있습니다.
⚠️ Linux에서 복제된 디렉터리가 마운트 지점인 경우 이 단계에서 오류가 발생할 수 있습니다.🛠️ 문제를 해결하려면 SK-0030을 참조하세요.

9. 최신 데이터로 노드 시작
- 노드 1에 최신 복제 디렉터리가 있으면 이를 선택하고 ⋯
Force start▶As primary를 선택합니다.
노드 2가 시작되면 모든 데이터가 노드 1에서 노드 2로 복사됩니다.
⚠️ 잘못된 선택을 하면 두 노드에서 오래된 데이터가 동기화될 위험이 있습니다.
⚠️ 또한 PostgreSQL 애플리케이션이 노드 1에서 중지되어 SafeKit가 복제 메커니즘을 설치한 다음 start_prim 스크립트에서 애플리케이션을 시작한다고 가정합니다.
⚠️ 후속 시작에는 Start를 사용하세요. SafeKit는 최신 서버를 유지합니다. As primary를 시작하는 것은 처음으로 또는 예외적인 작업 중에 특별한 시작입니다.

10. ALONE(녹색)로의 전환을 기다립니다.
- 노드 1은 ALONE(녹색) 상태에 도달해야 합니다. 이는 가상 IP가 설정되고
start_prim스크립트가 노드 1에서 실행되었음을 의미합니다.
⚠️ ALONE(녹색)에 도달하지 않거나 애플리케이션이 시작되지 않는 경우 노드 1의 모듈 로그🖼️를 통해 이유를 분석합니다.
- 🔍를 클릭하세요. 로그 아이콘
node1모듈 로그를 열고 검사기가 오류를 감지하고 모듈을 중지하는 등의 오류 메시지를 찾습니다. - 로그에서
start_prim를 클릭하면 스크립트의 출력 메시지가 오른쪽에 표시되고 서비스가 잘못 시작되는 등의 오류가 감지될 수 있습니다. - 로그 메시지에 대한 도움을 받으려면 SafeKit AI 🤖를 사용하세요.
⚠️ 클러스터가 WAIT (red) not uptodate, STOP (red) not uptodate 상태인 경우 WAIT 노드를 중지하고 가 기본 🖼️로 시작하도록 강제합니다.

11. 노드 2 시작
- ⋯ 상황에 맞는 메뉴가 있는
Start노드 2. - SECOND(녹색) 상태를 기다립니다.
ℹ️ 노드 2는 복제된 디렉터리를 다시 동기화하는 동안(노드 1에서 노드 2로 복사) SECOND(주황색) 상태를 유지합니다.
- 복제된 디렉터리에서 다시 동기화할 파일 크기와 네트워크 대역폭에 따라 시간이 걸릴 수 있습니다.
- 복사 진행 상황을 보려면 노드 2의 모듈 로그 🖼️ 및 복제 리소스 🖼️를 참조하세요. 로그 메시지에 대한 지원을 받으려면 SafeKit AI 🤖를 사용하세요.

12. 클러스터가 작동하는지 확인합니다.
- 클러스터가 녹색/녹색인지 확인합니다. PostgreSQL 에서 실행되는 서비스 PRIM 노드에서 실행되고 있지 않습니다. SECOND 노드.
이 상태에서는 파일 내부의 변경 사항만 실시간으로 복제됩니다.
⚠️ PostgreSQL 서비스의 클라이언트인 구성 요소는 가상 IP 주소로 구성되어야 합니다. 구성은 DNS 이름으로 수행할 수 있습니다(DNS 이름이 생성되어 가상 IP 주소와 연결된 경우).

13. 테스트
- 그만해 PRIM 상황에 맞는 메뉴를 아래로 스크롤하고 클릭하여 노드
Stop. - 장애 조치(failover)가 있는지 확인합니다. SECOND 노드 ALONE (녹색).
- 그리고 Microsoft Management Console(MMC) 에 Windows 또는 명령줄을 사용하여 Linux, 장애 조치를 확인하세요. PostgreSQL 서비스(노드 1에서 중지됨)
stop_prim스크립트를 실행하고 노드 2에서 시작했습니다.start_prim스크립트).
⚠️ 만약에 ALONE (녹색)에 도달하지 않았습니다. node2 또는 응용 프로그램이 시작되지 않으면 이유를 분석하십시오. 모듈 로그 🖼️ 노드 2의
- 🔍를 클릭하세요. 로그 아이콘
node2모듈 로그를 열고 검사기가 오류를 감지하고 모듈을 중지하는 등의 오류 메시지를 찾습니다. - 로그에서
start_prim를 클릭하면 스크립트의 출력 메시지가 오른쪽에 표시되고 서비스가 잘못 시작되는 등의 오류가 감지될 수 있습니다. - 로그 메시지에 대한 도움을 받으려면 SafeKit AI 🤖를 사용하세요.
⚠️
- 모든 것이 정상이면 node1에서 시작을 시작합니다. 그러면 node2에서 복제된 디렉터리가 다시 동기화됩니다.
- 일이 잘못되면 멈춰라 node2 그리고 시작을 기본으로 강제 실행 🖼️ 의 node1, 중지 시점의 로컬 정상 데이터로 다시 시작됩니다.
ℹ️ SafeKit 온라인 교육에서 동영상과 함께 자세한 내용을 찾아보세요.

14. 지원
- 지원을 받으려면 각 노드당 하나씩 2개의 SafeKit
Snapshots(2개의 .zip 파일)를 가져가세요.
ℹ️ 지원에 대한 자세한 내용은 여기에서 확인하세요..

SafeKit 미러 솔루션 시연
SafeKit 비디오: 애플리케이션 수준 클러스터링 (8:47)
이 비디오에서 SafeKit이 SAN의 복잡성 없이 미러 HA 클러스터를 구현하는 방법을 알아보세요. 이 데모에서는 Microsoft SQL Server를 사용하지만 솔루션은 다른 데이터베이스 및 애플리케이션에서도 동일하게 작동합니다.
장
- 🎬 SQL Server가 있는 노드 2개 (0:32)
- 🎬 클러스터 및 mirror.safe 모듈 구성 (3:58)
- 🎬 충돌 시 SQL 복제, 마이그레이션, 장애 조치 시작 및 테스트 (4:17)
단계별 구현
🔍 SafeKit 고가용성 탐색 허브
SafeKit 탐색: 주요 기능, 기술 영상, 문서 및 무료 체험판
| 리소스 유형 | 설명 | 바로가기 링크 |
|---|---|---|
| 주요 기능 | 단순하고 비용 효율적인 고가용성을 위해 SafeKit을 선택해야 하는 이유는 무엇입니까? | SafeKit 고가용성 선택 이유 보기 |
| 사용 사례 | SafeKit이 핵심 인프라의 고가용성을 보장하는 방법을 알아보세요 | 모든 사용 사례 보기 (OEM 소프트웨어, 엣지 서버, SCADA 등) |
| 배포 모델 | 올인원 SANless HA: 공유 디스크가 없는 소프트웨어 클러스터링 | SafeKit 올인원 SANless HA 보기 |
| HA 전략 | SafeKit: 인프라(VM) vs. 애플리케이션 레벨 고가용성 | SafeKit HA 및 이중화: VM vs. 애플리케이션 레벨 보기 |
| 기술 사양 | SafeKit 클러스터링의 기술적 제한 사항 | SafeKit 고가용성 제한 사항 보기 |
| 동영상 | SafeKit: 고가용성 구성 및 장애 조치(Failover) 데모 | SafeKit 장애 조치 튜토리얼 보기 |
| 아키텍처 | SafeKit 미러 클러스터 작동 방식 (실시간 복제 및 장애 조치) | SafeKit 미러 클러스터: 실시간 복제 및 장애 조치 보기 |
| 아키텍처 | SafeKit 팜(Farm) 클러스터 작동 방식 (네트워크 부하 분산 및 장애 조치) | SafeKit 팜 클러스터: 네트워크 부하 분산 및 장애 조치 보기 |
| 경쟁 우위 | 비교: SafeKit vs. 기존 고가용성(HA) 클러스터 | SafeKit vs. 기존 HA 클러스터 비교 보기 |
| 기술 리소스 | SafeKit 고가용성: 문서, 다운로드 및 체험판 | SafeKit HA 무료 체험판 및 기술 문서 보기 |
| 사전 구성 솔루션 | SafeKit 애플리케이션 모듈 라이브러리: 즉시 사용 가능한 HA 솔루션 | SafeKit 고가용성 애플리케이션 모듈 보기 |