技術について
2010年、CachéデータベースミラーリングはInterSystemsCachéおよびEnsembleに登場しました。
このテクノロジーにより、CachéおよびEnsemble上に構築された情報システム(IS)にFAILOVERオプション(DBMS、オペレーティングシステム、またはハードウェアの一部の誤動作状態を克服する機能)を装備できます。
情報システムにフェールオーバーが必要な理由-長い間研究されてきた問題ですが、簡単に言えば、フェールオーバーは、情報システムのサーバーメンテナンスの失敗につながる誤動作の場合のユーザーのダウンタイムを最小限に抑えます。
インターシステムズのデータベースミラーリングは、同期および非同期にできます。 Synchronizedを使用すると、CachéおよびEnsembleシステム用の高可用性ソリューションを作成できます。 非同期は、地理的に分散したサーバーにデータをバックアップすることにより、災害に強いソリューションを構築する問題を解決します。
InterSystemsデータベースミラーリングソリューションの機能の詳細については、このドキュメントを参照してください 。 この記事では、ミラーリングを使用したオペレーティングシステムでの同期ミラーのセットアップを「ゼロから」行い、障害シナリオと「経験豊富なヒント」を再現します。
同期ミラーリング。 どのように機能しますか?
ミラーリングを使用するには、2つの別個のCachéサーバの束を作成する必要があります。 サーバーの1つはプライマリであり、情報システムのユーザーはそれを使用します。 2つ目は、プライマリサーバーデータの実際のコピーを保持し、障害を待機しているバックアップサーバーです。プライマリサーバーになり、IPユーザーにサービスを提供する準備ができています。
サーバーとミラーの参加者が互いのステータスを常に把握するために、ISCエージェントサービスが使用されます。これは各サーバーで常に動作します。
ECPクライアント、アプリケーションサーバー、JDBC / ODBC接続、ターミナルなど、情報システムのクライアントが動作するミラーに仮想IP(VIP)を割り当てると便利です。
通常のミラー操作中、クライアントはプライマリサーバーでVIPを介して動作し、プライマリへの変更はログに収集され、バックアップサーバーによってオンラインで再生されます。
フェイルオーバー状況の開発
フェールオーバーシナリオを検討してください。
1.障害のため、または計画どおりにプライマリサーバーが停止します。
2. ISCエージェントを介したバックアップサーバーは、プライマリサーバーが機能しなくなったことを「理解」します。
3.バックアップサーバーがプライマリになります。
4. IPクライアントとECPクライアントは、同じVIPを介して新しいプライマリサーバーに最小限の遅延で接続します。
5.以前のプライマリサーバーは、バックアップサーバー状態になります。
同期ミラーリング。 いいですか?
同期ミラーリングは、障害発生時の情報システムのダウンタイムを排除または削減します。
さらに、このソリューションにより、管理者はユーザーの作業を中断することなく、情報システムの定期的なメンテナンスを実行できます。 すべてのスケジュールされた作業は、バックアップサーバーで実行できますが、プライマリはクライアントにサービスを提供します。 仕事の例:
- OSアップデート
- Caché/ Ensembleの更新、
- バックアップ手順の実行
- 鉄の修理/アップグレード。
その後、バックアップサーバーをプライマリにし、新しいバックアップになった前のプライマリに対して、スケジュールされたジョブの同じリストを実行します。
ゼロからミラーを作成する
構成
ミラーは、Caché/ Ensembleを備えた2台の車です。 この例では、Windows 8とCaché2012.2.RCを搭載した2つの仮想マシンFailover1とFailover2が作成されました。
ミラーを作成するには、サーバーのライセンス設定にマルチサーバーオプションが必要です。
ISCエージェントを有効にする
![画像](https://habrastorage.org/getpro/habr/post_images/577/b6e/123/577b6e123dc71a0bbfedb08c2b3ad9ff.jpg)
まず、両方のサーバーでISCエージェントサービスを有効にする必要があります。 サービスは「自動」モードで動作し、自動的に再起動するオプションも必要です。 Windowsマシンでは、ISC Agentサービスは管理/サービスで構成されます。 Linuxでは、スクリプトを開始して開始/停止します
/etc/init.d/ISCAgent start // /etc/init.d/ISCAgent stop //
プライマリサーバーのセットアップ
![画像](https://habrastorage.org/getpro/habr/post_images/784/3f0/d5a/7843f0d5ad27be8634e6ff9d542a3549.jpg)
Failover1マシンで、[管理]、[構成]、[ミラー設定]セクションの[Caché/ Ensemble管理ポータル]に移動し、[ミラーの作成]を選択します。
![画像](https://habrastorage.org/getpro/habr/post_images/9c3/311/726/9c33117266a3f9706fe0cb856e46d74f.jpg)
ミラーの場合、名前、仮想IP(VIP)アドレスを決定します。 SSL / TLS接続を介してサーバー間の通信を整理することをお勧めします。 それを通じて、暗号化されていない形式の情報システムのデータが送信されます。 サーバーサブネット内のアドレスがDHCPを介して配布される場合、指定されたアドレスからVIPを除外します。
プライマリサーバの名前をCaché構成名/構成形式(ここではFAILOVER1 / CACHE)およびエージェントポート(既定は2188)で設定します。
詳細設定
Quality of Service Timeout(QoSタイムアウト) -プライマリサーバーがバックアップサーバーを「ダウン」していると見なし、バックアップサーバーがプライマリサーバーが実際に機能しているかどうかを確認するまでのタイムアウト。
確認モード -受信/コミット。 データログの同期ロジックに影響します。データを受信したらすぐに書き込むか、トランザクションを考慮します。 受信(すぐに書き込み)-デフォルト。
フェールオーバー構成に必要なエージェントの連絡先(フェールオーバーに必要なエージェントの連絡先) -はい/いいえ。 機能するISCエージェントが自動FAILOVER操作に必要かどうかを決定するパラメーター。 次に、この重要なパラメーターのさまざまな値のシナリオを個別に説明します。 デフォルトはyesです。
バックアップサーバーの構成
![画像](https://habrastorage.org/getpro/habr/post_images/67b/8f5/a81/67b8f5a81caa2974d5fa02e1350e972c.jpg)
Failover2仮想マシンに移動し、コントロールパネル/管理ツールを起動します-[フェールオーバーとして接続]オプションを選択します。
![画像](https://habrastorage.org/getpro/habr/post_images/695/181/5f5/6951815f5f38c8a6b77d2112bf765363.jpg)
プライマリサーバー、ISCエージェントポート、およびプライマリサーバーのキャッシュ構成の名前を示します。 サーバーを接続します。
![画像](https://habrastorage.org/getpro/habr/post_images/0e1/0eb/b6b/0e10ebb6b6b3ddfb81528ce10e7677e0.jpg)
その後、最初のサーバーに再度移動し、バックアップサーバーをミラー設定に追加します。
![画像](https://habrastorage.org/getpro/habr/post_images/91f/72f/807/91f72f8076ab521ec5f013a16d68acb5.jpg)
接続-ミラーが機能していることを確認します。 ミラーステータスは、[システム操作] / [ミラーモニター]タブで確認できます。
ミラーデータベース
![画像](https://habrastorage.org/getpro/habr/post_images/116/6ee/e88/1166eee881d23279977a8fdeee752086.jpg)
設定の次の段階は、情報システムがミラーで動作するデータベースを含めることです。 これは、ミラー自体が2つのサーバー間でデータベースを同期するのに役立ちます。 CachéシステムにASUデータベースを作成しました。これをミラーリングします。 事前にインストールされたUSERデータベースなど、任意のローカルデータベースを選択するか、ASUという名前のデータベースを作成することもできます。
データベースをプライマリサーバーのミラーに配置します。
![画像](https://habrastorage.org/getpro/habr/post_images/efe/e29/ccb/efee29ccb7f9813435b1cd977d850bf5.jpg)
次に、データベースの完全バックアップを実行します。 バックアップサーバーでは、^ BACKUPプログラムまたはその他のデータベース回復ユーティリティを使用して、%SYS領域の端末からデータを復元します 。
![画像](https://habrastorage.org/getpro/habr/post_images/7db/477/ee4/7db477ee4c18b431eb7836607013f1cf.jpg)
![画像](https://habrastorage.org/getpro/habr/post_images/bd9/9a4/e88/bd99a4e88770169ca4eec68cc9d84ff5.jpg)
この場合、データベースはすぐにBackupサーバーのミラーに含まれます。 ミラーの所有権に関する情報はすでにバックアップに含まれています。
バックアップを復元した後、データベースをアクティブ化(アクティブ化)し、プライマリサーバーで最新の状態にする(キャッチアップ)必要があります。 バックアップサーバーのミラーモニターに移動し、アクティブ化データベースとキャッチアップデータベースに対して実行します。
![画像](https://habrastorage.org/getpro/habr/post_images/0ab/aa2/3cd/0abaa23cd5cb55991e3765fb2919c90b.jpg)
データベースはミラーリングに含まれており、すぐに使用できます。これはミラーモニターで確認できます。
![画像](https://habrastorage.org/getpro/habr/post_images/e68/d29/37a/e68d2937a42c5dbc6d4ac1783e6c20aa.jpg)
ミラーの仮想IPアドレスを介して、ASUデータベースにインストールされているWebアプリケーションに接続します。 アプリケーションが機能することを確認してください。
合計
これですべての準備が整ったので