SafeKit による Windows 高可用性:フェイルオーバー用の mirror.safe モジュールをインストールする
Windows の高可用性クイックインストールガイド
このガイドでは、SafeKit を使用して Windows 用の mirror クラスターをセットアップし、共有ストレージを必要とせずに自動フェイルオーバーと同期レプリケーションを確実に行う方法について説明します。
ヘルプが必要な場合は、SafeKit AI 🤖をご利用ください。
1. 概要
- アーキテクチャ: 2 ノードシステム (プライマリ/セカンダリ) を使用します。
- データ保護: ゼロデータ損失(RPO = 0)を実現するリアルタイム同期レプリケーションを実装します。
2. インストール
- ソフトウェア: 両方のサーバーに SafeKit エンジンをインストールします。
- モジュール: 事前に設定された
mirror.safeアプリケーションモジュールをダウンロードします。
3. 設定
- **Web コンソール:**Windows ファイルを含む特定のフォルダーを構成します。
- **監視:**Windows アプリケーションの監視と保護を開始します。
SafeKit High Availability の制限事項
| 制限/要件 | 理由と影響 | 推奨される代替案 |
|---|---|---|
| レプリケーションサイズ:数 TB | 障害発生後の再同期時間(ステップ 3): • 1 Gb/s ネットワーク ≈ 3 時間/TB • 10 Gb/s ネットワーク ≈ 1 時間/TB(ディスクの書き込み性能による) | • 外部共有ストレージを使用する(より高価で、より複雑)。 |
| ファイル数:100 万ファイル未満 | •障害発生後の再同期時間性能(ステップ 3)。 • 両方のノード間で各ファイルを比較するのに必要な時間。 | • 複製する多数のファイルを仮想ハードディスク/仮想マシンに配置します。 • この場合、仮想ハードディスク/仮想マシンを表すファイルのみがレプリケートおよび再同期されます。 |
| フェイルオーバー容量:32 台以下の VM | • 各 VM は、独立した mirror モジュール内で実行されます。 • 同じクラスター上で最大 32 個の mirror モジュールを実行できます。 | • 外部共有ストレージと別の VM クラスタリングソリューションを使用する(より高価で、より複雑)。 |
| ネットワークアーキテクチャ:リモートサイト間の LAN/VLAN ネットワーク | • 同じサブネット内の 2 つのノードで仮想 IP アドレスを自動フェイルオーバーします。 • 再同期のための十分な帯域幅(ステップ 3)。 • 同期レプリケーションの低レイテンシ:通常<5 ミリ秒の RTT。より高い値は、アプリケーションの書き込みレートに対して検証する必要があります。 | • 2 つのノードが異なるサブネットにある場合(クラウドで一般的)、ロードバランサー、クラウドプロバイダーの CLI、BGP、または DNS リダイレクションなどの他のルーティングオプションを使用します。 • 高遅延ネットワークには、非同期レプリケーションに対応したバックアップソリューションを使用してください。 |
SafeKit/Windows ソリューションの概要
解決策はこちらで説明されています。💡 シンプルな Windows 高可用性:2 ノード同期レプリケーションとフェイルオーバー
SafeKit/Windows ソリューションへのインストール (mirror.safe)
前提条件
- SafeKit で再起動したいアプリケーションを、2 つのノード(仮想マシンまたは物理サーバー)にインストールする必要があります。
Windows でのパッケージのインストール
- SafeKit の無料版を 2 台の Windows ノードにダウンロードしてインストールします。
注:無料版には SafeKit のすべての機能が含まれています。試用期間終了後、パッケージをアンインストールせずに永久ライセンスキーを有効化できます。 - パッケージのインストールが完了したら、[コンソール認証情報とファイアウォールルールを今すぐ設定する] を選択し、SafeKit コンソールの admin ユーザーのパスワードを設定します。
すべてのノードに同じパスワードを設定してください。 - C:/safekit/(デフォルトのインストールディレクトリ)および定義するすべてのレプリケートされたフォルダをウイルス対策スキャンから除外します。
SafeKit は OS との緊密な統合、仮想 IP メカニズム、リアルタイムレプリケーション、および重要なサービスの再起動により、ウイルス対策ソフトが検出に課題を抱える可能性があります。
注:設定する汎用 mirror.safe モジュールは、パッケージ内に同梱されています。
SafeKit/Windows ソリューションのステップバイステップ設定
前提条件
- Windows は 2 つのノードにインストールされています。
- レプリケートされるデータの総量は数テラバイトに制限されます。これを超えると、再同期に要する時間が長くなります。
- ノード間の相互接続は最低 1Gb/s(より高速な再同期のためには 10Gb/s を推奨)。
- IP フェイルオーバーには、同じ LAN または拡張 LAN(L2)上の両方のノードが必要です。ルーティングされた L3 ネットワークはサポートされていません(🛠️ クラウドロードバランサーを除く)。
1. SafeKit コンソールを起動します
- いずれかのクラスターノードで、
http://localhost:9010に接続してウェブコンソールをブラウザで起動します。 - ユーザー名に
adminと入力し、インストール時に定義したパスワードを入力します。
コンソールは、クラスター外部のワークステーションのブラウザーで実行することもできます。
⚠️ SafeKit の設定は、単一のブラウザから両方のノードで行います。
ℹ️ Web コンソールを保護するには、ユーザーガイドの 🛠️ 11. SafeKit Web サービスの保護を参照してください。

2. ノードアドレスの設定
- ノードの IP アドレスを入力し、
Tab keyを押して接続性を確認し、ノード名を入力します。node1 または node2 のいずれかが赤色の場合、両方のノードへのブラウザの接続性を確認し、両方のノードのファイアウォールを 🛠️ トラブルシューティングのために確認します。 - 次に、
Save and applyをクリックして設定を保存します。 - 両方のノードで
Success✅ メッセージを確認します。 - あるノードで構成の
Failure❌ が発生した場合は、そのノードの▼アコーディオンを開いてメッセージを確認してください。SafeKit AI 🤖 使用して支援を受けることができます。
ℹ️ 必要に応じて、新しい LAN and nodes(最初の ➕)を追加して、2 番目のハートビートと専用のレプリケーションネットワークを作成できます。
ℹ️ Advanced configuration をクリックすると、cluster.xml ファイルが表示されます。このファイルはコンソールによって自動的に作成され、ノードにデプロイされます。

3. モジュールを選択します
New moduleで、mirror.safeモジュールをクリックします。
ℹ️ 上部の青いバナーで、🛜 node1 コンソール接続ノードを表します。このノードは、必要に応じて node2 にリクエストを中継します。
ℹ️ インストール時にモジュールを配置した場合、コンソールは接続ノード (node1) の Application_Modules/generic/ ディレクトリで xxx.safe を検索します。

4. モジュールを構成する
Module startup at bootで、遅延なしで起動時にモジュールを自動起動するように選択します。Macros/SERVICESに、アプリケーションのサービス名を起動順にコンマで区切って入力します。Milestone Milestone XProtect サービスの視覚的な例については、このスクリーンショットを参照してください 🖼️。Heartbeat networksでは、レプリケーションが行われる単一のハートビートネットワークが必要です。ステップ 2 でプライベート LAN を追加した場合は、プライベート LAN でレプリケーションフローを持つ 2 つのハートビートを設定できます。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 でも同様です)。

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 にコピーされます。
⚠️ 間違った選択をすると、両方のノードで古いデータを同期させてしまう危険性があります。
⚠️ また、SafeKit はレプリケーションメカニズムをインストールし、start_prim スクリプトでアプリケーションを起動できるように、ノード 1 で Windows アプリケーションが停止していることも前提としています。
⚠️ 2 回目以降の起動には Start 使用してください。SafeKit は最新のサーバーを保持します。「Starting 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 を起動する
- ⋯コンテキストメニューからノード 2
Start。 - SECOND(緑色)の状態になるまで待ちます。
ℹ️ ノード 2 は、レプリケートされたディレクトリを再同期している間(ノード 1 からノード 2 にコピー)、SECOND(オレンジ色の)状態を維持します。
- レプリケートされたディレクトリで再同期するファイルのサイズやネットワーク帯域幅によっては、これに時間がかかる場合があります。
- コピーの進捗状況を確認するには、ノード 2 のモジュールログ 🖼️とレプリケーションリソース 🖼️を参照してください。ログメッセージのサポートには SafeKit AI 🤖 を使用してください。

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

13. テスト
- PRIM ノードのコンテキストメニューを下にスクロールして、
Stopをクリックして停止します。 - SECOND ノードでフェイルオーバーが発生し、ALONE(緑色)になっていることを確認します。
- Windows の Microsoft 管理コンソール (MMC) または Linux のコマンドラインを使用して、Windows サービスのフェイルオーバーを確認します (
stop_primスクリプトでノード 1 で停止し、start_primスクリプトでノード 2 で開始します)。
⚠️ node2 で ALONE(緑)に到達しない場合、またはアプリケーションが起動しない場合は、ノード 2 のモジュールログ 🖼️で原因を分析してください。
node2の 🔍ログアイコンをクリックしてモジュールログを開き、チェッカーがエラーを検出してモジュールを停止するなどのエラーメッセージを探します。- ログの
start_primをクリックします。スクリプトの出力メッセージが右側に表示され、サービスが正しく起動していないなどのエラーを検出できます。 - ログメッセージについては、SafeKit AI 🤖 をご利用ください。
⚠️
- すべて問題なければ、node1 で開始すると、node2 からレプリケートされたディレクトリが再同期されます。
- 問題が発生した場合は、node2 を停止し、node1 をプライマリとして強制的に起動します 🖼️。これにより、停止時のローカルに正常なデータで再起動します。
ℹ️ 詳細と動画については、SafeKit オンライン研修をご覧ください。

14. サポート
- サポートを受けるには、ノードごとに 1 つずつ、合計 2 つの SafeKit
Snapshots(2 つの .zip ファイル)を取得してください。
ℹ️ サポートに関する詳細はこちら。

SafeKit mirror ソリューションのデモンストレーション
SafeKit ビデオ:アプリケーションレベルのクラスタリング (8:47)
このビデオでは、SafeKit SAN の複雑さなしに mirror HA クラスターを実装する方法をご紹介します。このデモンストレーションでは Microsoft SQL Server を使用していますが、このソリューションは他のデータベースやアプリケーションでも同様に機能します。
章
- 🎬 SQL Server を使用する 2 つのノード (0:32)
- 🎬 クラスターと mirror.safe モジュールを構成する (3:58)
- 🎬 SQL レプリケーション、移行、クラッシュ時のフェイルオーバーを開始してテストする (4:17)
ステップバイステップの実装
- 🛠️ Windows で mirror クラスターをセットアップする方法については、ガイドをお読みください
- 🛠️ Linux で mirror クラスターをセットアップする方法については、ガイドをお読みください
🔍 SafeKit を探索する
SafeKit の機能、アーキテクチャ、ビデオ、ドキュメント、無料トライアルに関する情報をご覧ください。
| リソース | 説明 | リンク |
|---|---|---|
| 主な機能 | SafeKit がシンプルで費用対効果の高い高可用性ソリューションである理由をご覧ください。 | 主な機能 |
| ユースケース | SafeKit が重要なアプリケーションとインフラストラクチャの可用性を維持する方法をご覧ください。 | ユースケースを探索する |
| デプロイメントモデル | SafeKit は、SAN や共有ストレージなしで高可用性を提供します。 | デプロイモデルを探索する |
| 高可用性戦略 | 仮想マシンの高可用性とアプリケーションの高可用性を比較します。 | 2 つの戦略を比較する |
| 技術仕様 | SafeKit クラスターの技術要件と制限事項を確認してください。 | 技術仕様書を読む |
| 動画 | SafeKit の構成と自動フェイルオーバーのデモンストレーションをご覧ください。 | テクニカルビデオを見る |
| アーキテクチャ | SafeKit mirror クラスターファイルをリアルタイムでレプリケートし、フェイルオーバーを処理する方法について説明します。 | Mirror アーキテクチャを探索する |
| アーキテクチャ | SafeKit farm クラスターネットワークトラフィックを分散し、フェイルオーバーを処理する方法について説明します。 | Farm アーキテクチャを探索する |
| 製品比較 | SafeKit と従来の高可用性クラスターを比較します。 | ソリューションを比較する |
| 技術リソース | 技術ドキュメントの検索、SafeKit のダウンロード、無料トライアルへのアクセスはこちらから。 | ドキュメントと無料トライアルにアクセス |
| アプリケーションモジュール | 事前に設定された SafeKit モジュールを使用して、アプリケーションの高可用性を設定します。 | アプリケーションモジュールを探索する |