マルチライト レプリケーションの有効化

このセクションでは、マルチライト レプリケーションを有効にする方法について説明します。
cad140jp
このセクションでは、マルチライト レプリケーションを有効にする方法について説明します。
設定ファイルを使用したマルチライト レプリケーションの有効化
設定ファイルを使用してマルチライト レプリケーションを有効にする方法
  1. 共有のナレッジに、DSA フラグの multi-write および no-service-while-recovering を以下のように追加します。
    set dsa dsaname = { ... dsa-flags = multi-write, no-service-while-recovering ... ... };
  2. DSA を再起動します。
テキストベースの設定で 2 つの DSA 間の Multiwrite レプリケーションを有効にする手順
この例では、2 つの DSA が 2 つの異なるサーバ上にあると仮定しています。
  • Server1 には DSA1 があります。
  • Server2 には DSA2 があります。
DSA1 と DSA2 の間の Multiwrite レプリケーションを有効にするには、以下の手順に従います。
  1. DSA を停止します。
    Server1: DXServer によって DSA1 が停止されます。
    Server2: DXServer によって DSA2 が停止されます。
  2.  server1 の Multiwrite を有効にするには、$DXHOME/config/knowledge/dsa1.dxc に移動し、「
    dsa-flags = multi-write
    」を更新します。
    set dsa "dsa1" = {
    prefix = <c US><o CA>
    dsa-name = <c US><o CA><cn "dsa1"> dsa-password = "secret" address = tcp "{hostname}" port 20000 disp-psap = DISP snmp-port = 20000 console-port = 20001 auth-levels = anonymous, clear-password
    dsa-flags = multi-write
    trust-flags = allow-check-password };
  3. 同様に、サーバ 2 で Multiwrite を有効にするには、$DXHOME/config/knowledge/dsa2.dxc に移動し、「
    dsa-flags = multi-write
    」を更新します。
    set dsa "DSA2" = 
    {
    prefix = <dc com><dc test>
    dsa-name = <dc com><dc test><cn DSA2>
    dsa-password = "secret"
    address = tcp "GURPR03-7470" port 2000
    disp-psap = DISP
    snmp-port = 2000
    console-port = 2001
    remote-console-ssl = false
    auth-levels = anonymous, clear-password
    dsp-idle-time = 600
    credits = 1000000
    dsa-flags = multi-write
    };
    : レプリケーションが機能するには、DSA1 と DSA2 でプレフィックスが同じである必要があります。
  4. 各 DSA のナレッジ ファイルが追加される場所にナレッジ グループ ファイルを作成することができます。これにより、DSA 用の個別のナレッジ ファイルをソースする代わりに、各初期化ファイル(.dxi)からナレッジ グループにソースできるようになります。$DXHOME/config/knowledge に移動し、Server1 のナレッジ グループ「dsas.dxg」を作成します。これには、DSA1 および DSA2 用の以下のナレッジ ファイルが含まれています。
    source "dsa1.dxc"
    source "dsa2.dxc"
    : DSA1 と DSA2 用にナレッジ グループ ファイルがすでに存在している場合は、それを更新することで、DSA1 と DSA2 の両方に確実にソースすることができます。
  5. Server1 を更新して新しくコピーしたナレッジ グループにソースするには、$DXHOME/config/servers/dsa1.dxi に移動して、以下の行を見つけます。
    clear dsas; source "../knowledge/dsa1.dxc";
    それを、以下の行に置き換えます。
    clear dsas; source "../knowledge/dsas.dxg";
  6. 以下のファイルを server2 にコピーします。
    •  server1 で $DXHOME/config/knowledge フォルダに移動し、dsa1.dxc ファイルを server2 の $DXHOME/config/knowledge フォルダにコピーします。
    •  server1 で $DXHOME/config/knowledge フォルダに移動し、dsa2.dxc ファイルを server2 の $DXHOME/config/knowledge フォルダにコピーします。
    •  server1 で $DXHOME/config/knowledge フォルダに移動し、dsas.dxg ファイルを server2 の $DXHOME/config/knowledge フォルダにコピーします。
      : 1 つのサーバのナレッジを更新し、それをコピーすることをお勧めします。これにより、整合性が維持されます。
  7. Server2 を更新して新しくコピーしたナレッジ グループにソースするには、$DXHOME/config/servers/dsa2.dxi に移動して、以下の行を見つけます。
    clear dsas; source "../knowledge/dsa1.dxc";
    それを、以下の行に置き換えます。
    clear dsas; source "../knowledge/dsas.dxg";
  8. すべての DSA を起動します。
    Server1: DXServer によって DSA1 が停止されます。
    Server2: DXServer によって DSA2 が停止されます。
  9. dsa の構文エラーを確認するには、以下のコマンドを使用します。
     dxsyntax [dsaname]
    詳細については、「DXsyntax ツール」を参照してください。
パーシャル マルチライトがデータのサブセットをレプリケートできるようにする
管理者は、パーシャル マルチライト レプリケーションを使用して、マルチ書き込みされるエントリの内容を特定の DSA、たとえば DMZ 内にある DSA に制限できます。これらの DSA には、制限後も更新は送信されますが、これらの更新で指定された属性は指定されたサブセットに制限されます。
当該のピア DSA のナレッジで 'multi-write-attrs' を設定することで、パーシャル マルチライト レプリケーションをピアに設定できます。ディレクティブは、'load-share-group' の後、'dsa-flags' の前に発生する必要があります。
例:
set dsa "test" = { ...
multi-write-attrs = cn, surname, objectClass
dsa-flags = multi-write
};
マルチライトは、'dsa-flags' ディレクティブでも設定する必要があります。
注:
  • レプリケートされる属性には、完全なディレクトリ情報ツリーを形成するだけの十分な情報を含める必要があります。
  • パーシャル マルチライト レプリケーションは、MW-DISP リカバリではサポートされていません。
マルチライト グループに DSA を含める。
マルチライト グループに DSA を含める方法
  1. 以下に従って、DSA の共有ナレッジでマルチライト グループを定義します。
    set dsa dsaname = { ... multi-write-group = group-name dsa-flags = ... ... };
    group-name
    に同じ値を持つ DSA は、すべて同じマルチライト グループになります。
  2. DSA を再起動します。
DSA のマルチライト ステータスの表示
get dsp
コンソール コマンドは、DSA の現在の DSP 設定値を示します。このコマンドの出力では、存在する場合、Multiwrite キューまたは回復通知リストが表示されます。
  1. DSA のマルチライト ステータスを表示するには、DSA コンソール上で以下のコマンドを入力します。
    get dsp;
    詳細については、「get dsp コマンド」を参照してください。
    例: dsa1 のレプリケーション ステータスを確認する方法
    server1: telnet localhost 20001
    server1: get dsp;
    server1: logout;
    ...
    ...
    multi-write-group-credit = 0
    multi-write-outstanding-ops = 10
    dsa2: OK, total 0, waiting remote 0, confirmed local 0
    例: dsa2 のレプリケーション ステータスを確認する方法
    server2: telnet localhost 20001
    server2: get dsp;
    server2: logout;
    ...
    ...
    multi-write-group-credit = 0
    multi-write-outstanding-ops = 10
    dsa1: OK, total 0, waiting remote 0, confirmed local 0
  2. レプリケーションが動作していることを確認する別の方法として、以下の手順に従います。
    1. LDAP ブラウザ(JXplorer など)を使用して dsa1 に接続します。
    2. 修正を行います。
    3. dsa2 に接続し、更新がレプリケートされていることを確認します。
    「OK」以外のレプリケーション ステータスが表示される場合、レプリケーションに問題があるか、dsa 間に接続に関する問題があることを示します。このような場合、警告またはアラーム ログで詳細を確認してください。