SafeKit 검색

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를 사용하여 탐지 문제에 직면할 수 있습니다.

SafeKit(Windows) 다운로드 >

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. 모든 노드에 동일한 비밀번호를 설정하십시오.

SafeKit(Linux) 다운로드 >

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 웹 서비스 보안.

SafeKit 웹 콘솔을 시작하여 PostgreSQL 클러스터 구성

2. 노드 주소 구성

  • 노드 IP 주소를 입력하고 Tab key를 눌러 연결을 확인하고 노드 이름을 입력합니다. node1 또는 node2가 빨간색인 경우 두 노드에 대한 브라우저의 연결을 확인하고 두 노드의 방화벽을 확인하여 🛠️ 문제 해결를 확인하세요.
  • 그런 다음 Save and apply를 클릭하여 구성을 저장합니다.
  • 두 노드 모두에서 Success ✅ 메시지를 확인하세요.
  • 한 노드에서 Failure ❌ 구성이 발생하면 해당 노드에 대한 ▼ 아코디언을 열고 메시지를 검토합니다. SafeKit AI 🤖를 사용하여 도움을 받을 수 있습니다.

ℹ️ 원하는 경우 새 LAN and nodes(첫 번째 ➕)를 추가하여 두 번째 하트비트와 전용 복제 네트워크를 생성할 수 있습니다.

ℹ️ Advanced configuration를 클릭하면 cluster.xml 파일이 표시됩니다. 이 파일은 콘솔에 의해 자동으로 채워지고 노드에 배포됩니다.

PostgreSQL 클러스터의 노드를 입력하세요.

3. 모듈 선택

  • New module에서 postgresql.safe 모듈을 클릭합니다.

ℹ️ 상단의 파란색 배너에서 🛜 node1는 콘솔 연결 노드를 나타냅니다. 이 노드는 필요할 때 node2에 요청을 전달합니다.

ℹ️ 콘솔은 다음을 찾습니다. xxx.safe 에서 Application_Modules/generic/ 연결 노드의 디렉터리(node1) 설치 중에 모듈을 배치한 경우.

PostgreSQL용 모듈을 선택하세요.

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).

PostgreSQL 모듈 설정을 입력하세요.

5. 스크립트 편집(선택 사항)

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

PostgreSQL 모듈 설정을 입력하세요.

6. 통신 암호화(선택)

  • 노드 간 통신 암호화를 유지합니다.

PostgreSQL 모듈의 통신 암호화

7. 저장 및 적용

  • Save and apply 두 노드의 구성 및 스크립트.

PostgreSQL 모듈 구성 저장 및 적용

8. 성공적인 구성 확인

  • 두 노드 모두에서 Success ✅ 메시지를 확인하고 Monitor modules를 클릭하세요.
  • 한 노드에서 Failure ❌ 구성이 발생하면 해당 노드에 대한 ▼ 아코디언을 열고 메시지를 검토합니다. SafeKit AI 🤖를 사용하여 도움을 받을 수 있습니다.

⚠️ Linux에서 복제된 디렉터리가 마운트 지점인 경우 이 단계에서 오류가 발생할 수 있습니다.🛠️ 문제를 해결하려면 SK-0030을 참조하세요.

PostgreSQL 모듈 구성 성공 확인

9. 최신 데이터로 노드 시작

  • 노드 1에 최신 복제 디렉터리가 있으면 이를 선택하고 ⋯ Force start ▶ As primary를 선택합니다.

노드 2가 시작되면 모든 데이터가 노드 1에서 노드 2로 복사됩니다.

⚠️ 잘못된 선택을 하면 두 노드에서 오래된 데이터가 동기화될 위험이 있습니다.

⚠️ 또한 PostgreSQL 애플리케이션이 노드 1에서 중지되어 SafeKit가 복제 메커니즘을 설치한 다음 start_prim 스크립트에서 애플리케이션을 시작한다고 가정합니다.

⚠️ 후속 시작에는 Start를 사용하세요. SafeKit는 최신 서버를 유지합니다. As primary를 시작하는 것은 처음으로 또는 예외적인 작업 중에 특별한 시작입니다.

최신 데이터를 사용하여 PostgreSQL 노드를 기본 노드로 시작합니다.

10. ALONE(녹색)로의 전환을 기다립니다.

  • 노드 1은 ALONE(녹색) 상태에 도달해야 합니다. 이는 가상 IP가 설정되고 start_prim 스크립트가 노드 1에서 실행되었음을 의미합니다.

⚠️ ALONE(녹색)에 도달하지 않거나 애플리케이션이 시작되지 않는 경우 노드 1의 모듈 로그🖼️를 통해 이유를 분석합니다.

  • 🔍를 클릭하세요. 로그 아이콘 node1 모듈 로그를 열고 검사기가 오류를 감지하고 모듈을 중지하는 등의 오류 메시지를 찾습니다.
  • 로그에서 start_prim를 클릭하면 스크립트의 출력 메시지가 오른쪽에 표시되고 서비스가 잘못 시작되는 등의 오류가 감지될 수 있습니다.
  • 로그 메시지에 대한 도움을 받으려면 SafeKit AI 🤖를 사용하세요.

⚠️ 클러스터가 WAIT (red) not uptodate, STOP (red) not uptodate 상태인 경우 WAIT 노드를 중지하고 가 기본 🖼️로 시작하도록 강제합니다.

첫 번째 PostgreSQL 노드는 기본 노드로 시작하여 ALONE가 됩니다.

11. 노드 2 시작

  • ⋯ 상황에 맞는 메뉴가 있는 Start 노드 2.
  • SECOND(녹색) 상태를 기다립니다.

ℹ️ 노드 2는 복제된 디렉터리를 다시 동기화하는 동안(노드 1에서 노드 2로 복사) SECOND(주황색) 상태를 유지합니다.

  • 복제된 디렉터리에서 다시 동기화할 파일 크기와 네트워크 대역폭에 따라 시간이 걸릴 수 있습니다.
  • 복사 진행 상황을 보려면 노드 2의 모듈 로그 🖼️ 및 복제 리소스 🖼️를 참조하세요. 로그 메시지에 대한 지원을 받으려면 SafeKit AI 🤖를 사용하세요.

PostgreSQL 노드 2를 시작합니다.

12. 클러스터가 작동하는지 확인합니다.

  • 클러스터가 녹색/녹색인지 확인합니다. PostgreSQL 에서 실행되는 서비스 PRIM 노드에서 실행되고 있지 않습니다. SECOND 노드.

이 상태에서는 파일 내부의 변경 사항만 실시간으로 복제됩니다.

⚠️ PostgreSQL 서비스의 클라이언트인 구성 요소는 가상 IP 주소로 구성되어야 합니다. 구성은 DNS 이름으로 수행할 수 있습니다(DNS 이름이 생성되어 가상 IP 주소와 연결된 경우).

PostgreSQL 노드 2는 SECOND(녹색)입니다.

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 온라인 교육에서 동영상과 함께 자세한 내용을 찾아보세요.

그만해 PostgreSQL 모듈 PRIM 서버

14. 지원

  • 지원을 받으려면 각 노드당 하나씩 2개의 SafeKit Snapshots(2개의 .zip 파일)를 가져가세요.

ℹ️ 지원에 대한 자세한 내용은 여기에서 확인하세요..

지원을 위해 PostgreSQL 스냅샷 가져오기

SafeKit 미러 솔루션 시연

SafeKit 비디오: 애플리케이션 수준 클러스터링 (8:47)

이 비디오에서 SafeKit이 SAN의 복잡성 없이 미러 HA 클러스터를 구현하는 방법을 알아보세요. 이 데모에서는 Microsoft SQL Server를 사용하지만 솔루션은 다른 데이터베이스 및 애플리케이션에서도 동일하게 작동합니다.

장

  1. 🎬 SQL Server가 있는 노드 2개 (0:32)
  2. 🎬 클러스터 및 mirror.safe 모듈 구성 (3:58)
  3. 🎬 충돌 시 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 고가용성 애플리케이션 모듈 보기
SafeKit AI Chat SafeKit AI