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)。
• 両方のノード間で各ファイルを確認するための時間。
• レプリケートする多数のファイルを仮想ハードディスク / 仮想マシン内に配置する。
• この場合、仮想ハードディスク / 仮想マシンを表すファイルのみがレプリケートおよび再同期されます。
フェイルオーバー容量: ≤ 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)

前提条件

  • PostgreSQL は 2 つのノード (仮想マシンまたは物理サーバー) にインストールする必要があります。

Windows へのパッケージのインストール

  • SafeKit の無料バージョンをダウンロードして、2 つの Windows ノードにインストールします。
    注: 無料版には、SafeKit のすべての機能が含まれています。トライアル終了後は、パッケージをアンインストールせずに永久ライセンス キーをアクティブ化できます。
  • パッケージのインストールが完了したら、 Set console credentials and firewall rules now のパスワードを設定します admin SafeKit コンソールのユーザー。
    すべてのノードに同じパスワードを設定します。
  • ウイルス対策スキャンから除外する C:/safekit/ (デフォルトのインストールディレクトリ) および すべてのレプリケートされたフォルダー あなたが定義しようとしているものです。
    SafeKit は、OS、仮想 IP メカニズム、リアルタイム レプリケーション、重要なサービスの再起動と緊密に統合されているため、ウイルス対策製品は検出の課題に直面する可能性があります。

ダウンロード 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 スクリプト
  • 答え はい ファイアウォール自動設定へ
  • Webコンソールとデフォルトユーザーのパスワードを設定します。 admin. すべてのノードに同じパスワードを設定します。

ダウンロード SafeKit (Linux) >

Linux へのモジュールのインストール

  • ダウンロード postgresql.safe モジュール。
    モジュールは無料です。これには、userconfig.xml ファイルと再起動スクリプトが含まれています。
  • 置く postgresql.safe 下 /opt/safekit/Application_Modules/generic/.

postgresql.safe(Linux)をダウンロード >

SafeKit / PostgreSQL ソリューションの段階的な構成

前提条件

  • PostgreSQL アプリケーションは 2 つのノードにインストールされます。
  • 複製されるデータの合計は数テラバイトに制限されており、これを超えると再同期にかかる時間が大幅に長くなります。
  • ノード間の相互接続は最低 1Gb/秒 (再同期を高速化するには 10Gb/秒を推奨)。
  • IP フェイルオーバーには、同じ LAN または拡張 LAN (L2) 上の両方のノードが必要です。ルーティングされた L3 ネットワークはサポートされていません (🛠️ クラウド ロード バランサー を除く)。

1. SafeKit コンソールを起動します

  • http://localhost:9010 に接続して、1 つのクラスター ノード上のブラウザーで Web コンソールを起動します。
  • ユーザー名として「admin」を入力し、インストール中に定義したパスワードを入力します。

クラスター外部のワークステーション上のブラウザーでコンソールを実行することもできます。

⚠️ SafeKit の設定は、単一のブラウザから両方のノードで実行されます。

ℹ️ Web コンソールを保護するには、🛠️ 11\ を参照してください。ユーザーズガイドのSafeKit Webサービスのセキュリティ保護。

SafeKit Web コンソールを起動して、PostgreSQL クラスターを構成します。

2. ノードアドレスを設定する

  • ノード IP アドレスを入力し、Tab key を押して接続を確認し、ノード名を入力します。 node1 または node2 の色が赤色の場合は、両方のノードへのブラウザーの接続を確認し、🛠️ トラブルシューティング について両方のノードのファイアウォールを確認してください。
  • 次に、Save and apply をクリックして構成を保存します。
  • 両方のノードで Success ✅ メッセージを確認します。
  • 構成 Failure ❌ が 1 つのノードで発生する場合は、そのノードの ▼ アコーディオンを開いてメッセージを確認します。 SafeKit AI 🤖 を使用できることに注意してください。

ℹ️ 必要に応じて、新しい LAN and nodes (最初の ➕) を追加して、2 番目のハートビートと専用のレプリケーション ネットワークを作成できます。

ℹ️ 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 上のレプリケーション フローで 2 つのハートビートを構成できます。
  • で Virtual IP addresses、仮想を入力します IP 住所。仮想 IP 住所は標準です IP 同じ住所 IP ネットワーク (同じサブネット) IP 両方のノードのアドレス。
    アプリケーションクライアントは仮想 IP 住所 (または DNS 仮想に関連付けられた名前 IP 住所)。
    仮想 IP 障害発生時にはアドレスが自動的に切り替わります。
  • Replicated directories で、レプリケートするディレクトリのパスを設定します。これらが両方のノードに存在し、アプリケーション データが含まれていることを確認します。
    データとログのレプリケーションはデータベースにとって不可欠です。
    必要に応じて、追加の複製ディレクトリを作成できます。
    Milestone XProtect SQL レプリケーション 🖼️ の視覚的な例については、このスクリーンショットを参照してください。
  • Checkers では、必要に応じて、プロセス監視、カスタム チェッカー、TCP、ping、スプリット ブレイン チェッカーなどのチェッカーを構成できます。
    たとえば、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 ❌ が 1 つのノードで発生する場合は、そのノードの ▼ アコーディオンを開いてメッセージを確認します。 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 の module ログ 🖼️ を使用して理由を分析します。

  • 🔍をクリックしてください ログ のアイコン node1 モジュール ログを開いて、チェッカーがエラーを検出してモジュールを停止したなどのエラー メッセージを探します。
  • ログ内の start_prim をクリックすると、スクリプトの出力メッセージが右側に表示され、サービスが正しく開始されなかったなどのエラーを検出できます。
  • ログ メッセージに関する支援として、SafeKit AI 🤖 を使用してください。

⚠️ クラスターが WAIT (red) not uptodate, STOP (red) not uptodate 状態の場合は、WAIT ノードを停止し、 強制的にプライマリ 🖼️ として起動します。

最初の PostgreSQL ノードはプライマリとして開始され、ALONE になります。

11. ノード 2 を開始します

  • ⋯ Start ノード 2 とそのコンテキスト メニュー。
  • SECOND (緑色) 状態になるまで待ちます。

ℹ️ 複製されたディレクトリ (ノード 1 からノード 2 へのコピー) を再同期している間、ノード 2 は SECOND (オレンジ) 状態のままです。

  • 複製されたディレクトリ内で再同期するファイルのサイズとネットワーク帯域幅によっては、時間がかかる場合があります。
  • コピーの進行状況を確認するには、ノード 2 の module ログ 🖼️ と レプリケーション リソース 🖼️ を参照してください。ログ メッセージの支援については、SafeKit AI 🤖 を使用してください。

PostgreSQL ノード 2 を開始します。

12. クラスターが動作していることを確認します。

  • クラスターが緑色/緑色で、PostgreSQL サービスが PRIM ノードで実行されており、SECOND ノードでは実行されていないことを確認します。

この状態では、ファイル内の変更のみがリアルタイムでレプリケートされます。

⚠️ PostgreSQL サービスのクライアントであるコンポーネントは、仮想 IP アドレスを使用して構成する必要があります。構成は、DNS 名を使用して実行できます (DNS 名が作成され、仮想 IP アドレスに関連付けられている場合)。

PostgreSQL ノード 2 は SECOND (緑)

13. テスト

  • やめてください PRIM ノードのコンテキスト メニューを下にスクロールして、 Stop。
  • SECOND ノードにフェイルオーバーが存在し、ALONE (緑色) になることを確認します。
  • Microsoft 管理コンソール (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. サポート

  • サポートを受けるには、ノードごとに 1 つずつ、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、など)
導入モデルオールインワンの SANレス HA:共有ディスク不要のソフトウェアクラスタリングSafeKit オールインワン SANレス HA を見る
HA 戦略SafeKit:インフラ(VM)レベル vs. アプリケーションレベルの高可用性SafeKit HA と冗長性:VM vs. アプリレベルを見る
技術仕様SafeKit クラスタリングの技術的制限事項SafeKit 高可用性の制限事項を見る
動画SafeKit:高可用性構成とフェイルオーバーのデモSafeKit フェイルオーバーチュートリアルを見る
アーキテクチャSafeKit ミラークラスターの仕組み(リアルタイムレプリケーションとフェイルオーバー)SafeKit ミラークラスター:リアルタイム複製とフェイルオーバーを見る
アーキテクチャSafeKit ファームクラスターの仕組み(ネットワーク負荷分散とフェイルオーバー)SafeKit ファームクラスター:負荷分散とフェイルオーバーを見る
競争優位性比較:SafeKit vs. 伝統的な高可用性(HA)クラスターSafeKit と伝統的 HA クラスターの比較を見る
技術リソースSafeKit 高可用性:ドキュメント、ダウンロード、トライアルSafeKit HA 無料トライアルと技術ドキュメントを見る
構成済みソリューションSafeKit アプリケーションモジュールライブラリ:すぐに使える HA ソリューションSafeKit 高可用性アプリケーションモジュールを見る
SafeKit AI Chat SafeKit AI