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 メカニズム、リアルタイム レプリケーション、重要なサービスの再起動と緊密に統合されているため、ウイルス対策製品は検出の課題に直面する可能性があります。
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. すべてのノードに同じパスワードを設定します。
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サービスのセキュリティ保護。

2. ノードアドレスを設定する
- ノード IP アドレスを入力し、
Tab keyを押して接続を確認し、ノード名を入力します。 node1 または node2 の色が赤色の場合は、両方のノードへのブラウザーの接続を確認し、🛠️ トラブルシューティング について両方のノードのファイアウォールを確認してください。 - 次に、
Save and applyをクリックして構成を保存します。 - 両方のノードで
Success✅ メッセージを確認します。 - 構成
Failure❌ が 1 つのノードで発生する場合は、そのノードの ▼ アコーディオンを開いてメッセージを確認します。 SafeKit AI 🤖 を使用できることに注意してください。
ℹ️ 必要に応じて、新しい LAN and nodes (最初の ➕) を追加して、2 番目のハートビートと専用のレプリケーション ネットワークを作成できます。
ℹ️ 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 上のレプリケーション フローで 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)。

5. スクリプトの編集 (オプション)
- この手順はオプションであり、前の手順で定義したサービスを再起動するように再起動スクリプトがすでに構成されているため、ほとんどの場合はスキップできます。
- したがって、
Next stepを直接クリックしてください。 start_prim.ps1は、SERVICESリストで指定された順序ですべてのサービスを開始し、stop_prim.ps1は逆の順序ですべてのサービスを停止します。- さらに、
start_prim.ps1は各サービスの起動をチェックし、サービスが正しく起動できない場合はモジュールを停止します。

6. 通信の暗号化(オプション)
- ノード間の通信の暗号化を維持します。

7. 保存して適用する
Save and apply両方のノードの構成とスクリプト。

8. 構成が成功したことを確認する
- 両方のノードで
Success✅ メッセージを確認し、Monitor modulesをクリックします。 - 構成
Failure❌ が 1 つのノードで発生する場合は、そのノードの ▼ アコーディオンを開いてメッセージを確認します。 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 の module ログ 🖼️ を使用して理由を分析します。
- 🔍をクリックしてください ログ のアイコン
node1モジュール ログを開いて、チェッカーがエラーを検出してモジュールを停止したなどのエラー メッセージを探します。 - ログ内の
start_primをクリックすると、スクリプトの出力メッセージが右側に表示され、サービスが正しく開始されなかったなどのエラーを検出できます。 - ログ メッセージに関する支援として、SafeKit AI 🤖 を使用してください。
⚠️ クラスターが WAIT (red) not uptodate, STOP (red) not uptodate 状態の場合は、WAIT ノードを停止し、 強制的にプライマリ 🖼️ として起動します。

11. ノード 2 を開始します
- ⋯
Startノード 2 とそのコンテキスト メニュー。 - SECOND (緑色) 状態になるまで待ちます。
ℹ️ 複製されたディレクトリ (ノード 1 からノード 2 へのコピー) を再同期している間、ノード 2 は SECOND (オレンジ) 状態のままです。
- 複製されたディレクトリ内で再同期するファイルのサイズとネットワーク帯域幅によっては、時間がかかる場合があります。
- コピーの進行状況を確認するには、ノード 2 の module ログ 🖼️ と レプリケーション リソース 🖼️ を参照してください。ログ メッセージの支援については、SafeKit AI 🤖 を使用してください。

12. クラスターが動作していることを確認します。
- クラスターが緑色/緑色で、PostgreSQL サービスが PRIM ノードで実行されており、SECOND ノードでは実行されていないことを確認します。
この状態では、ファイル内の変更のみがリアルタイムでレプリケートされます。
⚠️ PostgreSQL サービスのクライアントであるコンポーネントは、仮想 IP アドレスを使用して構成する必要があります。構成は、DNS 名を使用して実行できます (DNS 名が作成され、仮想 IP アドレスに関連付けられている場合)。

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 オンライントレーニング。

14. サポート
- サポートを受けるには、ノードごとに 1 つずつ、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、など) |
| 導入モデル | オールインワンの 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 高可用性アプリケーションモジュールを見る |