Oracle Fusion Middleware Oracle Internet Directory管理者ガイド 11g リリース1(11.1.1) B55919-02 |
|
前 |
次 |
この章の項目は次のとおりです。
10g(10.1.4.0.1)以降、Oracle Internet Directoryでは、1つのサプライヤからもう1つのサプライヤへのLDAPレプリケーションのフェイルオーバーをサポートしています。これには管理者操作が必要です。図39-1に、一般的なフェイルオーバーの使用例を示します。
この使用例には、次の機能があります。
Apple、BananaおよびCandyは、同じDRG内のマルチマスター・レプリカです。
Damsonは、Bananaの読取り専用ファンアウト・レプリカです。つまり、一方向LDAPレプリケーションを使用した部分レプリカです。
Eggplantは、Bananaの更新可能なファンアウト・レプリカです。つまり、双方向LDAPレプリケーションを使用した部分レプリカです。
Bananaが停止すると、マルチマスターDRGとそのファンアウト・レプリカ間のレプリケーションは中断されます。
管理者は、EggplantとDamsonを新しいサプライヤのCandyに切り替えることができます。
フェイルオーバー・トポロジは2つのタイプのみがサポートされています。
コンシューマと新規サプライヤは、どちらもLDAPベース・レプリケーションにより旧サプライヤに接続されます。これは、図39-2に示されています。ノード1とノード3はどちらも、ノード2とのLDAPレプリケーション承諾を持っています。ノード2は、ノード1の元のサプライヤです。ノード2が機能しなくなると、ノード1を新規のサプライヤ、ノード3にフェイルオーバーできます。
コンシューマは、LDAPベース承諾により旧サプライヤに接続され、旧サプライヤは同じアドバンスト・レプリケーション・グループ内で新規のサプライヤとして機能します。これは、図39-3に示されています。ノード2とノード3は、同じアドバンスト・レプリケーションDRG内にあります。ノード2は、ノード4の元のサプライヤです。ノード4が機能しなくなると、ノード4を新規のサプライヤ、ノード3にフェイルオーバーできます。
この項では、レプリケーション・フェイルオーバーの使用に関する制限事項と警告について説明します。
Oracle Internet Directory 11g リリース1(11.1.1)では、レプリケーション・フェイルオーバーには、管理者の操作が必要です。
フェイルオーバーの直後に、管理者はコンシューマと新規サプライヤを比較し、調整する必要があります。
新規の承諾は、旧承諾と同じタイプと方向のものであることが必要です。
2つのトポロジ・タイプのみがサポートされています。
サプライヤが機能しなくなると、直接接続しているレプリカは、同様にそのサプライヤに接続している別のレプリカに対してのみフェイルオーバーができます。
新規サプライヤと旧サプライヤ間の承諾のレプリケーション・フィルタリング・ポリシーは、旧サプライヤとコンシューマ間の承諾と一致させる必要があります。
ほとんどの場合、レプリカは元のレプリカ・タイプを維持する方法でフェイルオーバーする必要があります。図39-4に示した例では、ノード2は、ノード1とノート3の両方にとっての旧サプライヤであり、ノード1は読取り専用です。ノード2が機能しなくなった場合、理論上は、ノード1またはノード3のいずれかを新しいサプライヤ・ノードとして設定できます。しかし、ベスト・プラクティスは、ノード1をフェイルオーバーして、ノード3をサプライヤにすることです。この方法により、ノード1の元の読取り専用レプリカ・タイプが維持されます。
新規の承諾が双方向承諾の場合、コンシューマをその新しいサプライヤと比較し、調整した後、新しいサプライヤと接続しているその他すべてのレプリカについても、新しいサプライヤと比較し、調整する必要があります。たとえば、図39-5では、ノード2にはノード3との双方向承諾があります。ノード3は、もう1つのレプリカ、ノード4に接続しています。ノード2が機能しなくなると、ノード3とノード1の双方向承諾を設定します。ノード3をノード1と比較、調整した後、ノード4もノード3と比較、調整し、レプリカを確実に同期化します。
レプリケーション・フェイルオーバーには2つのタイプがあります。次のタイプです。
ステートレス
時間ベース
事前にフェイルオーバーを計画できない場合は、ステートレス・フェイルオーバーを使用します。ステートレス・レプリケーション・フェイルオーバーでは、レプリカの状態について想定は行いません。いつでも新しいサプライヤにフェイルオーバーできます。ステートレス・フェイルオーバーには、フェイルオーバー後、ノードを同期化するためにより多くの作業が必要です。
計画的なフェイルオーバーには、時間ベース・フェイルオーバーを使用します。時間ベース・フェイルオーバーは、フェイルオーバー後の作業が少なくなります。ただし、後続の想定がフェイルオーバー時に必ず当てはまるように、事前に時間を設定する必要があります。
ノードは大部分は同期化されます。
新規のサプライヤは、完全な同期化がすぐに実行できるように、変更ログを保存しています。
この項では、ステートレス・レプリケーション・フェイルオーバーの実行方法について説明します。次のタスクを説明します。
新規サプライヤ、旧サプライヤおよびコンシューマ上のOracleディレクトリ・レプリケーション・サーバーを、次のように入力することにより停止します。
oidctl connect=connStr server=oidrepld instance=1 componentname=oidComponentName \ flags="-h LdapHost -p LdapPort" stop
旧サプライヤとコンシューマ間の古いレプリケーション承諾を破棄し、新規サプライヤとコンシューマ間の新規承諾を設定します。このタスクは、レプリケーション環境管理ツールを使用して行います。次のように入力します。
remtool -pchgmaster [-v] [-bind consumer_host::port_number]
replication_dn_password
の入力を要求されます。
関連項目: Oracle Fusion Middleware Oracle Identity Managementリファレンスのremtool コマンドライン・ツールのリファレンスを参照してください |
新規サプライヤから最後に適用された変更番号を取得します。
一方向承諾の場合、次のコマンドを使用します。
ldapsearch -h new_supplier_host -p port_number -b "" \ -s base "objectclass=*" lastchangenumber
双方向承諾の場合、次のコマンドを使用します。
ldapsearch -h consumer_host -p port_number -b "" \ -s base "objectclass=*" lastchangenumber
この番号を保存します。
Oracle Internet Directory比較調整ツールを使用して、新規サプライヤとコンシューマを比較し、調整します。一方向承諾の場合は、次のように入力します。
oidcmprec operation=reconcile \ source=new_supplier_host:port \ destination=consumer_host:port \ base='""' scope=sub
双方向承諾の場合は、次のように入力します。
oidcmprec operation=merge \ source=new_supplier_host:port\ destination=consumer_host:port/ \ base='""' scope=sub
ソースと宛先のレプリケーション識別名のパスワードを要求されます。
この例では、ディレクトリ全体がレプリケートされることを想定しており、したがって、base
は" "に設定されています。部分レプリケーションを使用する場合は、base
引数とdns2exclude
引数をoidcmprec
ツールに使用して、希望するDITを含めます。
関連項目: Oracle Fusion Middleware Oracle Identity Managementリファレンスのoidcmprec コマンドライン・ツールのリファレンス |
新規サプライヤ側で、検索の結果見つかった最後に適用された変更番号を使用して、新規の承諾を変更します。この手順は、次のとおりです。
「タスク3: 最後に適用された変更番号の保存」で取得した最後の変更番号により、LDIFファイルを作成します。
一方向承諾の場合、次のようになります。
dn: agreement_dn changetype: modify replace: orclLastAppliedChangeNumber;apply$new_supplier_host$consumer_host orclLastAppliedChangeNumber;apply$new_supplier_host$consumer_host: last_change_number_retrieved. - replace: orclLastAppliedChangeNumber;transport$new_supplier_host$consumer_host orclLastAppliedChangeNumber;transport$new_supplier_host$consumer_host: last_change_number_retrieved_from_new_supplier
双方向承諾の場合、次のようになります。
dn: agreement_dn changetype: modify replace: orclLastAppliedChangeNumber;apply$new_supplier_host$consumer_host orclLastAppliedChangeNumber;apply$new_supplier_host$consumer_host: last_change_number_retrieved_from_new_supplier - replace: orclLastAppliedChangeNumber;transport$new_supplier$consumer orclLastAppliedChangeNumber;transport$new_supplier$consumer: last_change_number_retrieved_from_new_supplier - replace: orclLastAppliedChangeNumber;apply$consumer_host$new_supplier_host orclLastAppliedChangeNumber;apply$consumer_host$new_supplier_host: last_change_number_retrieved_from_consumer - replace: orclLastAppliedChangeNumber;transport$consumer_host$new_supplier_host orclLastAppliedChangeNumber;transport$consumer_host$new_supplier_host: last_change_number_retrieved_from_consumer
ldapmodify
を使用して承諾を変更する方法は次のとおりです。
ldapmodify -D "cn=orcladmin" -q -h host_name -p port_number -f LDIF_file
「タスク2: 旧レプリケーション承諾の破棄と新規承諾の設定」の実行時に旧サプライヤが停止した場合、旧サプライヤ上の旧承諾はクリーンアップされません。ここで、レプリケーション環境管理ツールを使用して、これをクリーンアップします。次のように入力します。
remtool -pcleanup -agrmt [-v] [-bind consumer_host::port_number]
replication_dn_password
の入力を要求されます。
関連項目: Oracle Fusion Middleware Oracle Identity Managementリファレンスのremtool コマンドライン・ツールのリファレンスを参照してください |
新規サプライヤ、旧サプライヤおよびコンシューマ上のOracleディレクトリ・レプリケーション・サーバーを、次のように入力することにより起動します。
oidctl connect=connStr server=oidrepld instance=1 \ name=instance_name componentname=component_name \ flags="-h LdapHost -p LdapPort" start
この項では、時間ベース・レプリケーション・フェイルオーバーの実行方法について説明します。この項の内容は、次のとおりです。
新規サプライヤ上で、希望する期間(たとえば、24時間)の変更ログを保存するように変更ログ・パージ構成エントリを構成する手順は、次のとおりです。
次のようなLDIFファイルを作成します。
dn: cn=changelog purgeconfig,cn=purgeconfig,cn=subconfigsubentry changetype:modify replace: orclpurgetargetage orclpurgetargetage: 24
LDIFファイルを適用するために、次のように入力します。
ldapmodify -D "cn=orcladmin" -q -p port -h host -D dn -f LDIF_file
新規サプライヤから最後に適用された変更番号を、次のように取得します。
ldapsearch -h new_supplier_host -p port_number -D cn=orcladmin -q \ -b "" -s base "objectclass=*" lastchangenumber
この番号を保存します。
新規サプライヤで変更ログ再生成を、次のようにして有効化します。
次のようなLDIFファイルを作成します。
dn: changetype: modify replace: orcldiprepository orcldiprepository: TRUE
LDIFファイルを適用するために、次のように入力します。
ldapmodify -D "cn=orcladmin" -q -h host_name -p port_number -f LDIF_file
変更ログ・パージ構成エントリのorclpurgetargetage
の値未満の期間を待機します。
新規サプライヤ、旧サプライヤおよびコンシューマ上のOracleディレクトリ・レプリケーション・サーバーを、次のように入力することにより停止します。
oidctl connect=connStr server=oidrepld instance=1 \ componentname=oidComponentName \ flags="-h LdapHost -p LdapPort" stop
旧サプライヤとコンシューマ間の古いレプリケーション承諾を破棄し、新規サプライヤとコンシューマ間の新規承諾を設定します。このタスクは、レプリケーション環境管理ツールを次のように使用して行います。
remtool -pchgmaster [-v] [-bind hostname:port_number]
replication_dn_password
の入力を要求されます。
関連項目: Oracle Fusion Middleware Oracle Identity Managementリファレンスのremtool コマンドライン・ツールのリファレンスを参照してください |
新規サプライヤで、最後に適用された変更番号が、「タスク2: 新規サプライヤの最後に適用された変更番号の保存」で取得した値になるように、次のように新規承諾を変更します。
取得した最後に適用された変更番号を使用して、次のようなLDIFファイルを作成します。
dn: agreement_dn changetype: modify replace: orclLastAppliedChangeNumber orclLastAppliedChangeNumber: last_change_number_retrieved
ldapmodify
を使用して、LDIFファイルを承諾に適用します。
ldapmodify -D "cn=orcladmin" -q -h host_name -p port_number -f LDIF_file
「タスク6: 旧レプリケーション承諾の破棄と新規承諾の設定」の実行時に旧サプライヤが停止した場合、旧サプライヤ上の旧承諾はクリーンアップされません。ここで、レプリケーション環境管理ツールを使用して、これをクリーンアップします。次のように入力します。
remtool -pcleanup -agrmt [-v] [-bind hostname:port_number]
replication_dn_password
の入力を要求されます。
関連項目: Oracle Fusion Middleware Oracle Identity Managementリファレンスのremtool コマンドライン・ツールのリファレンスを参照してください |
新規サプライヤ、旧サプライヤおよびコンシューマ上のOracleディレクトリ・レプリケーション・サーバーを、次のように入力することにより起動します。
oidctl connect=connStr server=oidrepld instance=1 \ componentname=oidComponentName \ flags="-h LdapHost -p LdapPort" start
関連項目:
|