SafeKit 검색

SafeKit을 사용한 Firebird 고가용성: 장애 조치용 firebird.safe 모듈 설치

Firebird 고가용성 빠른 설치 가이드

이 가이드는 SafeKit을 사용하여 Firebird용 mirror 클러스터를 설정하는 방법을 설명하며, 공유 스토리지가 필요 없이 자동 장애 조치 및 동기식 복제를 보장합니다.

도움이 필요하시면 SafeKit AI 🤖를 이용해 보세요.

1. 개요

  • 아키텍처 : 2노드 시스템(기본/보조)을 사용합니다.
  • 데이터 보호: 데이터 손실 제로 (RPO = 0)를 위한 실시간 동기 복제를 구현합니다.

2. 설치

  • 소프트웨어: 두 서버 모두에 SafeKit 엔진을 설치합니다.
  • 모듈: 사전 구성된 firebird.safe 애플리케이션 모듈을 다운로드합니다.

3. 구성

  • 웹 콘솔: Firebird 파일이 포함된 특정 폴더를 구성합니다.
  • 모니터링: Firebird 애플리케이션 모니터링 및 보호를 시작합니다.

SafeKit 고가용성 제한 사항

제한/요구사항이유 및 영향권장 대체안
복제 크기: 수 TB장애 후 재동기화 시간(3단계):
• 1Gb/s 네트워크 ≈ 3시간/TB
• 10Gb/s 네트워크 ≈ 1시간/TB(디스크 쓰기 성능에 따라 다름)
• 외부 공유 스토리지 사용(비용이 더 많이 들고 더 복잡함).
파일 수: 1,000,000개 미만• 장애 발생 후 재동기화 시간 성능(3단계).
• 두 노드 간에 각 파일을 비교하는 데 필요한 시간입니다.
• 복제할 여러 파일을 가상 하드 디스크/가상 머신에 넣습니다.
• 이 경우 가상 하드 디스크/가상 머신을 나타내는 파일만 복제되고 재동기화됩니다.
장애 조치 용량: ≤ 32개 VM• 각 VM은 독립적인 mirror 모듈에서 실행됩니다.
• 동일한 클러스터에서 최대 32개의 mirror 모듈을 실행할 수 있습니다.
• 외부 공유 스토리지 및 다른 VM 클러스터링 솔루션 사용(비용이 더 많이 들고 더 복잡함).
네트워크 아키텍처: 원격 사이트 간 LAN/VLAN 네트워크• 동일한 서브넷에 있는 2개의 노드에서 가상 IP 주소의 자동 장애 조치.
• 재동기화를 위한 충분한 대역폭(3단계).
• 동기 복제를 위한 낮은 지연 시간: 일반적으로 RTT가 5ms 미만입니다. 더 높은 값은 애플리케이션의 쓰기 속도에 대해 검증해야 합니다.
• 두 노드가 서로 다른 서브넷에 있는 경우(클라우드에서 일반적), 로드 밸런서, 클라우드 공급자 CLI, BGP 또는 DNS 리디렉션과 같은 다른 라우팅 옵션을 사용합니다.
• 지연 시간이 긴 네트워크의 경우 비동기 복제 기능이 있는 백업 솔루션을 사용하세요.

SafeKit/Firebird 솔루션 개요

솔루션은 다음에서 설명합니다. 💡 가장 간단한 Firebird 고가용성: 2노드 동기 복제 및 장애 조치.

Windows 및 Linux에 SafeKit/Firebird 솔루션 설치 (firebird.safe)

사전 요구 사항

  • 2개의 노드(가상 머신 또는 물리적 서버)에 Firebird 설치해야 합니다.

Windows에서 패키지 설치

  • SafeKit 무료 버전을 2개의 Windows 노드에 다운로드하여 설치하세요.
    참고: 무료 버전에는 모든 SafeKit 기능이 포함되어 있습니다. 평가판이 끝나면 패키지를 제거하지 않고 영구 라이선스 키를 활성화할 수 있습니다.
  • 패키지 설치를 완료한 후, 지금 콘솔 자격 증명 및 방화벽 규칙 설정을 선택하고 SafeKit 콘솔의 admin 사용자에 대한 암호를 구성합니다.
    모든 노드에 동일한 암호를 설정하세요.
  • C:/safekit/ (기본 설치 디렉터리) 및 정의할 모든 복제 폴더를 바이러스 백신 검사에서 제외하십시오.
    안티바이러스는 SafeKit이 OS와 긴밀하게 통합되고 가상 IP 메커니즘, 실시간 복제 및 중요 서비스 재시작 기능을 갖추고 있어 탐지에 어려움을 겪을 수 있습니다.

SafeKit (Windows) 다운로드 >

Windows에 모듈 설치

  • firebird.safe 모듈을 다운로드하세요. 이 모듈은 무료입니다. userconfig.xml 파일과 재시작 스크립트가 포함되어 있습니다.
  • firebird.safe를 C:/safekit/Application_Modules/generic에 넣으세요.

firebird.safe 다운로드 (Windows) >

Linux에서 패키지 설치

  • SafeKit 무료 버전을 2개의 Linux 노드에 설치하세요. 참고: 무료 평가판에는 모든 SafeKit 기능이 포함되어 있습니다. 평가 기간이 끝나면 패키지를 제거하지 않고 영구 라이선스 키를 활성화할 수 있습니다.
  • safekit_xx.bin 패키지를 다운로드한 후 실행하여 rpm과 safekitinstall 스크립트를 추출하고 safekitinstall 스크립트를 실행합니다
  • 방화벽 자동 구성을 예로 설정합니다
  • 웹 콘솔과 기본 사용자 admin의 암호를 설정합니다. 모든 노드에 동일한 암호를 설정합니다.

SafeKit (Linux) 다운로드 >

Linux에 모듈 설치

  • firebird.safe 모듈을 다운로드하세요.
    이 모듈은 무료입니다. userconfig.xml 파일과 재시작 스크립트가 포함되어 있습니다.
  • firebird.safe를 **/opt/safekit/Application_Modules/generic/**에 넣으세요.

firebird.safe 다운로드 (Linux) >

SafeKit/Firebird 솔루션의 단계별 구성

사전 요구 사항

  • Firebird이 2개의 노드에 설치되었습니다.
  • 복제된 총 데이터는 몇 테라바이트로 제한됩니다. 이보다 많아지면 재동기화 시간이 상당히 길어집니다.
  • 노드 간 최소 1Gb/s의 상호 연결(더 빠른 재동기화를 위해 10Gb/s 권장).
  • IP 장애 조치에는 동일한 LAN 또는 확장 LAN (L2)의 두 노드가 모두 필요합니다. 라우팅된 L3 네트워크는 지원되지 않습니다(🛠️ 클라우드 로드 밸런서 제외).

1. SafeKit 콘솔을 시작합니다

  • http://localhost:9010에 연결하여 클러스터 노드 중 하나에서 브라우저로 웹 콘솔을 실행합니다.
  • 사용자 이름에 admin 입력하고 설치 시 정의한 암호를 입력합니다.

클러스터 외부의 워크스테이션에 있는 브라우저에서 콘솔을 실행할 수도 있습니다.

⚠️ SafeKit 구성은 단일 브라우저에서 두 노드 모두에 대해 수행됩니다.

ℹ️ 웹 콘솔을 보호하려면 사용 설명서의 🛠️ 11. SafeKit 웹 서비스 보안을 참조하십시오.

SafeKit 웹 콘솔을 시작하여 Firebird 클러스터를 구성합니다

2. 노드 주소 구성

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

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

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

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

3. 모듈 선택

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

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

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

Firebird 모듈을 선택하세요

4. 모듈 구성

  • Module startup at boot에서 지연 없이 부팅 시 모듈을 자동으로 시작하도록 선택합니다.
  • Macros/SERVICES에 애플리케이션의 서비스 이름을 시작 순서대로 쉼표로 구분하여 입력합니다. Milestone XProtect 서비스의 시각적 예시는 이 스크린샷을 참조하십시오 🖼️.
  • Heartbeat networks에서는 복제가 이루어지는 단일 하트비트 네트워크가 있어야 합니다. 2단계에서 개인 LAN을 추가한 경우 개인 LAN에서 복제 흐름으로 두 개의 하트비트를 구성할 수 있습니다.
  • Virtual IP addresses에 가상 IP 주소를 입력합니다. 가상 IP 주소는 두 노드의 IP 주소와 동일한 IP 네트워크(동일한 서브넷)의 표준 IP 주소입니다.
    애플리케이션 클라이언트는 가상 IP 주소(또는 가상 IP 주소와 연결된 DNS 이름)로 구성해야 합니다.
    가상 IP 주소는 장애 발생 시 자동으로 전환됩니다.
  • Replicated directories에서 복제할 디렉터리의 경로를 설정합니다. 두 노드 모두에 존재하고 애플리케이션 데이터가 포함되어 있는지 확인합니다.
    데이터 및 로그 복제는 데이터베이스에 필수적입니다.
    필요에 따라 복제된 디렉터리를 추가로 생성할 수 있습니다.
    Milestone XProtect SQL 복제의 시각적 예시는 이 스크린샷을 참조하세요 🖼️.
  • Checkers에서 필요한 경우 프로세스 모니터링, 사용자 지정 체커, TCP, ping 또는 분할 브레인 체커와 같은 체커를 구성할 수 있습니다.
    예를 들어, 프로세스 이름이 Monitored processes/services에 표시되면 실패 시 재시작 작업으로 모니터링됩니다. 잘못된 프로세스 이름을 구성하면 모듈이 시작 직후 중지됩니다.

ℹ️ Advanced configuration 클릭하면 userconfig.xml 파일이 표시됩니다. 이 파일은 콘솔에서 자동으로 채워지며 재시작 스크립트와 함께 노드에 배포됩니다.

ℹ️ 클라우드 배포에서는 SafeKit에서 가상 IP 주소를 구성할 필요가 없습니다. 가상 IP는 🛠️ 클라우드 로드 밸런서 수준에서 관리됩니다.

ℹ️ SafeKit 구성을 적용하면 Windows 서비스에서 서비스의 startup type 자동으로 Manual으로 설정됩니다. 이렇게 하면 시스템 부팅 시 서비스가 자동으로 시작되지 않고 모듈 자체가 시작될 때만 시작됩니다(Linux 에서도 동일하게 적용됩니다).

Firebird 모듈 설정으로 이동

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

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

Firebird 모듈 설정으로 이동

6. 통신 암호화(선택 사항)

  • 노드 간 통신 암호화를 유지하세요.

Firebird 모듈의 통신 암호화

7. 저장 및 적용

  • 두 노드 모두에서 구성을 Save and apply.

Firebird 모듈 구성을 저장하고 적용합니다

8. 구성 성공 여부 확인

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

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

Firebird 모듈 구성 성공 여부 확인

9. 최신 데이터로 노드를 시작합니다

  • 노드 1에 최신 복제 디렉터리가 있는 경우 해당 노드를 선택하고 ⋯ Force start ▶ As primary 시작을 선택합니다.

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

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

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

⚠️ 후속 시작 시에는 Start 사용하십시오. SafeKit은 최신 서버를 유지합니다. As primary 시작하는 것은 처음이거나 예외적인 작업 중에 특별히 시작하는 것입니다.

최신 데이터가 있는 Firebird 노드를 기본으로 시작합니다

10. ALONE (녹색)로 전환될 때까지 기다리세요

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

⚠️ ALONE (녹색)에 도달하지 못했거나 애플리케이션이 시작되지 않은 경우 노드 1의 모듈 로그 🖼️ 를 통해 원인을 분석하십시오.

  • node1의 🔍 로그 아이콘을 클릭하여 모듈 로그를 열고, 검사기가 오류를 감지하여 모듈을 중지시키는 등의 오류 메시지를 찾습니다.
  • 로그에서 start_prim 클릭하면 스크립트의 출력 메시지가 오른쪽에 표시되며 서비스가 잘못 시작되는 등의 오류를 감지할 수 있습니다.
  • 로그 메시지 관련 지원은 SafeKit AI 🤖 이용하세요.

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

첫 번째 Firebird 노드는 기본으로 시작하여 ALONE 상태가 됩니다

11. 노드 2 시작

  • ⋯ 컨텍스트 메뉴가 있는 Start 노드 2를 선택합니다.
  • SECOND (녹색) 상태가 될 때까지 기다리세요.

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

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

Firebird 노드 2를 시작합니다

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

  • 클러스터가 녹색/녹색이고 PRIM 노드에서 Firebird 서비스가 실행 중이며 SECOND 노드에서는 실행 중이 아닌지 확인합니다.

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

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

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

13. 테스트

  • PRIM 노드의 상황별 메뉴를 아래로 스크롤하여 Stop 클릭하여 노드를 중지합니다.
  • SECOND 노드에 장애 조치가 발생하여 ALONE 작동하는지(녹색) 확인합니다.
  • Windows의 Microsoft Management Console(MMC) 또는 Linux의 명령줄을 사용하여 Firebird 서비스의 장애 조치(failover)를 확인합니다(stop_prim 스크립트에서 노드 1에서 중지되고 start_prim 스크립트에서 노드 2에서 시작됨).

⚠️ node2에서 ALONE (녹색)에 도달하지 못했거나 애플리케이션이 시작되지 않은 경우 노드 2의 모듈 로그 🖼️ 를 통해 원인을 분석하십시오.

  • node2의 🔍 로그 아이콘을 클릭하여 모듈 로그를 열고, 검사기가 오류를 감지하여 모듈을 중지시키는 등의 오류 메시지를 찾으십시오.
  • 로그에서 start_prim 클릭하면 스크립트의 출력 메시지가 오른쪽에 표시되며 서비스가 잘못 시작되는 등의 오류를 감지할 수 있습니다.
  • 로그 메시지 관련 지원은 SafeKit AI 🤖 이용하세요.

⚠️

  • 모든 것이 정상이라면 node1에서 시작을 실행하여 node2에서 복제된 디렉터리를 다시 동기화합니다.
  • 문제가 발생하면 node2를 중지하고 node1이 기본 노드로 시작되도록 강제하면 🖼️ 중지 시점에 로컬에서 정상적인 데이터로 다시 시작됩니다.

ℹ️ 자세한 내용과 동영상은 SafeKit 온라인 교육에서 확인하세요.

PRIM 서버에서 Firebird 모듈을 중지합니다

14. 지원

  • 지원을 받으려면 각 노드에 대해 SafeKit Snapshots 2개(.zip 파일 2개)를 찍으십시오.

ℹ️ 지원에 대한 자세한 정보는 여기에서 확인하세요.

지원을 위해 Firebird 스냅샷을 찍으세요

SafeKit mirror 솔루션 시연

SafeKit 동영상: 애플리케이션 수준 클러스터링 (8:47)

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

챕터

  1. 🎬 SQL Server가 있는 2개의 노드 (0:32)
  2. 🎬 클러스터 및 mirror.safe 모듈 구성 (3:58)
  3. 🎬 SQL 복제, 마이그레이션, 충돌 시 장애 조치 시작 및 테스트 (4:17)

단계별 구현

🔍 SafeKit 살펴보기

SafeKit의 기능, 아키텍처, 동영상, 설명서 및 무료 평가판에 대한 정보를 찾아보세요.

자원설명링크
주요 기능SafeKit가 간단하고 비용 효율적인 고가용성 솔루션인 이유를 알아보세요.주요 기능 살펴보기
사용 사례SafeKit이 중요 애플리케이션과 인프라의 가용성을 유지하는 방법을 알아보세요.사용 사례 살펴보기
배포 모델SafeKit는 SAN이나 공유 스토리지 없이도 고가용성을 제공합니다.배포 모델 살펴보기
고가용성 전략가상 머신과 애플리케이션의 고가용성을 비교합니다.두 가지 전략을 비교해 보세요
기술 사양SafeKit 클러스터의 기술 요구 사항 및 제한 사항을 확인하십시오.기술 사양을 읽어보세요
동영상SafeKit 구성 및 자동 장애 조치 시연을 시청하세요.기술 동영상 시청하기
아키텍처SafeKit mirror 클러스터 실시간으로 파일을 복제하고 장애 조치를 처리하는 방법을 알아보세요.Mirror 아키텍처 살펴보기
아키텍처SafeKit farm 클러스터 네트워크 트래픽의 균형을 맞추고 장애 조치를 처리하는 방법을 알아보세요.Farm 아키텍처 둘러보기
제품 비교SafeKit와 기존의 고가용성 클러스터 비교해 보세요.솔루션 비교
기술 자료기술 설명서를 찾아보고, SafeKit을 다운로드하고, 무료 평가판을 이용해 보세요.설명서 및 무료 평가판에 액세스하세요
애플리케이션 모듈사전 구성된 SafeKit 모듈을 사용하여 애플리케이션의 고가용성을 설정하세요.애플리케이션 모듈 살펴보기
SafeKit AI Chat SafeKit AI