Sun Java System Calendar Server 6.3 管理ガイド

第 5 章 Calendar Server バージョン 6.3 での複数のマシンへのカレンダデータベースの分散の設定

この章では、カレンダデータベースを複数のバックエンドサーバーに分散させることを可能にするカレンダ検索データベース (CLD) プラグインの使用方法について説明します。CLD プラグインを有効にして設定する必要があります。


注意 – 注意 –

フロントエンドサーバーとバックエンドサーバーの両方で同じバージョンの Calendar Server を実行する必要があります。


この章の内容は次のとおりです。


ヒント –

CLD プラグインのパフォーマンスを向上させる方法については、第 21 章「Calendar Server のパフォーマンスの調整」を参照してください。


5.1 Calendar Server バージョン 6.3 での CLD プラグインの基礎的な情報

この節では、CLD プラグインを実際に有効化および設定する前に理解しておく必要がある、概要および基礎的な情報を提供します。

ここでは、次の内容について説明します。

5.1.1 Calendar Server バージョン 6.3 での CLD プラグインの概要

カレンダ検索データベース (CLD) プラグインは単一カレンダインスタンス用の多数のバックエンドサーバーにユーザーカレンダとリソースカレンダを分散することによって、カレンダデータベースの水平方向のスケーラビリティーを提供します。複数のバックエンドサーバーにカレンダデータベースを配布している場合、Calendar Server は CLD プラグインを使用してカレンダが実際に格納されているサーバーを特定します。

Calendar Server は、DWP (データベースワイヤプロトコル) を使用してバックエンドサーバー上のカレンダデータにアクセスします。DWP は csdwpd サービスとして実行される内部プロトコルで、カレンダデータベースのネットワーク機能を提供します。

5.1.2 Calendar Server バージョン 6.3 での CLD プラグインのしくみ

Calendar Server は、バックエンドサーバー上のカレンダデータに次のようにアクセスします。

  1. エンドユーザーが Communications Express を使用してカレンダにアクセスすると、CLD プラグインはカレンダの calid から userid を取り出し、LDAP ディレクトリデータベースまたは CLD データキャッシュ (有効な場合) でカレンダの所有者を検索します。フロントエンドのマシンを設定する方法については、「CLD 用にフロントエンドサーバーを設定するには」を参照してください。

  2. カレンダの所有者が特定されると、プラグインはその icsDWPHost LDAP 属性の値を使用してカレンダが存在するバックエンドサーバーのホスト名を決定します。このホスト名は、DNS (ドメイン名サービス) によって有効な IP アドレスに解決する必要があります。

  3. Calendar Server は、ホスト名を使用して、DWP (データベースワイヤプロトコル) でバックエンドサーバー上のカレンダデータにアクセスします。

  4. Calendar Server は、ユーザーがログインしているサーバーに DWP でカレンダデータを送信するため、そのデータをユーザーインタフェースで表示できます。


ヒント –

サイトで CLD プラグインを使用している場合、同じユーザー用に作成されたすべてのカレンダが、LDAP ユーザーエントリの icsDWPHost LDAP 属性によって指定されているのと同じバックエンドサーバーに格納される必要があります。別のバックエンドサーバーにカレンダを作成しようとすると、Calendar Server はエラーを返します。


5.1.3 Calendar Server バージョン 6.3 での CLD プラグインでサポートされる構成

ここでは、CLD プラグインについての概要を説明します。

CLD プラグインは、次の Calendar Server 構成をサポートしています。


ヒント –

すべての設定において、フロントエンドとバックエンドの各サーバーは、次の条件を満たす必要があります。


5.1.3.1 Calendar Server バージョン 6.3 での複数のフロントエンドサーバーと複数のバックエンドサーバー

図 5–1 は、1 つの Calendar Server インスタンスが稼動する 2 つのフロントエンドサーバーと 2 つのバックエンドサーバーを示しています。必要に応じて 3 つ以上のフロントエンドまたはバックエンドサーバーを導入することもできます。

この構成では、サーバーをファイアウォールで保護し、LDAP データベースとカレンダデータベースへのアクセスを制限することができます。カレンダデータベースは 2 つのバックエンドサーバーに分散されます。

フロントエンドサーバーは CPU を多用します。ほとんどの CPU 時間は、エンドユーザーへのカレンダデータの表示に使用されます。バックエンドサーバーはディスクを多用します。ほとんどの CPU 時間は、カレンダデータベースへのアクセスに使用されます。

構成の詳細については、「5.2 CLD および DWP 用の Calendar Server の設定」を参照してください。

図 5–1 複数のフロントエンドサーバーと複数のバックエンドサーバー

これは、フロントエンドサーバーとバックエンドサーバーが複数あるシステムの例を示しています。

5.1.3.2 Calendar Server バージョン 6.3 でフロントエンドサーバーとバックエンドサーバーの両方の機能を持つ複数のマシン

図 5–2 は、フロントエンドサーバーとバックエンドサーバーの両方の機能を持つ 3 つのマシンを示しています。各マシンは、1 台のカレンダデータベースに接続されています。この構成では、カレンダを物理的に分散することができます。カレンダの所有者 (エンドユーザー) は、所有しているカレンダが格納されているマシンにログインします。構成の詳細については、「フロントエンドサーバーとバックエンドサーバーを同じマシンに設定するには」を参照してください。

図 5–2 フロントエンドサーバーとバックエンドサーバーの両方の機能を持つ複数のマシン

この図は、フロントエンドサーバーとバックエンドサーバーの両方の機能を持つマシンの例を示しています。

5.1.4 Calendar Server 6.3 のストレージ要件の簡単なサイジング式

ここでは、メディア使用状況プロファイルに基づいていくつかの簡単な数式を使った簡単なサイジング式について説明します。これによって、必要なバックエンドサーバー数とフロントエンドサーバー数、およびストレージの容量を算出できます。

この節の内容は次のとおりです。

5.1.4.1 Calendar Server 6.3 配備でのメディア使用状況プロファイルの定義

ここでは大まかに、次のような状況を想定します。

5.1.4.2 フロントエンドCPU の数

数式は次のとおりです。

CPU 数 = 並行ユーザー数 / 4800

5.1.4.3 バックエンドCPU の数

数式は次のとおりです。

CPU 数 = 設定済みの 500,000 ユーザーにつき 4 CPU

5.1.4.4 必要なストレージの容量

数式は次のとおりです。

1 ユーザーあたりのストレージの容量 = 電子メール 100 件 / 週 × 52 週 / 年 × 5K / メール × オンラインでデータを維持する年数 x オンラインのコピー数 (5 バックアップ + 1 作業コピー) = 100*52*5K*2*(5+1) = 1 ユーザーあたり 65M バイトのストレージ。

つまり、2.6M バイト / ユーザー / 年 / オンラインコピー。


注 –

最終的な数字は、オンラインで維持するホットバックアップとアーカイブバックアップの数によって決まります。この例で使用する数は、バックアップコピー 5 つです。


5.2 CLD および DWP 用の Calendar Server の設定

ここでは、CLD および DWP 用にサーバーを設定する方法について説明します。

ここでは、次の内容について説明します。

ProcedureCLD 用にフロントエンドサーバーを設定するには

  1. すべてのフロントエンドサーバーで、設定を変更する権限を持つ管理者としてログインします。

  2. /etc/opt/SUNWics5/cal/config ディレクトリに移動します。

  3. 古い ics.conf ファイルをコピーして名前を変更し、保存します。

  4. 次のリストに示すように、ics.conf パラメータを編集します。

    パラメータ

    説明

    csapi.plugin.loadall

    cs_ で始まるすべてのプラグインを cal-svr-base/SUNWics5/cal/bin/plugins ディレクトリにロードする場合は、すべてのフロントエンドサーバーでこの値を “y” に設定します。

    csapi.plugin.calendarlookup.name に名前が含まれる特定のプラグインのみをロードする場合は、“n” に設定します。

    csapi.plugin.calendarlookup

    このパラメータを "yes" に設定します。

    csapi.plugin.calendarlookup.name

    プラグインの名前 "calendarlookup" に設定します。すべてのプラグインをロードする場合は、"*" に設定します。

    caldb.cld.type

    カレンダを複数のバックエンドに分散させるか (“directory” に設定)、またはカレンダを Calendar Server のインストール先と同じサーバーに格納するか (デフォルト値 “local” に設定) を指定します。

    service.dwp.enable

    フロントエンドマシンがバックエンドマシンとしても機能しない場合、DWP サービスを無効にします。次に例を示します。service.dwp.enable="no"

    service.dwp.port

    デフォルトのポートは “59979” です。すべてのフロントエンドサーバーとバックエンドサーバーに同じポート番号を指定する必要があります。

    service.store.enable

    このパラメータはデフォルトで有効 (値 = "yes") になっています。これは設定ファイル (ics.conf) には表示されません。

    無効 (値 = "no") にしたい場合は、設定ファイルに追加する必要があります。

    caldb.dwp.server. backend-server-n.ip

    これは多値パラメータです。Calendar Server 配備内のバックエンドサーバーごとに 1 つの ics.conf パラメータを作成します。このパラメータの値は、バックエンドサーバーのホスト名です。サーバー名は完全修飾名で指定します。この名前は、DNS (ドメイン名サービス) によって有効な IP アドレスに解決する必要があります。サーバー名は、パラメータの名前と値の両方で同一であり、完全修飾名である必要があります。

    次に例を示します。

    caldb.dwp.server.calendar1.sesta.com="calendar1.sesta.com"
    caldb.dwp.server.calendar2.sesta.com="calendar2.sesta.com"
    caldb.dwp.server.default

    ユーザーまたはリソースの LDAP エントリが icsDWPHost 属性を持たない場合、システムが使用するデフォルトの DWP サーバー名を設定します。サーバー名は完全修飾名であり、DNS によって解決可能でなければなりません。

    次に例を示します。

    caldb.dwp.sever.default="calendar1.sesta.com"
    local.authldaphost

    Directory Server がインストールされているホストの名前。デフォルトは "localhost" です。

    local.ugldaphost

    LDAP ユーザー設定が格納されているホストの名前。ユーザー設定を別の LDAP ホストに格納しない場合は、local.authldaphost と同じ値に設定してください。

    service.ens.enable

    このパラメータを "no" に設定して、このフロントエンドサーバーの ENS (予定通知サービス) (enpd) を無効にします。

    ENS は、バックエンドサーバーでのみ有効にしてください。

    caldb.serveralarms

    "0" に設定して、フロントエンドのサーバーアラームを無効にします。

    サーバーアラームは、バックエンドサーバーでのみ有効 ("1") にしてください。

    caldb.serveralarms.dispatch

    このパラメータを "no" に設定して、アラームディスパッチャーを無効にします。

    アラームディスパッチャーは、バックエンドサーバーでのみ有効 ("yes") にしてください。

    service.notify.enable

    このパラメータを "no" に設定して、通知サービスを無効にします。

    通知サービスは、バックエンドサーバーでのみ有効 ("yes") にしてください。

    caldb.berkeleydb.archive.enable

    このパラメータを "no" に設定して、自動アーカイブバックアップサービスを無効にします。フロントエンドマシンでアーカイブを設定する必要はありません。

    caldb.berkeleydb.hotbackup.enable

    自動ホットバックアップサービスは無効に ("no" に設定) してください。フロントエンドマシンでホットバックアップを行う必要はありません。

  5. ファイルを ics.conf として保存します。

  6. Calendar Server を再起動します。

    cal-svr-base/SUNWics5/cal/sbin/start-cal

ProcedureCLD および DWP 用にバックエンドサーバーを設定するには

  1. すべてのバックエンドサーバーで、設定を変更する権限を持つ管理者としてログインします。

  2. /etc/opt/SUNWics5/cal/config ディレクトリに移動します。

  3. 古い ics.conf ファイルをコピーして名前を変更し、保存します。

  4. 次の表に示すように、ics.conf パラメータを編集します。

    パラメータ

    説明

    service.http.enable

    このパラメータを "no" に設定します。

    バックエンドサーバーでは HTTP は必要ありません。

    service.admin.enable

    このパラメータをデフォルト値の "yes" に設定して、管理サービス (csadmind) を有効にします。

    caldb.cld.type

    バックエンドのみのマシンの場合は、"local" に設定します。フロントエンドとバックエンドの両方のあるマシンの場合は、"directory" に設定します。

    csapi.plugin.calendarlookup

    このパラメータを "no" に設定します。

    バックエンドサーバーではプラグインは必要ありません。

    service.dwp.enable

    "yes" に設定すると、DWP を有効にします。

    service.dwp.port

    デフォルトのポートは “59979” です。すべてのフロントエンドサーバーとバックエンドサーバーに同じポート番号を指定する必要があります。

    caldb.dwp.server. backend-server-n.ip

    これは多値パラメータです。Calendar Server 配備内のバックエンドサーバーごとに 1 つの ics.conf パラメータを作成します。このパラメータの値は、バックエンドサーバーのホスト名です。サーバー名は完全修飾名で指定します。この名前は、DNS (ドメイン名サービス) によって有効な IP アドレスに解決する必要があります。サーバー名は、パラメータの名前と値の両方で同一であり、完全修飾名である必要があります。

    次に例を示します。

    caldb.dwp.server.calendar1.sesta.com="calendar1.sesta.com"
    caldb.dwp.server.calendar2.sesta.com="calendar2.sesta.com"
    caldb.dwp.server.default

    ユーザーまたはリソースの LDAP エントリが icsDWPHost 属性を持たない場合、システムが使用するデフォルトの DWP サーバー名を設定します。サーバー名は完全修飾名であり、DNS によって解決可能でなければなりません。

    次に例を示します。

    caldb.dwp.sever.default="calendar1.sesta.com"
    local.authldaphost

    Directory Server がインストールされているホストの名前。デフォルトは "localhost" です。

    local.ugldaphost

    LDAP ユーザー設定が格納されているホストの名前。ユーザー設定を別の LDAP ホストに格納しない場合は、このパラメータを local.authldaphost と同じ値に設定してください。

    service.ens.enable

    このパラメータを "yes" に設定して、バックエンドサーバーの ENS (予定通知サービス) (enpd) を有効にします。

    caldb.serveralarms

    サーバーアラームは、バックエンドサーバーでは有効("1") にしてください。

  5. ファイルを ics.conf として保存します。

  6. Calendar Server を再起動します。

    cal-svr-base/SUNWics5/cal/sbin/start-cal

Procedureフロントエンドサーバーとバックエンドサーバーを同じマシンに設定するには

  1. すべてのサーバーで、設定を変更する権限を持つ管理者としてログインします。

  2. /etc/opt/SUNWics5/cal/config ディレクトリに移動します。

  3. 古い ics.conf ファイルをコピーして名前を変更し、保存します。

  4. 次の表に示すように、ics.conf パラメータを編集します。

    パラメータ

    説明

    csapi.plugin.loadall

    cs_ で始まるすべてのプラグインを cal-svr-base/SUNWics5/cal/bin/plugins ディレクトリにロードする場合は、すべてのフロントエンドサーバーでこの値を “y” に設定します。

    csapi.plugin.calendarlookup.name に名前が含まれる CLD プラグインのみをロードする場合は、“n” に設定します。

    csapi.plugin.calendarlookup

    このパラメータを "yes" に設定します。

    csapi.plugin.calendarlookup.name

    すべてのプラグインをロードする場合は、"*" に設定します。

    CLD プラグインのみをロードする場合は、プラグインの名前 "calendarlookup" に設定します。

    caldb.cld.type

    カレンダを複数のバックエンドに分散させるか (“directory” に設定)、またはカレンダを Calendar Server のインストール先と同じサーバーに格納するか (デフォルト値 “local” に設定) を指定します。

    service.dwp.enable

    "yes" に設定すると、DWP を有効にします。

    service.dwp.port

    デフォルトのポートは “59979” です。すべてのフロントエンドサーバーとバックエンドサーバーに同じポート番号を指定する必要があります。

    caldb.dwp.server. backend-server-n.ip

    これは多値パラメータです。Calendar Server 配備内のバックエンドサーバーごとに 1 つの ics.conf パラメータを作成します。このパラメータの値は、バックエンドサーバーのホスト名です。サーバー名は完全修飾名で指定します。この名前は、DNS (ドメイン名サービス) によって有効な IP アドレスに解決する必要があります。サーバー名は、パラメータの名前と値の両方で同一であり、完全修飾名である必要があります。

    次に例を示します。

    caldb.dwp.server.calendar1.sesta.com="calendar1.sesta.com"
    caldb.dwp.server.calendar2.sesta.com="calendar2.sesta.com"
    caldb.dwp.server.default

    ユーザーまたはリソースの LDAP エントリが icsDWPHost 属性を持たない場合、システムが使用するデフォルトの DWP サーバー名を設定します。サーバー名は完全修飾名であり、DNS によって解決可能でなければなりません。

    次に例を示します。

    aldb.dwp.sever.default="calendar1.sesta.com"
    local.authldaphost

    Directory Server がインストールされているホストの名前。デフォルトは“localhost” です(フロントエンドと同じサーバーで)。

    local.ugldaphost

    LDAP ユーザー設定が格納されているホストの名前。ユーザー設定を別の LDAP ホストに格納しない場合は、このパラメータを local.authldaphost と同じ値に設定してください。

    service.ens.enable

    "yes" に設定して、ENS を有効にします。

    caldb.serveralarms

    サーバーアラームは、バックエンドサーバーでは有効("1") にしてください。

    caldb.serveralarms.dispatch

    アラームディスパッチャーは、バックエンドサーバーでは有効 ("yes") にしてください。

    service.notify.enable

    通知サービスは、バックエンドサーバーでは有効 ("yes") にしてください。

    caldb.berkeleydb.archive.enable

    自動アーカイブバックアップサービスは、バックエンドシステムでは有効に ("yes" に設定) してください。

    caldb.berkeleydb.hotbackup.enable

    自動ホットバックアップサービスは、バックエンドシステムでは有効に ("yes" に設定) してください。

  5. ファイルを ics.conf として保存します。

  6. Calendar Server を再起動します。

    cal-svr-base/SUNWics5/cal/sbin/start-cal

5.3 Calendar Server バージョン 6.3 でのフロントエンドサーバーとバックエンドサーバーの間のセキュリティーの管理

フロントエンドサーバーとバックエンドサーバーの間でパスワード認証を設定できます。ここでは、両サーバー間のセキュリティー保護された通信の設定方法と、それがどのように機能するかについて説明します。

ここでは、次の内容について説明します。

5.3.1 Calendar Server バージョン 6.3 での認証の行われ方

フロントエンドサーバーは DWP (データベースワイヤプロトコル) を使用してバックエンドサーバーと通信します。DWP は転送メカニズムとして HTTP を使用するため、Calendar Server は構成パラメータを使用して、フロントエンドサーバーとバックエンドサーバーの間の DWP 接続を認証します。

フロントエンドサーバーは、バックエンドサーバーへの最初の接続時に、ics.conf ファイルに指定されたユーザーID とパスワードを送信します。バックエンドサーバーは、ics.conf ファイルのパラメータをチェックし、一致すると、認証は成功します。バックエンドサーバーは、次にセッション ID をフロントエンドサーバーに返します。フロントエンドサーバーは、バックエンドサーバーへの以後の DWP コマンドの送信時にこのセッション ID を使用します。

同じフロントエンドサーバーからの以後の接続では認証は必要ありません。ただし、バックエンドサーバーを再起動したり、2 つのサーバー間でアクティビティがないためにセッションがタイムアウトしたりした場合には認証が必要となります。

フロントエンドサーバーとバックエンドサーバーが複数ある場合は、それぞれで同じユーザー ID とパスワードを使用できます。

バックエンドサーバーがパスワードを指定しない場合、認証は行われません。

ProcedureCalendar Server バージョン 6.3 でフロントエンドサーバーの DWP 接続の認証を設定するには

始める前に

注意 – 注意 –

次のパラメータは、ics.conf ファイルのインストール済みバージョンには含まれません。DWP 接続の認証を行う場合は、各フロントエンドサーバーの ics.conf ファイルに必要なパラメータを追加する必要があります。


  1. すべてのフロントエンドサーバーで、設定を変更する権限を持つ管理者としてログインします。

  2. /etc/opt/SUNWics5/cal/config ディレクトリに移動します。

  3. 古い ics.conf ファイルをコピーして名前を変更し、保存します。

  4. ics.conf パラメータを、次のリストに示すように追加します。

    パラメータ

    説明

    caldb.dwp.server.back-end-server.admin

    フロントエンドサーバーで、バックエンドサーバーとの DWP 接続の認証に使用される管理者のユーザー ID を指定します。back-end-server はサーバー名です。

    caldb.dwp.server.back-end-server.cred

    フロントエンドサーバーで、バックエンドサーバーとの DWP 接続の認証に使用されるパスワードを指定します。back-end-server はサーバー名です。

  5. ファイルを ics.conf として保存します。

  6. Calendar Server を再起動します。

    cal-svr-base/SUNWics5/cal/sbin/start-cal

ProcedureCalendar Server バージョン 6.3 でバックエンドサーバーの DWP 接続の認証を設定するには

始める前に

注意 – 注意 –

次のパラメータは、ics.conf ファイルのインストール済みバージョンには含まれません。DWP 接続の認証を行う場合は、各バックエンドサーバーの ics.conf ファイルに必要なパラメータを追加する必要があります。


  1. すべてのバックエンドサーバーで、設定を変更する権限を持つ管理者としてログインします。

  2. /etc/opt/SUNWics5/cal/config ディレクトリに移動します。

  3. 古い ics.conf ファイルをコピーして名前を変更し、保存します。

  4. 次の表に示すように、ics.conf パラメータを追加します。

    パラメータ

    説明

    service.dwp.admin.userid

    バックエンドサーバーで、DWP 接続の認証に使用するユーザー ID を指定します。バックエンドサーバーがユーザー ID を指定しない場合、認証は行われません。

    service.dwp.admin.cred

    バックエンドサーバーで、DWP 接続の認証に使用するパスワードを指定します。バックエンドサーバーがパスワードを指定しない場合、認証は行われません。

  5. ファイルを ics.conf として保存します。

  6. Calendar Server を再起動します。

    cal-svr-base/SUNWics5/cal/sbin/start-cal