Skip to main content

This documentation is for an older version of this product. See the latest version of this content.Opens in a new tab

ミラーリングの管理

この章では、InterSystems IRIS のミラーに関し、運用上の管理と維持に関連するトピックについて説明します。

ミラーの監視

以下の 2 つの方法のいずれかを使用して、既存のミラーの動作を監視できます。

どちらの方法でも、ミラーおよびそのメンバの動作状態受信ジャーナルの転送速度、およびミラーリングされるデータベースの状態に関する情報が表示されます。また、ミラー・モニタでは、ミラーリングされるデータベースに対して複数の処理を実行できます。

"ミラーリング通信プロセスの監視" で、ミラー・メンバ上で実行されるミラー通信プロセスについて説明します。

Note:

管理ポータル・ホーム・ページのメッセージ・ペインには、ミラー・モニタへのリンクを含め、基本的なミラー・メンバの情報も表示されます ("システム管理ガイド" の “管理ポータルの使用” の章の "管理ポータルのメッセージ・ペイン" を参照してください)。

データベースのマウントとディスマウントやミラーに対するデータベースの追加と削除など、データベースおよびミラーに関連する多くの操作は、メッセージ・ログに記録されます ("ログ監視ガイド" の “管理ポータルを使用した InterSystems IRIS の監視” の章の "ログ・ファイルの監視" を参照してください)。

ミラー・モニタの使用法

ミラー・モニタを表示するには、ミラー・メンバで [システム処理][ミラー・モニタ] ページに移動します。

フェイルオーバー・メンバでは、ミラー・モニタに以下のボタンとセクションが含まれています。

  • [ミラー・ジャーナル・ファイルの表示] ボタンは、メンバのミラー・ジャーナル・ファイルまたは非ミラー・ジャーナル・ファイルを表示および検索します。詳細は、"データ整合性ガイド" の “ジャーナリング” の章の "ジャーナル・ファイルの表示" を参照してください。

  • [このメンバのミラーリングを停止] ボタン (バックアップのみ) は、"バックアップおよび非同期メンバのミラーリングの停止" で説明されているとおり、バックアップのミラーリングを一時的に停止します。

  • DR 非同期へのバックアップの降格に使用する 2 つのボタンのいずれか。このとき、ミラーには 1 つのフェイルオーバー・メンバだけが残されます。詳細は、"DR 非同期へのバックアップの降格" を参照してください。

  • [ミラー・フェイルオーバー・メンバ情報] には、各フェイルオーバー・メンバのメンバ名、スーパーサーバ・アドレス、およびミラー・プライベート・アドレスが表示されます (これらのアドレスの詳細は、"ミラー・メンバのネットワーク・アドレス" を参照してください)。

  • [アービター接続ステータス] には、アービターが構成されている場合にそのアドレス (ホスト名とポート)、現在のフェイルオーバー・モード、およびメンバのアービター接続のステータスが次のように表示されます。

    • [両方のフェイルオーバー・メンバがアービターに接続されている]

    • [このメンバのみがアービターに接続されている]

    • [このメンバはアービターに接続されていない] (接続が失われているか、アービターが構成されていない場合)

    アービターおよびこの接続情報の意味に関する詳細は、"自動フェイルオーバーのメカニズム" を参照してください。

    Note:

    フェイルオーバー・メンバがアービターとの通信を失うと、深刻度 2 のメッセージがメッセージ・ログに送信されます。そのメンバがアービターとの接続の再構築に失敗すると、別の深刻度 2 のメッセージがログに記録されます。

  • [ミラー・メンバ・ステータス] には、"ミラー・メンバのジャーナル転送およびデジャーナリングのステータス" で説明しているように、各ミラー・メンバのメンバ・タイプとステータス、ジャーナル転送ステータス、およびデジャーナリング・ステータスが表示されます。このテーブルには、メンバの X.509 DN が構成されている場合はそれも表示されます。

  • [ミラーリングされるデータベース] には、"ミラーリングされるデータベースのステータス" で説明しているように、現在のメンバ上のミラーリングされるデータベースそれぞれに関する情報が、その名前、ディレクトリ、ステータス、およびデジャーナリング・ステータスも含めて表示されます。[ミラーリングされるデータベース] を使用して、1 つ以上のデータベースに対して複数の処理を実行することもできます。

    Note:

    [ミラーリングされるデータベース] リストには、現在のメンバのミラーに含まれているデータベースのみが挙げられます。例えば、異なるレポート非同期メンバでリストされるデータベースは異なる場合があります。ミラーリングされるデータベースのセットが異なる場合があるからです。

非同期メンバでは、ミラー・モニタには、以下のボタンとセクションが含まれています。

  • [ジャーナル・ファイルの表示] ボタン (DR 非同期のみ) は、メンバのミラー・ジャーナル・ファイルまたは非ミラー・ジャーナル・ファイルを表示および検索します。詳細は、"データ整合性ガイド" の “ジャーナリング” の章の "ジャーナル・ファイルの表示" を参照してください。

  • [このメンバのミラーリングを停止] ボタン (DR 非同期のみ) は、"バックアップおよび非同期メンバのミラーリングの停止" で説明されているとおり、非同期のミラーリングを一時的に停止します。

  • [フェイルオーバー・メンバに昇格] ボタン (DR 非同期のみ) は、DR 非同期をフェイルオーバー・メンバに昇格します。この操作とその使用法については、"DR 非同期メンバのフェイルオーバー・メンバへの昇格" を参照してください。

  • ボタンの下部のセクションには、メンバのメンバ名、非同期タイプ、および X.509 DN (構成されている場合) が表示されます。

  • [この非同期メンバの所属先のミラー] には、"ミラー・メンバのジャーナル転送およびデジャーナリングのステータス" で説明しているように、レポート非同期メンバの所属先の各ミラーに関する情報、およびそのミラー内でのメンバのステータス、ジャーナル転送ステータス、およびデジャーナリング・ステータスが表示されます。各行には、そのミラーのメンバに関する情報を表示する [詳細] リンクと、そのミラーの非同期メンバによるミラーリングを停止させる [このメンバのミラーリングを停止] リンクが含まれています。詳細は、"バックアップおよび非同期メンバのミラーリングの停止" を参照してください。

  • [ミラー・メンバ・ステータス] には、現在の非同期メンバを含めて、[この非同期メンバの所属先のミラー] で選択したミラーのすべてのメンバのタイプ、ステータス、ジャーナル転送遅延、およびデジャーナル遅延が表示されます。

    非同期メンバが単一ミラーに属している場合 (すべての DR 非同期に当てはまります)、既定でそのミラーがこのセクションに表示されます。メンバが複数のミラーに属している場合、このセクションおよびその下の [ミラーデータベース] MIRROR セクションは、[この非同期メンバの所属先のミラー] セクションに示されるいずれかのミラーの [詳細] リンクをクリックするまで表示されません。

  • [ミラーデータベース] MIRROR セクションは、フェイルオーバー・メンバの場合の説明と同様で、また同じ処理を実行できます。レポート非同期の場合は、[この非同期メンバの所属先のミラー] で選択し [ミラー・メンバ・ステータス] に表示されるミラーに含まれるデータベースが表示されます。

ミラー・メンバのジャーナル転送およびデジャーナリングのステータス

"ミラーの監視" で説明しているように、InterSystems IRIS インスタンスがミラーに属している場合、そのメンバ・タイプとステータス、ジャーナル転送ステータス、およびデジャーナリング・ステータスは、ミラー・モニタおよび ^MIRROR ルーチンの [ステータス・モニタ] オプションによって表示されます。

次のテーブルは、表示される可能性のあるタイプおよびステータスを示しています。最初のテーブルは、特定のメンバ・タイプに固有のステータスを示し、2 番目のテーブルのステータスは、すべてのメンバ・タイプに適用されます。

タイプ ステータス 説明
フェイルオーバー プライマリ

現在のプライマリ。

フェイルオーバー バックアップ

バックアップとしてプライマリに接続

フェイルオーバー 障害中

バックアップとの接続が切断されたために、プライマリが障害になった状態。プライマリが一時的または永久的な障害状態になりうるさまざまな状況の詳細は、"自動フェイルオーバーのメカニズム" を参照してください。

災害復旧 Connected

非同期としてプライマリに接続

読み取り専用レポート 接続しました (同上)
読み書き可能のレポート 接続しました (同上)
不確定 初期化されていない

メンバが初期化されていません (ミラー構成がまだロードされていません)。

ステータス (任意のタイプ) 説明
移行

初期化やその他の操作が完了したときの、その後すぐに変わる遷移状態。この状態では、メンバの状態を検索するプロセスがすぐに再検索を実行します。

動作しているプライマリがない場合、フェイルオーバー・メンバは、プライマリになる過程でジャーナル・ファイルの取得と適用を続けている間、このステータスをレポートできます。プライマリである別のフェイルオーバー・メンバがある場合、ステータスは代わりに同期中になります。

同期 停止または切断された後の起動または再接続。バックアップになるまたは接続される前に、データベースをジャーナルの状態と同期させるために、ジャーナル・ファイルを取得し、適用します。
待機中

プライマリバックアップになる、または接続されるなどのアクションを完了できない状態。無限に再試行されますが、ユーザの介入が必要な場合があります。詳細は、メッセージ・ログを参照してください。

停止

ユーザにより、メンバのミラーリングが無期限に停止され、自動的には開始されません。詳細は、メッセージ・ログを参照してください。

クラッシュ

不測の事態によりミラー実行不可。詳細は、メッセージ・ログを参照してください。

Error メンバのステータスをフェッチ中に予期しないエラーが発生しました。
ダウン

他のメンバに表示された、ダウンしたまたはアクセスできないメンバ。

Note:

ミラー・メンバの [タイプ][ステータス] は、$SYSTEM.Mirror.GetMemberType()Opens in a new tab メソッドおよび $SYSTEM.Mirror.GetMemberStatus()Opens in a new tab メソッドを使用して取得することもできます。上記にリストされていない [タイプ][ステータス] の一部の組み合わせは、以下の呼び出しによって報告されます。

  • [メンバではない] および [初期化されていない] — インスタンスがミラー・メンバ以外として構成されています。

  • [読み取り専用] または [読み取り/書き込みレポート] および M/N [ステータス] — インスタンスがいくつかのミラーの非同期メンバです。mirrorname 引数を指定して特定のミラーの [ステータス] を取得してください。

バックアップおよび非同期ミラー・メンバの場合、[ジャーナル転送] は、プライマリからの最新ジャーナル・データがミラー・メンバにあるかどうかを示します。データがない場合、ジャーナル転送の遅延の度合いを示します。一方、[デジャーナリング] は、プライマリから受信したジャーナル・データがすべてデジャーナル (そのメンバのミラーリングされるデータベースに適用) されているかどうかを示します。デジャーナルされていない場合、デジャーナリングの遅延の度合いを示します。以下のテーブルは、ミラー・モニタと ^MIRROR で表示される可能性のある、これらのフィールドのステータスを示しています (プライマリの場合、これらのフィールドは常に [N/A] です)。

ジャーナル転送

説明

アクティブ (バックアップのみ)

バックアップは、プライマリから最新のジャーナル・データを受信しており、プライマリと同期されています。([アクティブ] バックアップ・ステータスに関する詳細は、"バックアップ・ステータスと自動フェイルオーバー" を参照してください。)[デジャーナリング] ステータスが [キャッチアップ済み] でない場合でも、バックアップは [アクティブ] になることがあります。必要なジャーナル・ファイルをバックアップがすべて有している限り、プライマリとの接続を失った後でもデジャーナルできます。

キャッチアップ済み

バックアップの場合、バックアップは最新のジャーナル・データをプライマリから受信していますが、プライマリがジャーナル・データの受信確認を待機していないという点で完全には同期されていないことを意味します。多くの場合、このステータスは、バックアップがミラーに再接続しているときなど、一時的なものです。

非同期の場合は、プライマリから最新のジャーナル・データを受信していて、プライマリと同期されていることを意味します。

time 遅延

メンバは明示されている時間だけプライマリから遅延しています。time は、メンバが最後に受信したジャーナル・ブロックのタイムスタンプから現在の時刻までに経過した時間を表します。

time に切断

メンバは、明示されている時刻にプライマリから切断されました。

記載のとおり、[ジャーナル転送] フィールドの [アクティブ] は、バックアップがプライマリからジャーナル・データをすべて受信しており、プライマリと同期されていることを示しています。このため、バックアップは、フェイルオーバーの発生時に、追加ジャーナル・データを取得するためにプライマリの ISCAgent と通信する必要なく、プライマリから引き継ぐことができます。

デジャーナリング

説明

キャッチアップ済み

プライマリから受信したジャーナル・データすべてがデジャーナルされています (メンバのミラーリングされるデータベースに適用されています)。
time 遅延

プライマリから受信したジャーナル・データの一部がまだデジャーナルされていません。time は、最後にデジャーナルされたジャーナル・ブロックのタイムスタンプと、プライマリから最後に受信したジャーナル・ブロックのタイムスタンプとの間で経過した時間を表します。

time に切断

メンバは、明示されている時刻にプライマリから切断されました。

警告 : データベースの一部に対処が必要です。 1 つ以上のミラーリングされるデータベースが正常な状態ではありません。データベースを確認する必要があります。
警告 : デジャーナリングが停止しました。 オペレータまたはエラーの発生によりデジャーナリングが停止しています。"データベース・デジャーナリングの管理" を参照してください。

[アクティブ] なバックアップ・フェイルオーバー・メンバの場合の [デジャーナリング] フィールドの [キャッチアップ済み]、および非同期メンバの場合の [デジャーナリング] フィールドと [ジャーナル転送] フィールドの [キャッチアップ済み] は、そのメンバがプライマリから最新のジャーナル・データを受信して、そのデータに含まれる最新のグローバル処理を適用したことを表します。そのメンバがキャッチアップされていない場合、最新ジャーナル・データが生成された時点からの経過時間または最新処理をプライマリで記述した時点からの経過時間が代わりに表示されます。

受信ジャーナルの転送速度

以下に示すバックアップおよび非同期のミラー・メンバのステータス・リストは、プライマリから到着したジャーナル・データの速度です。この速度は、[ミラー・モニタ] の前回の更新以降のもので、[このメンバの受信ジャーナルの転送速度] の下に表示されます。

[ミラー・モニタ] ページを最初にロードしたときには、この領域に [--- (更新時に表示)] というテキストが表示されます。次にページが更新されたとき、表示される情報は、以下に示すように、受信ジャーナル・データが圧縮されているかどうかによって異なります ("ミラー・トラフィックの圧縮" を参照)。

  • ジャーナル・データが圧縮されていない場合、受信ジャーナル・データの速度は、キロバイト (KB) 毎秒で示されます。以下に例を示します。

    42345 KB/s (22s 間隔)

  • 受信ジャーナル・データが圧縮されている場合は、受信圧縮データの速度、受信ジャーナル (非圧縮) データの速度、および圧縮データ速度に対する非圧縮データ速度の比率が表示に含まれます。以下に例を示します。

    14288 KB/s ネットワーク; 39687 KB/s ジャーナル; 比率 2.78:1 (143s 間隔)

ミラーリングされるデータベースのステータス

Important:

バックアップおよび DR 非同期メンバの場合は、[ミラー・モニタ] ページの [見つからないミラーリングされるデータベースのレポート] に、プライマリに存在していても、現在のメンバには存在していないミラーリングされるデータベースについての警告が表示されます。これは、バックアップとして非常に重要なことです。DR 非同期がバックアップに昇格したときに、ミラーリングされるデータベースの完全なセットが揃っていないと、プライマリが停止したときに、その役割を正常に引き継ぐことができなくなります。見つからないデータベースごとに、完全なミラー・データベース名がリストされます。見つからないデータベースが存在しない場合、[見つからないミラーリングされるデータベースのレポート] は表示されません。

すべてのメンバに関して、[ミラー・モニタ] ページの [ミラーリングされるデータベース] リストには、リストされている各データベースについて、次のいずれかのステータスが表示されます。

ステータス

説明

正常 (プライマリのみ) ミラーリングされるデータベースは書き込み可能 (読み取り専用データベースではない場合) で、グローバル更新がジャーナルされています。

デジャーナリング (バックアップおよび非同期)

データベースはアクティブ化され、キャッチアップされており、ミラーがデータベースにジャーナル・データを適用しています。
要キャッチアップ

データベースはアクティブ化されていますが、まだキャッチアップされていません。ユーザ開始のキャッチアップ操作が必要です。

要有効化 データベースはまだアクティブ化されていません。ユーザ開始のアクティブ化操作とキャッチアップ操作が必要です。
キャッチアップ実行中 データベースでユーザ開始のキャッチアップ操作が実行されています。
デジャーナリング停止 オペレータまたはエラーによってデジャーナリングが停止されています。"バックアップおよび非同期メンバのミラーリングの停止" および "データベース・デジャーナリングの管理" を参照してください。
データベース・ディスマウント データベースがディスマウントされています。
独立 (バックアップおよび非同期) ミラーリングされるデータベースがプライマリに存在しません。
廃止 ミラーリングされるデータベースは廃止されているため、ミラーから削除する必要があります。

プライマリでは、データベースのステータスが [正常] の場合、[次にデジャーナルするレコード] 列には、[N/A] が表示されます。それ以外の場合、この列には以下の情報が表示されます。

  • [時刻] は、データベースに適用される次のジャーナル・レコードの先頭のタイムスタンプです。または、これがプライマリの現在のジャーナル位置に一致する場合は [現在] と表示されます。

  • [ファイル名] は、次に適用されるジャーナル・レコードが含まれるミラー・ジャーナル・ファイルの名前です。

  • [オフセット] は、次に適用されるジャーナル・レコードの先頭の、ジャーナル・ファイル内における位置です。

データベースのステータスおよびそれに関連する操作 (有効化およびキャッチアップ) については、"ミラーリングされるデータベースの有効化とキャッチアップ" で説明しています。これらの操作は、リストの下にあるドロップダウンで選択できます。このドロップダウンを使用して、ディスマウントされているデータベースをマウントできます (ただし、マウントされているデータベースのディスマウントには使用できません)。[削除] リンクを使用して、またはドロップダウンから [削除] を選択して、リストされているデータベースをミラーから削除することができます。詳細は、"ミラーリングされるデータベースをミラーから削除する" を参照してください。

^MIRROR ステータス・モニタの使用法

^MIRROR ルーチンには、文字ベースのミラー・ステータス・モニタが用意されています。^MIRROR[ステータス・モニタ] オプションでは、タイプ、ステータス、ジャーナル転送遅延、およびデジャーナル遅延を含む、ミラー・メンバのステータスを表示できます ("ミラー・メンバのジャーナル転送およびデジャーナリングのステータス" を参照)。このモニタは任意のミラー・メンバで実行できます。ただし、これをフェイルオーバー・メンバで実行すると、アービター構成に関する情報およびすべての接続非同期メンバに関する情報が表示されますが、これらの情報は、非同期メンバで実行する場合には表示されません。

このステータス・モニタを起動するには、ターミナル・ウィンドウを開き、%SYS ネームスペースで ^MIRROR ルーチンを実行し ("^MIRROR ルーチンの使用法" を参照)、[ミラー・ステータス] メニューから [ステータス・モニタ] を選択します。フェイルオーバー・メンバで実行した場合のモニタからの出力のサンプルを以下に示します。

Status of Mirror MIR25FEB at 17:17:53 on 02/27/2018

Member Name+Type            Status     Journal Transfer  Dejournaling
--------------------------  ---------  ----------------  --------------
MIR25FEB_A
     Failover               Primary    N/A               N/A
MIR25FEB_B
     Failover               Backup     Active            Caught up
MIR25FEB_C
     Disaster Recovery      Connected  Caught up         Caught up
MIR25FEB_D
     Read-Only Reporting    Connected  Caught up         Caught up

Arbiter Connection Status:
     Arbiter Address: 127.0.0.1|2188
     Failover Mode: Arbiter Controlled
     Connection Status: Both failover members are connected to the arbiter

Press RETURN to refresh, D to toggle database display, Q to quit,
 or specify new refresh interval <60>

非同期メンバでステータス・モニタを実行すると、フェイルオーバー・メンバおよび対象の非同期メンバのみがリストされ、非同期メンバのデジャーナリング・ステータス (running または stopped) も表示されます。以下に例を示します。

Status of Mirror MIR25FEB at 17:17:53 on 02/27/2018

Member Name+Type            Status     Journal Transfer  Dejournaling
--------------------------  ---------  ----------------  --------------
MIR25FEB_A
     Failover               Primary    N/A               N/A
MIR25FEB_B
     Failover               Backup     Active            Caught up
MIR25FEB_C
     Disaster Recovery      Connected  Caught up         Caught up
 Dejournal Status: running (process id: 12256)

Press RETURN to refresh, D to toggle database display, Q to quit,
 or specify new refresh interval <60>

既定では、ミラーリングされるデータベースの情報は表示されません。"ミラー・モニタの使用法" で説明しているように、プロンプトで d を入力すると、名前、ディレクトリ、ステータス、および次にデジャーナルされるレコードを含め、ミラー内の各データベースに関する情報が表示されます。

Mirror Databases:
                                                                   Last Record
Name           Directory path                          Status      Dejournaled
-------------  -----------------------------------     ----------- -----------
MIR25FEB_DB1   C:\InterSystems\20182209FEB25A\Mgr\MIR25FEB_DB1\
                                                       Active
   Current,c:\intersystems\20182209feb25a\mgr\journal\MIRROR-MIR25FEB-20180227.001,40233316
MIR25FEB_DB2   C:\InterSystems\20182209FEB25A\Mgr\MIR25FEB_DB2\
                                                       Active
   Current,c:\intersystems\20182209feb25a\mgr\journal\MIRROR-MIR25FEB-20180227.001,40233316

ミラーリング通信プロセスの監視

ミラー通信および同期化を行う各システム (プライマリ・フェイルオーバー・メンバおよびバックアップ・フェイルオーバー・メンバと、接続されている各非同期メンバ) 上で実行されるプロセスがあります。

詳細は、次のトピックを参照してください。

プライマリ・フェイルオーバー・メンバ上でのミラーリング・プロセス

プライマリ・フェイルオーバー・メンバ上でシステム・ステータス・ルーチン (^%SS) を実行すると、次のテーブルにリストされたプロセスが表示されます。

Note:

ここでは、CPUGlob、および Pr の各列を ^%SS の出力から意図的に省略しています。

プライマリ・フェイルオーバー・メンバ上でのミラーリング・プロセス
デバイス ネームスペース ルーチン ユーザおよび場所
/dev/null %SYS MIRRORMGR Mirror Master
MDB2 %SYS MIRRORCOMM Mirror Primary*
192.168.1.1 %SYS MIRRORCOMM Mirror Svr:Rd*

プロセスは次のように定義されます。

  • Mirror Master : システム起動時に開始されるこのプロセスでは、さまざまなミラー制御タスクおよびミラー管理タスクが実行されます。

  • Mirror Primary : これは、発信データ・チャンネルであり、単方向チャンネルです。接続されているシステム (バックアップ・フェイルオーバー・メンバまたは非同期メンバ) ごとに 1 つのジョブがあります。

  • Mirror Svr:Rd* : これは、受信応答チャンネルで、単方向チャンネルです。接続されているシステム (バックアップ・フェイルオーバー・メンバまたは非同期メンバ) ごとに 1 つのジョブがあります。

接続されている各非同期メンバは、プライマリ・フェイルオーバー・メンバにおいて、Mirror MasterMirror Primary、および Mirror Svr:Rd* の各プロセスの新しいセットになります。

バックアップ・フェイルオーバー・メンバおよび非同期メンバ上でのミラーリング・プロセス

バックアップ・フェイルオーバー/非同期メンバ上でシステム・ステータス・ルーチン (^%SS) を実行すると、次のテーブルにリストされたプロセスが表示されます。

バックアップ・フェイルオーバー・メンバおよび非同期メンバ上でのミラーリング・プロセス
デバイス ネームスペース ルーチン ユーザおよび場所
/dev/null %SYS MIRRORMGR Mirror Master
/dev/null

%SYS

MIRRORMGR Mirror Dejour
/dev/null

%SYS

MIRRORMGR Mirror Prefet*
/dev/null

%SYS

MIRRORMGR Mirror Prefet*
MDB1

%SYS

MIRRORMGR Mirror Backup
/dev/null

%SYS

MIRRORMGR Mirror JrnRead

この表で識別されるプロセスは、接続された各非同期メンバでも表示されます。

  • Mirror Master : システム起動時に開始されるこのプロセスでは、さまざまなミラー制御タスクおよびミラー管理タスクが実行されます。

  • Mirror JrnRead (ミラー・ジャーナル読み取り) : このプロセスは、バックアップで生成されメモリに書き込まれたジャーナル・データを読み取り、それらの変更をデジャーナル・ジョブによってデジャーナルするためにキューイングします。

  • Mirror Dejour (ミラー・デジャーナル) : これは、バックアップ・フェイルオーバー・メンバでのデジャーナル・ジョブであり、受信したジャーナル・データからミラーリングされるデータベースに set および kill を発行します。

  • Mirror Prefet* (ミラー事前フェッチ) : これらのプロセスは、デジャーナル・ジョブが実際にディスク・ブロックを使用しようとする前に、デジャーナル・ジョブで必要なディスク・ブロックをメモリに事前フェッチします。これは、デジャーナル・プロセスを高速化するために実行されます。通常、システムには複数のミラー事前フェッチ・ジョブが構成されます。Mirror Backup (ミラー・バックアップ) : このプロセスは、プライマリから受信したジャーナル・レコードをバックアップのミラー・ジャーナル・ファイルに書き込み、応答をプライマリに送信する双方向チャンネルとなります。

ミラー・メンバのネットワーク・アドレスの更新

1 つ以上のミラー・メンバ (プライマリを含む) の 1 つ以上のネットワーク・アドレスを更新する必要がある場合 ("フェイルオーバー・メンバの編集または削除" を参照)、この情報は、一般にプライマリで変更されます。変更を保存すると、プライマリは接続されているすべてのミラー・メンバに、その変更を伝播します (接続されていないメンバには、再接続されたときに変更を伝播します)。接続されているバックアップまたは非同期メンバでは、いずれのミラー・メンバのネットワーク・アドレスも変更できません。ミラー・メンバは、このような情報をすべてプライマリから受信する必要があるためです。この一般的なケースには、以下に示すように、いくつかの例外があります。

  • InterSystems IRIS インスタンスのスーパーサーバ・ポートは、汎用構成の一部であるため、ローカルに変更する必要があります。そのため、ミラー・メンバのスーパーサーバ・ポートは、常にメンバ自体で更新されるミラー・ネットワーク情報になります。プライマリのスーパーサーバ・ポートを変更する場合はプライマリの [ミラーの編集] ページに移動して、バックアップの場合はバックアップの [ミラーの編集] ページに移動します。その他についても同様にします。

    Note:

    [ネットワーク・アドレスを編集] ダイアログで、ローカル・メンバのスーパーサーバ・ポートに対応する [ポートを編集] リンクをクリックすると、管理ポータルの [メモリと開始設定] ページが含まれているダイアログが表示され、ポート番号を変更できます。ただし、ミラー・メンバのスーパーサーバ・ポートを変更するために、このページに直接移動しないでください。[ミラーの編集] ページまたは [非同期構成の編集] ページと [ネットワーク・アドレスの編集] ダイアログを必ず使用して、この変更を実施してください。

  • フェイルオーバー・メンバまたは非同期メンバが切断されているときに、プライマリのネットワーク・アドレスが変更された場合、まず、すべてのミラーのネットワーク・アドレスが現在のプライマリ上で正しいことを確認してから、切断されているメンバでプライマリのネットワーク・アドレスを更新する必要があります ("フェイルオーバー・メンバの編集または削除" または "非同期メンバの編集または削除" を参照)。プライマリのネットワーク情報の更新後に、メンバがミラーに再接続できるようにするために、切断されているそのメンバの再起動が必要な場合があります。

  • どちらのフェイルオーバー・メンバもプライマリとしては動作していないなどの場合に、いずれかのフェイルオーバー・メンバがプライマリになれるようにするために、そのフェイルオーバー・メンバ上でネットワーク・アドレスを更新する必要があることがあります。プライマリになると、接続時に他のメンバにこれらのアドレスが伝播されます。ネットワーク・アドレスの更新後に、メンバがプライマリになれるようにするために、そのメンバの再起動が必要な場合があります。

Note:

"非同期ミラー・メンバを構成する" で説明しているように、非同期メンバをミラーに追加するときに指定する [非同期メンバ・アドレス] が、その非同期のスーパーサーバ・アドレスおよびミラー・プライベート・アドレスになります ("ミラー・メンバのネットワーク・アドレス" を参照)。例えば、DR 非同期のミラー・プライベート・アドレスをミラー・プライベート・ネットワークに配置し、そのスーパーサーバ・アドレスは外部ネットワークに置いたままにするなど、ここで説明しているように、ミラーに非同期を追加した後で、その非同期のアドレスを変更できます。

ネットワーク・アドレス検証エラーの解決

ミラー・メンバが起動すると、ミラーの初期化処理によって、プライマリでミラーに構成されているミラー・プライベート・アドレスまたはスーパーサーバ・アドレス ("ミラー・メンバのネットワーク・アドレス" を参照) でインスタンスにアクセスできることが確認されます。これが成功せず、検証が失敗すると、メンバはミラーに参加できなくなります。ネットワーク・アドレス検証エラーが生じる状況としては、次の 2 つがあります。

  • ローカル・インスタンスの構成済みミラー・プライベート・アドレスでアクセスしたインスタンスがローカル・インスタンスではない。ローカル・インスタンスは、例えばバックアップとリストアや VM のクローン化などを通して、別のホストからコピーされているため、この状況が生じる可能性は高いです。

  • ローカル・インスタンスに構成されているミラー・プライベート・アドレスで通信できるインスタンスがない。この状況が生じる原因は、次のいずれかの場合があります。

    • ミラー・メンバ・ホストのネットワーク構成が変更されている (IP アドレスの変更など)。この場合、"ミラー・メンバのネットワーク・アドレスの更新" で説明しているようにプライマリでメンバの構成済みアドレスを更新できます。その後、ローカル・インスタンスを再起動します。

    • 構成されているアドレスのホストがダウンしている。この場合、オンラインに戻ったときに、前の問題 (アドレスの不一致) が生じる可能性が高いです。

これらいずれかの検証エラーが生じると、メッセージ・ログに該当するメッセージが表示され、検証の問題の内容が [ミラー・モニタ] ページと [ミラーの編集] ページで説明されます。両方のページに、状況の解決に使用できる以下の 2 つのリンクが提示されます。

  • [ローカル・ミラー構成の削除] リンクを使用すると、"ミラー構成の編集または削除" で説明しているように、ローカルの (無効な) ミラー構成を削除できます。

  • [新しいメンバとしてミラーに参加] リンクを使用して、"ミラーの作成" で説明しているように、インスタンスを新しいメンバとしてミラーに追加します。これによって、無効なローカル・ミラー構成が、有効な構成に置き換えられます。

この種類の検証エラーが発生すると、これらのオプションのいずれかを選択するときに表示されるダイアログに、問題の説明情報と解決の関連手順も示されます。

もう 1 つのオプションは、当面何もしないことです。これを選択して問題を調査することも、当該ミラー・メンバに構成されているネットワーク・アドレスを更新することもできます。

Note:

ネットワーク・アドレス検証エラーは、^Mirror ルーチンを使用して解決することもできます ("^MIRROR ルーチンの使用法" を参照)。

X.509 DN 更新の承認 (TLS のみ)

TLS を使用するようにミラーを構成する場合は、新しく追加した第 2 のフェイルオーバー・メンバと、第 1 フェイルオーバー・メンバの新しい各非同期メンバをミラーに参加させるには、まずそれらを承認する必要があります ("第 2 のフェイルオーバー・メンバまたは非同期メンバを承認する (TLS ミラーのみ)" を参照)。同様の理由から TLS を使用するミラーのメンバを X.509 証明書と DN で更新する場合、この更新は、以下のいずれかの方法で、他のメンバに伝達され、承認される必要があります。

  • プライマリの X.509 DN 更新は、更新が行われた時点で、プライマリに接続された他のミラー・メンバに自動的に伝達され、承認されます。

  • プライマリの X.509 DN 更新時に、バックアップまたは非同期メンバがプライマリに接続されていない場合、その更新はプライマリへの次回の接続時に、そのメンバの [保留中の DN 更新の承認] リストに追加されます。メンバが引き続きミラーの一部にできるようにするには、[ミラーの編集] ページ (バックアップ) または [非同期の構成を編集] ページ (非同期) の [保留中の DN 更新を承認] リンクをクリックして、更新を承認する必要があります。バックアップまたは非同期メンバは、プライマリからの X.509 DN 更新を拒否できません。

  • バックアップまたは非同期の X.509 DN 更新は、メンバがプライマリに接続されたとき、または次回メンバがプライマリに接続したときに、プライマリの [保留中の DN 更新の承認/拒否] リストにすぐに表示されます。メンバが引き続きミラーの一部にできるようにするには、プライマリの [ミラーの編集] ページで [保留中の DN 更新の承認/拒否] リンクをクリックし、[承認] を選択することで、更新を承認する必要があります。

Note:

^MIRROR ルーチンの [ミラー構成] メニューにある [保留中の DN 更新の承認/拒否] オプション (プライマリの場合) または [保留中の DN 更新を承認] オプション (バックアップまたは非同期の場合) も、SYS.Mirror.AuthorizePendingMembers()Opens in a new tab API 呼び出しと同様に X.509 DN 更新の承認に使用できます。

DR 非同期メンバのフェイルオーバー・メンバへの昇格

災害復旧 (DR) 非同期ミラー・メンバはフェイルオーバー・メンバに昇格することができ、2 メンバ構成の場合は現在のフェイルオーバー・メンバに取って代わり、1 メンバ構成の場合は、現在のメンバに結合します。例えば、フェイルオーバー・メンバのいずれかが、計画的メンテナンスもしくは障害の結果により、長期間ダウンすることになる場合、一時的に DR 非同期を昇格させて、代替させることができます ("昇格した DR 非同期によるフェイルオーバー・メンバの一時的置き換え" を参照)。実際の災害復旧の間、両フェイルオーバー・メンバに障害が発生してしまった場合、DR を昇格させることで、ある程度のデータ損失のリスクは許容しつつ、DR がプライマリ・フェイルオーバー・メンバとしてプロダクションを引き継ぐことが可能になります。詳細は、"災害復旧時の昇格した DR 非同期への手動フェイルオーバー" を参照してください。

DR 非同期がフェイルオーバー・メンバに昇格すると、可能な場合、フェイルオーバー・パートナーとして最新プライマリとペアになります。これを自動で行うことができない場合、フェイルオーバー・パートナー選択のオプションが用意されます。昇格の後、フェイルオーバー・メンバが起動時にするように、昇格したメンバはフェイルオーバー・パートナーの ISCAgent と通信してまず直近ジャーナル・データを取得した後、フェイルオーバー・パートナーがプライマリでない場合はプライマリとなり、フェイルオーバー・パートナーがプライマリである場合はバックアップとなります。 昇格したメンバは、フェイルオーバー・パートナーとの通信による直近ジャーナル・データ取得ができない限り、自動的にプライマリとなることはできません。

DR 非同期をフェイルオーバー・メンバに昇格する際、留意する必要のある以下の重要な考慮事項があります。

  • DR 非同期の位置によっては、フェイルオーバー・パートナーとの間におけるネットワーク遅延が受け入れられないほど長くなる場合があります。フェイルオーバー・メンバ間における遅延要件に関する詳細は、"ネットワーク遅延に関する考慮事項" を参照してください。

  • DR 非同期がフェイルオーバー・メンバになるときには、フェイルオーバー・メンバの圧縮設定が適用されます。昇格前と同じ、非同期メンバの圧縮が適用されるわけではありません (この設定の詳細は、"ミラー・トラフィックの圧縮" を参照してください)。ネットワーク構成によっては、フェイルオーバー・メンバの圧縮設定に調整が必要になることがあります。最適なミラー機能についての詳細は、"フェイルオーバー・メンバの編集または削除" を参照してください。

  • ミラー・プライベート・ネットワークを、フェイルオーバー・メンバのミラー・プライベート・アドレスの接続に使用しているときは、"ミラーリング・アーキテクチャとネットワーク構成のサンプル" で説明しているように、このネットワークに接続されていない DR 非同期の昇格は、プライマリとして機能することを目的とし、ほかに動作中のフェイルオーバー・メンバがない場合にのみ実行する必要があります。プライマリが動作中だがプライマリのミラー・プライベート・アドレスにアクセスできないときに DR 非同期を昇格する場合、バックアップになることはできません。ただし、プライマリのエージェントからジャーナル・データを取得できるため、プライマリがシャットダウンされたときには最新ジャーナル・データを使用してプライマリになることができます。

  • ミラー VIP が使用中であり、昇格された DR 非同期が VIP のサブネット上にない場合にこの DR がプライマリになるときは、何らかの代替方法を使用してユーザの接続を昇格された DR にリダイレクトする必要があります。例えば、VIP ではなく、DR 非同期の IP をポイントするように DNS 名を手動で更新するか、"フェイルオーバーまたは災害復旧後のアプリケーション接続のリダイレクト" で説明したメカニズムのいずれかを構成します。

ただし、障害復旧の状況によっては、昇格された DR 非同期が既存のフェイルオーバー・メンバのエージェントに通信できない場合があります。このような場合は、フェイルオーバー・パートナーなしで DR を昇格するオプションがあります。このセクションの "Promotion With Partner Selected by User" の説明を参照してください。つまり、DR は、既に受け取っているジャーナル・データと、その他の接続されているミラー・メンバで使用可能な最新のジャーナル・データ (存在する場合) のみで、プライマリに昇格できるということです。この場合、新しいプライマリがミラーにより生成されたジャーナル・データすべてを所有しているとは限らないので、アプリケーション・データが一部損失することがあります。このように昇格された DR 非同期がプライマリとして機能している間、以前のフェイルオーバー・パートナーを再起動する場合、その再構築が必要なことがあります。詳細は、"ミラー・メンバの再構築" を参照してください。このセクションで後述する DR の昇格手順で、詳細を必ず確認してください。

Note:

プライマリの InterSystems IRIS インスタンスが、アービター制御モードでバックアップとアービターの両方から遮断されたことにより無限の障害状態にある場合、"自動フェイルオーバーのメカニズムの詳細" で説明しているように、DR 非同期をフェイルオーバー・メンバに昇格できません。

自動選択されたパートナーでの昇格

可能である場合、昇格した DR 非同期のフェイルオーバー・パートナーは、以下のように自動で選択されます。

  • 動作中のプライマリ・フェイルオーバー・メンバがある場合、そのプライマリがフェイルオーバー・パートナーとして自動で選択されます。昇格したメンバはそのパートナーより直近ジャーナル・データを取得して、バックアップとなります。InterSystems IRIS が現在のバックアップ上で動作している場合、メンバは直ちに DR 非同期に降格されます。動作していない場合、InterSystems IRIS の再起動時に、メンバは DR 非同期に降格されます。

  • InterSystems IRIS がいずれのフェイルオーバー・メンバ上でも動作していないが、両フェイルオーバー・メンバ (1 つのみの場合は 1 つ) 上の ISCAgents に通信可能である場合、直近のプライマリがフェイルオーバー・パートナーとして自動選択され、昇格したメンバはそのパートナーより直近ジャーナル・データを取得して、プライマリとなります。InterSystems IRIS が以前のプライマリで再起動した場合、そのプライマリは自動的にバックアップとなります。InterSystems IRIS が以前のバックアップで再起動した場合、そのバックアップは自動的に DR 非同期となります。

ユーザが選択したパートナーでの昇格

InterSystems IRIS がいずれのフェイルオーバー・メンバでも動作しておらず、少なくとも 1 つの ISCAgent に通信不可能である場合、昇格プロシージャが通信不可能なエージェントを通知して、フェイルオーバー・パートナーの選択オプションを提示します。データ損失の可能性を避けるため、エージェントに通信不可能である場合でも、最後にプライマリだったフェイルオーバー・メンバを選択する必要があります。ユーザの選択および ISCAgent の利用可能性により、以下のように結果が異なります。

  • ユーザの選択したパートナーのエージェントに通信可能である場合、昇格した DR 非同期がそのエージェントより直近ジャーナル・データを取得した後、プライマリとなります。InterSystems IRIS がそのパートナーで再起動されると、そのパートナーは自動的にバックアップとなります。

  • ユーザの選択したパートナーのエージェントが通信不可能である場合、そのパートナーのエージェントに通信して、直近ジャーナル・データを取得できるまで、昇格した DR 非同期はプライマリにはなりません。パートナーのエージェントが使用可能になる前であればいつでも、直近のジャーナル・データを取得せずに、昇格したメンバを強制的にプライマリ化することができます ("災害復旧時の昇格した DR 非同期への手動フェイルオーバー" を参照)。ただし、結果として、アプリケーション・データが一部損失するおそれがあります。

  • フェイルオーバー・パートナーを選択しない場合、昇格される DR 非同期は、プライマリになる前に、接続されている非同期ミラー・メンバのすべてから最新の使用可能なジャーナル・データを取得しようとします。昇格される DR 非同期よりも新しいジャーナル・データを保持している接続されたメンバが存在しないことがあるため、一部のアプリケーション・データが失われる可能性があります。

    これを選択するときに、昇格される DR 非同期でフェイルオーバーなしの状態を設定するオプションがあります。このオプションを選択すると、接続されている別のメンバからのジャーナル・データの取得を含め、プライマリになるための準備は行われますが、フェイルオーバーなしを取り消すまでプライマリになることはありません。これにより、必要とする追加の検証を実行して、可能であれば追加のメンバをオンラインにして、昇格される DR 非同期をプライマリにする前に、より新しい潜在的なジャーナル・データを使用できるようにします。

    Note:

    ジャーナル・データを確認するためにミラー・メンバとの通信を試行したときの成功および失敗のメッセージと、最新データが識別された場合にデータ取得を試行したときの成功および失敗のメッセージは、メッセージ・ログに格納されます。

    Caution:

    DR 非同期が昇格されたときに ISCAgent がダウンしていた旧フェイルオーバー・メンバでは、InterSystems IRIS インスタンスの構成パラメータ・ファイルの [MirrorMember] セクションで ValidatedMember=0 を設定するまで、InterSystems IRIS を再起動しないでください。これについては、以下の DR の昇格手順で説明します。

フェイルオーバー・パートナーが自動で選択されない場合、以下のルールが適用されます。

  • パートナーとして選択されない旧フェイルオーバー・メンバはいずれも、InterSystems IRIS の再起動時に DR 非同期メンバとなります。

  • InterSystems IRIS インスタンスの再起動前のできるだけ早い段階において、DR 非同期の昇格時に自身のエージェントが通信不可能であった任意の旧フェイルオーバー・メンバ上で、InterSystems IRIS インスタンスの構成パラメータ・ファイルの [MirrorMember] セクションで ValidatedMember=0 を設定する必要があります ("構成パラメータ・ファイル・リファレンス" の "[MirrorMember]" を参照してください)。これにより、InterSystems IRIS インスタンスに対して、以前のロールでのミラーへの再接続ではなく、昇格した DR 非同期からのミラー内での新規ロール取得が指示されます。^MIRROR ルーチンにより、この変更が必要なフェイルオーバー・メンバがリストされます。

Caution:

直近ジャーナル・データの取得なしで、昇格した DR 非同期がプライマリになるか強制的にプライマリになった場合、グローバル更新処理の一部が失われることがあり、他のミラー・メンバの再構築が必要になることがあります ("ミラー・メンバの再構築" に記載のとおり)。しかし、一部の災害復旧シナリオでは、直近ジャーナル・データの取得なしで、DR 非同期がプライマリに昇格するための代替手段がないことがあります。昇格プロシージャの機能について不明な点がある場合、インターシステムズのサポート窓口Opens in a new tabに問い合わせることをお勧めします。

DR 非同期メンバをフェイルオーバー・メンバに昇格させるには、以下の手順を実行します。

  1. フェイルオーバー・メンバに昇格させる DR 非同期メンバで、[システム処理][ミラー・モニタ] ページに移動して、ミラー・モニタを表示します。

  2. ページ上部の [フェイルオーバー・メンバに昇格] ボタンをクリックします。

  3. その結果表示されるダイアログ・ボックスの指示に従ってください。最も単純な例では、昇格処理を続行するかの確認のみがこの指示に含まれますが、このセクションで前述したとおり、それにはフェイルオーバー・パートナーを選択するかしないかが含まれる場合があります。

  4. ミラーに VIP が構成されている場合、昇格された DR 非同期は、プライマリになるときに (手動フェイルオーバーにより、またはバックアップとして動作中にプライマリが後で停止したことにより) VIP を取得できるように、VIP のサブネット上にネットワーク・インタフェースを有している必要があります。

    • この DR 非同期が VIP のサブネット上にインタフェースを 1 つだけ有している場合、プロシージャによってこのインタフェースが自動的に選択されます。

    • この DR 非同期が VIP のサブネット上に複数のインタフェースを有している場合、プロシージャからインタフェースの選択を求められます。

    • この DR 非同期が VIP のサブネット上にインタフェースを有していない場合、昇格プロシージャからこの事実が警告され、続行する前に確認を求められます。このプロシージャを使用して続行し、DR 非同期を昇格する場合、ユーザとアプリケーションが新しいプライマリに接続できるように、例えば、VIP ではなく DR 非同期の IP をポイントするように DNS 名を更新するなど、手動ステップを実行する必要があります。

  5. DR 非同期の昇格時に、旧フェイルオーバー・メンバのエージェントが有効である場合、InterSystems IRIS インスタンスの構成パラメータ・ファイルの [MirrorMember] セクションで ValidatedMember=0 が自動設定されます ("構成パラメータ・ファイル・リファレンス" の "[MirrorMember]" を参照してください)。これにより、InterSystems IRIS インスタンスに対して、以前のロールでのミラーへの再接続ではなく、昇格した DR 非同期からのミラー内での新規ロール取得が指示されます。

    昇格時に以前のフェイルオーバー・メンバのエージェントと通信できない場合、この変更は自動では行われません。したがって、InterSystems IRIS インスタンスが再起動する前のできるだけ早い段階において、昇格時にエージェントが通信不可能であった任意の旧フェイルオーバー・メンバで、InterSystems IRIS インスタンスの構成パラメータ・ファイルの編集により、手動で ValidatedMember=0 を設定する必要があります。この指示により、この変更が必要な以前のフェイルオーバー・メンバがリストされます。

    Caution:

    DR 非同期の昇格時に自身のエージェントがダウンしたミラー・メンバ上で、最初に ValidatedMember=0 を設定せずに InterSystems IRIS を再起動すると、両方のフェイルオーバー・メンバが同時にプライマリとして動作してしまうことがあります。

Note:

SYS.Mirror.Promote()Opens in a new tabSYS.Mirror.PromoteWithPartner()Opens in a new tabSYS.Mirror.PromoteWithNoPartner()Opens in a new tab、および SYS.Mirror.PromoteWithSelectedPartner()Opens in a new tab ミラーリング API メソッドを使用して、DR 非同期をフェイルオーバー・メンバに昇格することもできます。

DR 非同期へのバックアップの降格

DR 非同期をフェイルオーバー・メンバに昇格することに加えて、その反対も実行できます。現在のプライマリではないフェイルオーバー・メンバを DR 非同期に降格して、ミラーに 1 つのフェイルオーバー・ミラーを残すことができます。これは、フェイルオーバー・メンバがミラーの構成に対する一時的な変更に対処しないようにする必要がある計画的停止の状況で有用です。次に、例を示します。

  • メンテナンスのためにバックアップ・フェイルオーバー・メンバとそのホスト・システムをシャットダウンしているときに、(何らかの理由で) プライマリ上の InterSystems IRIS インスタンスを再起動すると、このインスタンスはバックアップ・インスタンスまたはその ISCAgent に通信できないため、最新のプライマリであるかどうかを判断する方法がないことにより、再起動後にプライマリになることができません。ただし、"バックアップ・フェイルオーバー・メンバのメンテナンス" で説明しているように、シャットダウンする前にバックアップを DR 非同期に降格しておくと、このリスクが回避されます。プライマリは、現在バックアップはないことと、そのためにプライマリが再起動後にプライマリになれることを認識しているからです。再起動後に、降格していた DR 非同期をバックアップに昇格できます ("DR 非同期メンバのフェイルオーバー・メンバへの昇格" を参照)。

  • "昇格した DR 非同期への計画的フェイルオーバー" で説明しているように、DR 非同期に意図的にフェイルオーバーすることで災害復旧機能をテストしているときに、プライマリ・インスタンスをシャットダウンしてフェイルオーバーをトリガする場合、プライマリ・インスタンスを自動的にバックアップにすることなく (実際の災害時には利用できない可能性が高いため)、再起動して同期状態を維持できます。この場合、再起動前に (ISCAgent を使用して) DR 非同期に降格しておき、後で準備が整った時点でフェイルオーバー・メンバに昇格することができます。

フェイルオーバー・メンバを降格するには、"ミラー・モニタの使用法" で説明しているように、いずれかのフェイルオーバー・メンバで [ミラー・モニタ] ページ ([ホーム][システム処理][ミラー・モニタ]) に移動します。次に、以下の手順を実行します。

  • バックアップで、[DR メンバに降格] ボタンを使用して、バックアップを DR 非同期に降格します(この方法は、前述の例の最初で使用します)。

  • プライマリで、[他のメンバを降格] ボタンを使用して、バックアップを DR 非同期に降格します(この方法は、前述の例の 2 つ目で使用します)。現在のメンバがプライマリで、バックアップ・インスタンスまたはその ISCAgent にアクセス可能な場合にのみ、降格に成功します。

Note:

"フェイルオーバー・メンバのメンテナンス時の不要なフェイルオーバーの回避" で説明しているように、フェイルオーバーが設定されていない場合に、現在のプライマリを降格することはできません。

^MIRROR ルーチンの [ミラー管理] メニューの [非同期 DR メンバへのバックアップ・メンバの降格] オプション、および SYS.Mirror.Demote()Opens in a new tabSYS.Mirror.DemotePartner()Opens in a new tab ミラーリング API メソッドも、バックアップを DR 非同期に降格する手段として使用できます。

ミラー・メンバの再構築

状況によっては、停止または障害の発生後に、特に手動手順を使用してミラーを稼働状態に戻した場合、メンバのミラーリングされるデータベースがミラーと同期しなくなっていることがあります。例えば、プライマリの停止後に自動的には引き継がなかったバックアップを、最新のジャーナル・データなしに強制的にプライマリにすると ("バックアップがアクティブでない場合の手動フェイルオーバー" を参照)、前のプライマリ上の 1 つ以上のミラーリングされるデータベースが、新しいプライマリのデータベースと一致しない場合があります。

ミラーがその不一致を調整できる場合もありますが、調整できない場合もあります。ミラー・メンバのデータの不一致が調整不可能なミラー・メンバを再起動して、ミラーに再参加させようとすると、そのプロセスは停止し、次のような深刻度 2 のメッセージがメッセージ・ログに書き込まれます。

This member has detected that its data is inconsistent with the mirror MIRRORNAME. If the primary is
running and has the correct mirrored data, this member, including its mirrored databases, must be
rebuilt.

このメッセージの前に、不一致の詳細を示した深刻度 1 のメッセージが書き込まれます。

このメッセージがメッセージ・ログに表示された場合は、以下のステップを実行します。

  1. 機能しているミラーが有しているデータのバージョンが目的のものであること、また不一致を報告しているメンバを再構築する必要があることを確認します。これは、例えば、すべての最新ジャーナル・データなしに手動で別のメンバをプライマリにすることを選択した後に、前のプライマリを再起動しているときにこのメッセージが表示された場合に当てはまることが多いです。この場合、以下のステップを使用して、不一致メンバを再構築します。

    代わりに、不一致を報告しているメンバには目的のバージョンのデータがあると結論付けた場合、この手順を採用して、他のメンバを再構築できます。

    使用するデータのバージョンが不明であったり、不一致メンバの再構築が適切であるかどうかわからない場合、最善策を判断できるように、インターシステムズのサポート窓口Opens in a new tabまでお問い合わせください。

  2. 機能しているミラー内の 1 つのメンバの、ミラーリングされるデータベースをバックアップします。以下のことを確信している場合は、ミラー内の 1 つのメンバで作成した既存のバックアップを使用することもできます。

    • バックアップは、データの不一致をまねいた停止または障害が発生する前に作成された。

    • 現在のプライマリには、バックアップが作成された時点のすべてのジャーナル・ファイルが含まれている。

  3. "ミラー構成の編集または削除" の説明に従って、不一致メンバをミラーから削除し、ミラーリングされるデータベースの、ミラーリングされる DB 属性を保持します。

  4. "第 2 のフェイルオーバー・メンバを構成する" または "非同期ミラー・メンバを構成する" の説明に従い、適切な手順を使用してメンバをミラーに追加します。

  5. "ミラーへ既存データベースを追加する" の説明に従って、作成または選択したバックアップから、ミラーリングされるデータベースをメンバにリストアします。

バックアップおよび非同期メンバのミラーリングの停止

バックアップまたは非同期メンバのミラーリングは、一時的に停止できます。例えば、メンテナンスや再構成を行うための短い時間や、プライマリのデータベース・メンテナンスを行っている間は、プライマリのバックアップ・メンバのミラーリングを停止することが必要になる場合があります。また、ネットワークの使用率を下げるために、レポート非同期メンバのミラーリングを一時的に停止することがあるかもしれません。そのためには、以下を実行します。

  1. ミラーリングを停止するメンバの [システム処理][ミラー・モニタ] ページに移動します。

  2. そのメンバが、バックアップ・フェイルオーバー・メンバの場合は、[このメンバのミラーリングを停止] ボタンをクリックします。

  3. そのメンバが非同期の場合は、ミラーリングを停止する非同期メンバのミラーの行にある [このメンバのミラーリングを停止] リンクをクリックします。(1 つのミラーのミラーリングを停止しても、レポート非同期が属しているその他のミラーには影響しません。)

この処理には、数秒かかります。[ミラー・モニタ] を更新すると、[このメンバのミラーリングを停止][このメンバのミラーリングを開始] に置き換えられています。これは、ミラーリングの再開に使用できます。

Important:

あるメンバでミラーリングを停止すると、前述したように、ミラーリングは明示的に再開するまで停止したままになります。ミラーの再初期化やメンバの再開始によって、そのメンバのミラーリングが開始されることはありません。

Note:

また、ミラーリングの SYS.Mirror.StopMirror()Opens in a new tab および SYS.Mirror.StartMirror()Opens in a new tab API メソッド、あるいは ^MIRROR ルーチン ("^MIRROR ルーチンの使用法" を参照) を使用して、これらのタスクを実行することもできます。

データベース・デジャーナリングの管理

"ミラー同期" で説明されているように、デジャーナリングとは、プライマリ・フェイルオーバー・メンバのジャーナル・データを他のミラーメンバのミラーリングされるデータベースに適用することにより、ミラーリングされるデータベースを同期させるプロセスのことです。デジャーナリングは、ルーチン・ミラー処理中の自動プロセスですが、ある状況下では、^MIRROR ルーチン ("^MIRROR ルーチンの使用法" を参照) で用意されているオプションを使用したデジャーナリングの管理が必要になる場合があります。バックアップ・フェイルオーバー・メンバ、DR 非同期メンバ、およびレポート非同期メンバのそれぞれの目的の違いにより、デジャーナリングとデジャーナリング管理でも違いがあります。特に、意図的なものであれ、エラーによるものであれ、デジャーナリングにおける中断に違いがあります。さらに、レポート非同期が属する 1 つ以上のミラーに向けたデジャーナリングに、ユーザ定義のフィルタを適用することもできます。

Note:

1 つまたはすべてのミラーされたデータベースのデジャーナリングが一時停止している場合でも、すべてのタイプのミラー・メンバはジャーナル・データの受信を続けます。

デジャーナリングの管理には、SYS.Mirror.AsyncDejournalStatus()Opens in a new tabSYS.Mirror.AsyncDejournalStart()Opens in a new tabSYS.Mirror.AsyncDejournalStop()Opens in a new tab、および SYS.Mirror.DejournalPauseDatabase()Opens in a new tab ミラーリング API メソッドを使用することもできます。

バックアップまたは DR 非同期でのデジャーナリング管理

バックアップ・フェイルオーバー・メンバおよび DR 非同期メンバ上のミラーリングされるデータベースは常にできる限りキャッチアップされて、それぞれプライマリとして引き継ぐ可能性や災害復旧での使用の可能性に備える必要があるため、エラーによるデジャーナリングの一時停止は、影響を受けたミラーリングされるデータベースに対してのみ行われ、それ以外に対してはデジャーナリングは続行されます。

例えば、バックアップまたは DR 非同期メンバで <FILEFULL> などのデータベース書き込みエラーが発生した場合、書き込みエラーが発生したデータベースのデジャーナリングは自動的に一時停止されますが、他のミラーリングされるデータベースのデジャーナリングは続行されます。エラーのデータベースをディスマウントし、エラーを修正したら、データベースを再マウントします。さらに、^MIRROR ルーチンの [ミラー管理] メニューにより [ミラーリングされるデータベースの有効化/キャッチアップ] オプションを選択してデジャーナリングを再開するか、管理ポータルの使用によりデータベースのキャッチアップを再開します ("ミラーリングされるデータベースの有効化とキャッチアップ" を参照)。

DR 非同期では、^MIRROR ルーチンの [ミラー管理] メニューにある [非同期メンバ上でのミラー・デジャーナリングの管理] オプションを使用して、メンバ上のミラーリングされるデータベースすべてに対してデジャーナリングを一時停止するオプションもあります。(このオプションは、バックアップ・メンバでは無効になっています。)これは、デジャーナリング・エラーの後や、メンテナンスを目的として使用できます。例えば、デジャーナリング・エラーによって、1 つのデータベースに対してのみデジャーナリングが一時停止した場合に、ミラー内のすべてのデータベースに対してデジャーナリングを一時停止するときは、以下を実行できます。

  1. ^MIRROR ルーチンの [ミラー管理] メニューから [非同期メンバ上でのミラー・デジャーナリングの管理] オプションを選択して、すべてのデータベースに対してデジャーナリングを一時停止します。

  2. 問題の発生しているデータベースをディスマウントして、エラーを修正し、データベースを再マウントします。

  3. ^MIRROR ルーチンの [ミラー管理] メニューから [非同期メンバ上でのミラー・デジャーナリングの管理] オプションを選択して、すべてのデータベースに対するデジャーナリングを再開始します。 (このオプションによって、エラーが生じたデータベースが自動的に有効化され、ミラー内の最新のデータベースと同じポイントまでキャッチアップされます。)

Note:

[非同期メンバ上でのミラー・デジャーナリングの管理] オプションを使用して、DR 非同期メンバ上のデジャーナリングを一時停止している場合、再度このオプションを使用して再開するまで、デジャーナリングは再開しません。

レポート非同期でのデジャーナリング管理

"非同期ミラー・メンバ" で説明するように、レポート非同期メンバは複数のミラーに属することができます。それら各ミラーに対して、データベースの使われ方により、データベース・デジャーナリングを継続的に実施することも、定期的に実施することもできます。例えば、指定されたミラーに対して、深夜から午前 4 時にかけてのデジャーナリングを行い、残りの時間帯には安定的なレポート生成のためデータベースに静的な状態を維持させることができます。

また、メンテナンスまたはデジャーナリング中のエラー発生のため、データベースをディスマウントする場合に、各種ミラーに対して異なる動作をさせることもできます。例えば、あるミラーでは、デジャーナリング一時停止中のデータベースが、ミラー内の他のデータベースから後れを取らないようにすることが最も重要なため、ミラー全体でデジャーナリングを一時停止することが望ましくなります。また別のミラーでは、ミラー内のデータベースができるだけ最新を保つことが最も重要なため、関与するデータベースのみを一時停止させることが最も重要となります。

レポート非同期上の 1 つ以上のミラーに対するデジャーナリングを、1 回限りの処理として、または定期的に一時停止する場合、^MIRROR ルーチンの [ミラー管理] メニューから [非同期メンバ上でのミラー・デジャーナリングの管理] オプションを選択して、目的のミラーですべてのデータベースに対してデジャーナリングを一時停止できます。デジャーナリングを再開するには、[非同期メンバ上でのミラー・デジャーナリングの管理] オプションを再度使用します。(このオプションは、バックアップ・メンバでは使用できません。)

バックアップや DR 非同期メンバとは異なり、レポート非同期メンバ上のデータベースのデジャーナリング中にエラーが生じた場合、そのミラー内のデータベースすべてに対して、デジャーナリングが自動的に一時停止します。ユーザの要望や方針に応じて、以下のいずれかができます。

  • エラーが発生したデータベースをディスマウントし、^MIRROR ルーチンの [ミラー管理] メニューから [非同期メンバ上でのミラー・デジャーナリングの管理] オプションを選択して、ミラー内のその他すべてのデータベースに対してデジャーナリングを再開し、エラーを修正して、データベースをマウントします。その後、^MIRROR ルーチンの [ミラー管理] メニューから [ミラーリングされるデータベースの有効化/キャッチアップ] オプションを選択して、そのデータベースに対するデジャーナリングを再開するか、または、管理ポータルの使用により、データベースのキャッチアップを再開します ("ミラーリングされるデータベースの有効化とキャッチアップ" を参照)。

  • エラーを修正し、データベースを再マウントする間は、ミラー全体に対してデジャーナリングを一時停止したままにし、その後、[非同期メンバ上でのミラー・デジャーナリングの管理] オプションを使用してミラー全体に対してデジャーナリングを再開します (このオプションによって、エラーが発生したデータベースが自動的に有効化され、ミラー内の最新のデータベースと同じポイントまでキャッチアップされます)。

レポート非同期メンバ上のミラーリングされるデータベースにメンテナンスを実行する場合、単にデータベースをディスマウントして、メンテナンスの後にデータベースをマウントし、[ミラーリングされるデータベースの有効化/キャッチアップ] オプションまたは管理ポータルを使用して、データベースをキャッチアップできます。(メンテナンスにこのようなデータベースが複数関係する場合は、"ミラーリングされるデータベースの有効化とキャッチアップ" の説明に従い、ミラー・モニタを使用して、一度にそれらのデータベースすべてに対して処理を実行します。これは、データベースを個々にキャッチアップするよりも、効率的で、かかる時間の短縮になります。)

Note:

エラーにより、レポート非同期メンバ上のミラーに対して、デジャーナリングが一時停止している場合、メンバはプライマリとの接続が次に再構築されたときに、そのミラーに対するデジャーナリングの再開を試みます。[非同期メンバ上でのミラー・デジャーナリングの管理] オプションを使用して、非同期メンバ上のミラーのデジャーナリングを一時停止している場合、再度このオプションを使用して再開するまで、そのミラーでのデジャーナリングは再開しません。

レポート非同期に対するデジャーナル・フィルタの使用

レポート非同期に限り、特定のミラーにユーザ定義のデジャーナル・フィルタを設定できます。これにより、ジャーナル・レコードごとにユーザ独自のコードを実行して、そのミラー内の読み書き可能のデータベースに適用するレコードを決定できます。フィルタをいったん定義しておけば、任意の数のミラーに設定することができます。また、フィルタは、いつでも設定、変更、および削除できます。

Important:

この機能は、きわめて特殊なケースのみを想定しています。その他の使用方法には、十分な注意が必要です。ミラー・メンバに複製するグローバルを制御する場合は、ミラーリングされないデータベースへのグローバルのマッピングにより、さらに簡単で軽量なソリューションが得られます。アプリケーション・データベースへの更新を監視する場合、アプリケーション・レベルで構築されたソリューションは、一般に高い柔軟性があります。

デジャーナル・フィルタにより、レポート非同期は、プライマリから受信したジャーナル・ファイルに含まれる一部のレコードのデジャーナリングをスキップできるようになります。ただし、これは、読み取り書き込み可能のデータベース (最初に読み書き可能のレポート非同期のミラーに追加されたデータベース、または読み取り専用としてミラーに追加されたときから [FailoverDB] フラグがクリアされているデータベース) にのみ当てはまることです。( レポート非同期のミラーリングされるデータベースのマウント・ステータスおよび [FailoverDB] フラグの詳細は、"レポート非同期ミラー・メンバの FailoverDB フラグのクリア" を参照してください。)FailoverDB フラグがデータベースに設定されている場合は、データベースが読み取り専用としてマウントされたことを意味します。それでもデジャーナル・フィルタのコードは実行されますが、フィルタ コードの返す内容にかかわらず、そのデータベースには、常にすべてのレコードがデジャーナルされます。

Important:

デジャーナル・フィルタを設定すると、フィルタが設定されたミラーのデジャーナリングが遅くなります。この影響は、フィルタの内容によっては重大なものになることがあります。

デジャーナル・フィルタを作成するには、スーパークラス SYS.MirrorDejournalOpens in a new tab を拡張して、ミラー・デジャーナル・フィルタ・クラスを作成します。クラス名は、Z または z で始める必要があります。これにより、InterSystems IRIS のアップグレード時にそのクラスが保持されます。

レポート非同期のミラーにデジャーナル・フィルタを設定するには、[非同期構成の編集] ページ ([システム管理][構成][ミラー設定][非同期の編集]) に移動して、[この非同期メンバの所属先のミラー] リストに示された目的のミラーの横にある [デジャーナル・フィルタの編集] リンクをクリックし、ミラー・デジャーナル・フィルタ・クラスの名前を入力して、[保存] をクリックします。フィルタを削除する場合は、同じ手順を実行しますが、入力ボックスをクリアしてから、[保存] をクリックします。ミラーのジャーナル・フィルタを追加、変更、または削除すると、そのミラーに対するデジャーナリングが自動的に再開され、フィルタが適用できるようになります。ただし、ミラー・デジャーナル・フィルタ・クラスに変更を加えてリコンパイルする場合は、^MIRROR ルーチンの [ミラー管理] メニューにある [非同期メンバ上でのミラー・デジャーナリングの管理] オプションを使用して、フィルタを設定したすべてのミラーのデジャーナリングを手動で停止および再開する必要があります。

一般的なミラーリングに関する考慮事項

このセクションでは、ミラーリングに関する考慮事項、推奨事項、および最善の方法のガイドラインを示します。このセクションには、以下のサブセクションがあります。

ミラーの API

SYS.MirrorOpens in a new tab クラスには、管理ポータルおよび ^MIRROR ルーチン ("^MIRROR ルーチンの使用法" を参照) で使用可能なミラー処理をプログラムで呼び出すためのメソッドと、多数のクエリが用意されています。例えば、SYS.Mirror.CreateNewMirrorSet()Opens in a new tab メソッドを使用することで、ミラーを作成し、第 1 のフェイルオーバー・メンバを構成することができます。その一方で、SYS.Mirror.MemberStatusList()Opens in a new tab クエリは、ミラー・メンバのリストと、それぞれのジャーナル遅延ステータスを返します。これらのメソッドの詳細は、SYS.MirrorOpens in a new tab のクラス・ドキュメントを参照してください。

バックアップを実行するために外部スクリプトを使用する場合は、$SYSTEM.Mirror クラスを使用すると、システムがミラーの一部であるかどうかを検証し、一部である場合はそのロールが何かを検証できます。

$System.Mirror.IsMember()
$System.Mirror.IsPrimary()
$System.Mirror.IsBackup()
$System.Mirror.IsAsyncMember()
$System.Mirror.MirrorName()

$SYSTEM.Mirror.IsMember()Opens in a new tab は、このシステムがフェイルオーバー・メンバである場合は 1 を返し、非同期ミラー・メンバである場合は 2 を返し、ミラー・メンバではない場合は 0 を返します。$SYSTEM.Mirror.IsPrimary()Opens in a new tab は、このシステムがプライマリ・フェイルオーバー・メンバである場合は 1 を返し、そうでない場合は 0 を返します。$SYSTEM.Mirror.IsBackup()Opens in a new tab は、このシステムがバックアップ・フェイルオーバー・メンバである場合は 1 を返し、そうでない場合は 0 を返します。$SYSTEM.Mirror.IsAsyncMember()Opens in a new tab は、このシステムが非同期メンバである場合は 1 を返し、そうでない場合は 0 を返します。$SYSTEM.Mirror.MirrorName()Opens in a new tab は、このインスタンスがフェイルオーバー・ミラー・メンバとして構成されている場合はミラー名を返し、そうでない場合は NULL を返します。

また、$SYSTEM.Mirror.GetMemberType()Opens in a new tab および $SYSTEM.Mirror.GetMemberStatus()Opens in a new tab を使用して、InterSystems IRIS の現行インスタンスのミラー・メンバシップ (存在する場合) およびそのロールにおけるステータスについての情報を取得できます。詳細は、"ミラー・メンバのジャーナル転送およびデジャーナリングのステータス" を参照してください。

プライマリ・フェイルオーバー・メンバの外部バックアップ

Backup.General.ExternalFreeze()Opens in a new tab メソッドの使用により、プライマリ・フェイルオーバー・メンバのデータベースへの書き込みをフリーズして、"データ整合性ガイド" の “バックアップとリストア” の章の説明どおりに、外部バックアップを実行できるようにするには、Backup.General.ExternalFreeze()Opens in a new tabExternalFreezeTimeOut パラメータの指定より長く、外部フリーズが更新を中断しないようにします。指定時間より長い中断が起こると、ミラーがバックアップ・フェイルオーバー・メンバをフェイルオーバーし、その結果、進行中のバックアップ操作が終了されてしまいます。

ミラー・メンバでの InterSystems IRIS のアップグレード

ミラー・メンバで InterSystems IRIS をアップグレードするときのオプションおよび考慮事項を確認するには、"インストール・ガイド" の “InterSystems IRIS のアップグレード” の章の "ミラーリングを使用した最小ダウンタイムのアップグレード" を参照してください。

ミラーリングにおけるデータベースの考慮事項

このセクションでは、ミラーリングされるデータベースを構成および管理する際に考慮する点について説明します。

InterSystems IRIS インスタンスの互換性

ミラーの各 InterSystems IRIS インスタンスは以下のようにいくつかの方法で互換性がある必要があります。

  1. ミラー内のすべての InterSystems IRIS インスタンスで以下のことが必要です。

    Note:

    これらの要件に対する唯一の例外が、ISO 8859 Latin-1 文字セットに基づいたロケールを使用する 8 ビット・インスタンスは、対応する幅の文字ロケールを使用する Unicode インスタンスと互換性があることです。例えば、enu8 ロケールを使用する 8 ビット・プライマリ・インスタンスは、enuw ロケールを使用する Unicode バックアップ・インスタンスと互換性があります。しかし、heb8 ロケールを使用する 8 ビット・プライマリ・インスタンスは、hebw ロケールを使用する Unicode バックアップ・インスタンスと互換性がありません。これらのロケールは ISO 8859 Latin-1 に基づいていないためです。

  2. 各フェイルオーバー・メンバで、同じデータベース・ブロック・サイズが有効化されている必要があります ("システム管理ガイド" の “InterSystems IRIS の構成” の章にある "ラージ・ブロック・サイズに関する考慮事項" を参照してください)。また、フェイルオーバー・メンバで有効になっているサイズを非同期メンバで有効にする必要があります。プライマリに追加されるミラーリングされるデータベースのブロック・サイズが別のメンバで有効になっていないと、そのデータベースはそのメンバのミラーに追加できません。

  3. フェイルオーバー・メンバおよびすべての DR 非同期メンバは、同じ InterSystems IRIS バージョンでなければなりません。ただし、"インストール・ガイド" の “InterSystems IRIS のアップグレード” の章の "ミラーリングを使用した最小ダウンタイムのアップグレード" に記載されているアップグレード手順のいずれかを行っている間のみ、異なるバージョンでもかまいません。アップグレード対象のメンバがプライマリになったら、このアップグレードが完了するまで、他方のフェイルオーバー・メンバおよびすべての DR 非同期メンバを使用できません (特に、これらをプライマリにすることはできません)。

    ミラーリングでは、レポート非同期メンバがフェイルオーバー・メンバと同じ InterSystems IRIS バージョンである必要はありませんが、アプリケーションの機能でこれが必要な場合があります。

メンバのエンディアンに関する考慮事項

  • 分散キャッシュ・クラスタ内のミラーリングされたデータ・サーバのメンバ (例えば、ECP データ・サーバとして機能しているミラー・セット) では、混合エンディアンはサポートされません。フェイルオーバー・メンバが一時的に混合している場合 (例えば、エンディアン間でサーバを移行している場合)、ECP セッションはフェイルオーバー後に回復しません。

  • ミラーリングされるデータベースの作成時または既存のデータベースのミラーへの追加時に、バックアップ・フェイルオーバー・メンバまたは非同期メンバのエンディアンがプライマリ・フェイルオーバー・メンバのエンディアンと異なる場合は、"ミラーへ既存データベースを追加する" で説明しているバックアップおよびリストアの手順は使用できません。その代わりに、データベースの IRIS.DAT ファイルをコピーする操作を含めて、そのセクションの手順を使用する必要があります。それに加えて、その手順を使用するときには、すべての非プライマリ・メンバに IRIS.DAT ファイルをコピーした後で、それらのメンバにデータベースをマウントする前に以下の手順を挿入します。

^DATABASE ルーチンを使用したミラーリングされるデータベースの作成

ミラーリングされるデータベース (ミラーリング・データベース) をミラー・メンバに作成するには、^DATABASE ルーチンを使用します ("^DATABASE" を参照)。他のミラー・メンバに新規ミラーリング・データベースを作成する前に、プライマリ・メンバにそれを作成する必要があります。ミラーリングされるデータベースを作成するには:

  1. ^DATABASE ルーチンを実行し、[1) データベースの作成] オプションを選択します。

  2. [データベースディレクトリ ?] プロンプトでディレクトリ・パスを入力します。

  3. [既定のデータベースプロパティを変更?] プロンプトで [はい] を入力します。

  4. [フィールド番号を変えますか?] プロンプトで 3 ([ミラーDB名:]) を入力し、[ミラーDB名は?] プロンプトでミラーリングされるデータベースのミラー名を入力します。

    Note:

    作成しているミラーリング・データベースのメンバが複数ミラーのメンバで、かつ既定のリストのミラーと異なるミラーでミラーリング・データベースを作成している場合、[フィールド番号を変えますか?] プロンプトで ([ミラーセット名:]) を入力し、リストから適切なミラー名を選択します。ルーチンを実行しているメンバが唯一のミラーのメンバである場合、このフィールドは変更できません。

  5. ユーザのデータベースの必要に応じて、他のフィールドを変更し、変更が終了したら、[フィールド番号を変えますか?] プロンプトで、オプションを指定せずに Enter を押します。

  6. [構成中データベースのデータセット名:] プロンプトで、データベースのデータセット名を入力します。これは管理ポータルで表示される名前です。

  7. ミラーリングされるデータベースが作成されるまで、残りのプロンプトに返答を入力してください。

バックアップおよび非同期メンバにミラーリングされるデータベースを作成する場合、プライマリ・メンバに作成したデータベースに対するキャッチアップが自動的に行われます。

Note:

^DATABASE ルーチンの使用によって、既存のミラーリングされないデータベースをミラーに追加することはできません。必要なプロシージャの詳細は、"ミラーへのデータベースの追加" を参照してください。

^DATABASE ルーチンを使用した既存のミラーリングされるデータベースの再作成

^DATABASE ルーチンの [10) データベースの再作成] オプションを使用すると、データベースの名前やサイズを変更することなく、既存のデータベースのデータをクリアできます(ルーチンについては、"^DATABASE" を参照)。このオプションは、ミラーリングされるデータベースに使用できますが、そのデータベースを認識するすべてのミラー・メンバで使用する必要があり、新しいミラーリングされるデータベースの作成に [データベースの作成] オプションを使用した順序 (最初にプライマリ、次にバックアップ、その次にミラーに含まれるデータベースの非同期) で使用する必要があります。

Caution:

[10) データベースの再作成] オプションを使用してプライマリにデータベースを再作成する場合、バックアップとミラーの DR 非同期にも、この操作を繰り返す必要があります。このようにしないと、フェイルオーバー時または災害復旧時に、そのデータベースは破棄されることがあります。再作成操作は、レポート非同期にも繰り返すことを強くお勧めします。

ミラーリングされるデータベースのマウント/ディスマウント

ミラーリングされるデータベースは、どちらのフェイルオーバー・メンバ上でもマウントおよびディスマウントできます。ただし、バックアップ・フェイルオーバー・メンバ上でディスマウントされた場合、そのデータベースは、再マウントされた後でミラーリングによって自動的にデータベースのキャッチアップが試みられるまで “古い” 状態のままになります。必要なジャーナル・ファイルがプライマリ・フェイルオーバー・メンバ上で使用可能な場合は、自動アップデートが正常に実行されます。ただし、プライマリ・メンバ上の必要なジャーナル・ファイルのいずれかが削除されている場合は、プライマリ・メンバ上の最新のバックアップからデータベースをリストアする必要があります。

ミラーリングされないシステムへのミラーリングされるデータベースのコピー

以下のようにして、ミラーリングされるデータベースを、ミラーリングされないシステムにコピーし、そのシステム上での読み書き可能としてマウントできます。

  1. プライマリまたはバックアップ・フェイルオーバー・メンバ上のミラーリングされたデータベースをバックアップし、"ミラーへ既存データベースを追加する" で説明されている手順で、ミラーリングされていないシステムにバックアップ内容をリストアします (外部バックアップ・リストアまたはコールド・バックアップ・リストアに続くデータベースの手動での有効化とキャッチアップの手順は省略します)。リストアしても、データベースは引き続きミラーリングされているとマークされており、読み取り専用です。

  2. ミラーリングされないシステム上では、^MIRROR ルーチン ("^MIRROR ルーチンの使用法" を参照) を使用して、[1 つ以上のミラーリングされるデータベースの削除] を選択し、以下の手順を実行することで、ミラーからデータベースを削除します。この手順に従うと、データベースは読み取り/書き込みモードでマウントされます。

ミラーリングにおけるプロダクションの考慮事項

このセクションでは、InterSystems IRIS プロダクションに適用するその他の考慮事項について説明します。内容は以下のとおりです。

ミラーリングされるデータを使用した相互運用対応ネームスペースの作成

相互運用対応ネームスペースの作成には、プロダクションを新しいネームスペースで使用できるようにするためのデータベース書き込みが必要であるため、1 つ以上のミラーリングされるデータベースからのマッピングが設定された相互運用対応ネームスペースを現在のプライマリ・ミラー・メンバに作成する必要があります。ミラーリングされるデータベースが読み取り専用であるバックアップには作成できません。

InterSystems IRIS によるミラーリングされるデータを使用した相互運用対応ネームスペースの処理方法

InterSystems IRIS では、相互運用対応ネームスペースのマッピングを検査し、ミラーリングされるデータベースからのマッピングがネームスペースに含まれているか判断し、以下のような結果を導きます。

  • 相互運用対応ネームスペースを含むミラー・メンバを起動またはアップグレードすると、プロダクションはプライマリのみで起動されます。

  • InterSystems IRIS のアップグレード時に、特定のタスクにはデータベースへの書き込みアクセス権が必要です。これらのタスクはプライマリ・ミラー・メンバでのみ実行されます。

  • フェイルオーバーが発生して、メンバがプライマリ・ミラー・メンバになると、アップグレード時にはスキップされていた (その時点ではプライマリではなかったため) タスクがすべて、プロダクションの起動前に実行されます。

ミラーリング環境におけるプロダクションの自動開始の機能

ミラー・システムの起動時に (この時点では、まだいずれのメンバもプライマリ・フェイルオーバー・メンバになっていません)、以下のようになります。

  1. InterSystems IRIS では、ミラーリングされるデータにアクセスするプロダクションは、^Ens.AutoStart で指定されている場合でも起動されることはありません。メンバがプライマリ・インスタンスになると、その時点でこれらのプロダクションは起動されます。

  2. InterSystems IRIS により、ミラーリングされるデータにアクセスしないネームスペースがインスタンス上にあるかどうかが判別されます。前述のとおり、ミラー・メンバにはミラーリングされるプロダクションのみをインストールすることをお勧めしています。それでも、ミラーリングされないデータベースと共にプロダクションがインストールされている場合、InterSystems IRIS によりそのプロダクションは ^Ens.AutoStart で指定して起動されます(このロジックによって、ミラーリングされないネームスペースがミラー・メンバ上にインストールされている場合、InterSystems IRIS 起動時に起動されます)。

後で、メンバがプライマリ・フェイルオーバー・メンバになったとき、InterSystems IRIS は、ミラーリングされるデータを参照するネームスペースを検索し、それらのネームスペースでプロダクションを起動できるようにします。インターシステムズの推奨設定に従っていれば、インスタンスがプライマリ・ミラー・メンバになる前に、ミラーリングされるデータにアクセスするプロダクションは実行しません。InterSystems IRIS ではまず、起動前にプロダクションが実行中でないかどうかが確認されます。具体的には以下の処理が実行されます。

  1. InterSystems IRIS により、ネームスペースで _Ensemble ユーザとして実行されているジョブを数えることによって、プロダクションが既に実行中でないかどうかが判別されます。そのようなジョブが 3 個以上ある場合、これはプロダクションが既に実行中であることを示しており、InterSystems IRIS によりメッセージ・ログに警告が記録され、そのプロダクションの起動は試行されません。

  2. 予想どおりにプロダクションが実行中でない場合、InterSystems IRIS により、プロダクションは ^Ens.AutoStart で指定して自動的に起動されます。

プロダクションの起動と停止の詳細は、"プロダクションの管理" の “プロダクションの開始と停止” の章を参照してください。

インターシステムズの医療製品のミラーリングに関する考慮事項

InterSystems IRIS for Health および HealthShare® Health Connect でミラーリングを使用する際は、いくつかの特別な考慮事項があります。その他の HealthShare 製品には、独自のミラーリングに関するドキュメントがあることに注意してください。以下の考慮事項は、これらの製品には必ずしも適用されません。

ミラーリングを適用する場合は、Foundation ネームスペースの設定時に [Mirror Database] オプションを選択する必要があります。"InterSystems IRIS for Health インストール・ガイド" または "HealthShare Health Connect インストール・ガイド" の “インストーラ・ウィザードの使用” を参照してください。

IRIS for Health または Health Connect のシステムをミラーリングする場合は、バックアップ・メンバの HSSYS ネームスペースでミラー・タスクを必ず手動でスケジュールする必要があります。このタスクをスケジュールすることで、Mirror Monitor Agent が確実に実行されます。このエージェントは、バックアップ・ミラー・インスタンス上で実行され、IRISSYS に保存されたミラーリングされていない項目をプライマリとバックアップとの間で同期します。このミラー・タスクをスケジュールするには、バックアップ・メンバのターミナルを開き、以下のように入力します。

do ##class(HS.Util.Mirror.Task).Schedule("HSSYS")

データベースをミラーリングする際は、以下の点に留意してください。

  • HSLIB をミラーリングしないでください。

  • HSSYS はミラーリングする必要があります

  • HSCustom をミラーリングして、カスタム・コードを同期された状態に保つことができます。

FeedbackOpens in a new tab