Sun Java ロゴ     前へ      目次      索引      次へ     

Sun ロゴ
Sun Java System Calendar Server 6 2005Q1 管理ガイド 

第 6 章
複数のマシンへのカレンダーデータベースの分散の設定

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


フロントエンドとバックエンドのマシン間で機能を分けている Calendar Server のインストールでは、それぞれのハードウェアプラットフォームを同じにする必要があります。

つまり、ビッグエンディアンとスモールエンディアンとの間に互換性がないため、フロントエンドとバックエンドのマシンを含む 同じ Calendar Server で、x86 プラットフォームマシンと SPARC プラットフォームマシンの両方を使用することはできません。


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

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


CLD プラグインの概要

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

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


CLD プラグインのしくみ

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

  1. エンドユーザーが Communications Express (または Calendar Express) を使用してカレンダーにアクセスすると、CLD プラグインはカレンダーの calid から userid を取り出し、LDAP ディレクトリデータベースまたは CLD データキャッシュ (有効な場合) でカレンダーの所有者を検索します。CLD データキャッシュを有効にする方法については、「CLD プラグインの有効化」を参照してください。
  2. カレンダーの所有者が特定されると、プラグインはその icsDWPHost LDAP 属性の値を使用してカレンダーが存在するバックエンドサーバーのホスト名を決定します。このホスト名は、DNS (ドメイン名サービス) によって有効な IP アドレスに解決する必要があります。
  3. Calendar Server は、ホスト名を使用して、DWP (データベースワイヤプロトコル) でバックエンドサーバー上のカレンダーデータにアクセスします。
  4. Calendar Server は、ユーザーがログインしているサーバーに DWP でカレンダーデータを送信するため、そのデータをユーザーインタフェースで表示できます。

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



CLD プラグインでサポートされる構成

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

複数のフロントエンドサーバーと複数のバックエンドサーバー

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

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

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

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

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

複数のフロントエンドサーバーと複数のバックエンドサーバーによる Calendar Server の構成

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

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

図 6-2 複数のフロントエンド/バックエンドサーバーによる構成

複数のフロントエンド/バックエンドサーバーによる Calendar Server の構成


CLD プラグインの有効化

CLD プラグインを有効にして使用するためには、各フロントエンドサーバーでいくつかの ics.conf パラメータを設定する必要があります。

Calendar Server でプラグインがどのように機能するかについては、『Sun Java System Calendar Server 6 2005Q1 Developer's Guide』の第 1 章「Calendar Server API (CSAPI) Overview」を参照してください。


Calendar Server 5.1.1 以降のリリースでは、CLD プラグインのメジャーバージョン番号は 1 から 2 に変わりました。マイナーバージョン番号は 0 で変わりません。独自の CLD プラグインを記述した場合は、プラグインのバージョン番号が 2.0 以上であることを確認する必要があります。


csapi.plugin.loadall

このパラメータを "y" に設定すると、cal_svr_base/SUNWics5/cal/bin/plugins ディレクトリに含まれている、接頭辞 cs_ で始まるすべての共有オブジェクトをロードするようにパラメータがシステムに指示します。"n" に設定すると、次の 2 つのパラメータ (csapi.plugin.calendarlookup および csapi.plugin.calendarlookup.name) を使用して、どのプラグインをロードするかをシステムに明確に通知する必要があります。

たとえば、特定のプラグインをロードする場合は、フロントエンドサーバーごとに、ics.conf ファイルでこのパラメータを次のように設定します。

csapi.plugin.loadall = "n"

csapi.plugin.calendarlookup

このパラメータを "y" に設定すると、特定のプラグインをロードするようにパラメータがシステムに指示します。このプラグインをロードしないようにシステムに通知するには、このパラメータを "n" に設定します。

たとえば、csapi.plugin.loadall"n" に設定し、calendarlookup プラグインをロードする場合は、このパラメータを次のように設定します。

csapi.plugin.calendarlookup = "y"

このパラメータは、このあとの csapi.plugin.calendarlookup.name パラメータと組み合わせて使用します。

csapi.plugin.calendarlookup.name

calendarlookup プラグインをロードする場合は、このパラメータを次のように指定する必要があります。

csapi.plugin.calendarlookup.name = "calendarlookup"

このパラメータは、csapi.plugin.calendarplugin パラメータと組み合わせて使用します。

プラグインがどのように機能するかについては、次のサイトから入手できる『Sun Java System Calendar Server Developer's Guide』を参照してください。

http://docs.sun.com/db/coll/CalendarServer_05q1

caldb.cld.type

システムでは、ics.conf ファイルに含まれる caldb.cld.type パラメータの値に基づいて CLD プラグインをロードするかどうかを決めます。次の 2 つの値が考えられます。

たとえば、すべてのフロントエンドサーバーで、CLD プラグインをロードするようにカレンダーシステムに通知するには、ics.conf パラメータを次のように設定します。

caldb.cld.type="directory"


CLD および DWP 用のサーバーの設定

ここでは、サーバーの設定方法について説明します。ここで説明する内容は次のとおりです。

CLD および DWP 用にフロントエンドサーバーを設定するには

フロントエンドサーバーで、次の ics.conf パラメータを設定します。

  1. DWP サービス (csdwpd) を有効にします。
  2. service.dwp.enable="yes"

  3. 次のように CLD タイプを設定します。
  4. caldb.cld.type="directory"

  5. DWP サービス (csdwpd) のポート番号を設定します。
  6. service.dwp.port = "59779"

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

  7. 各バックエンドサーバーのサーバー名を指定します。
  8. caldb.dwp.server.backend-server-1.ip = "backend-server-1"
    caldb.dwp.server.backend-server-2.ip = "
    backend-server-2"
    ...
    caldb.dwp.server.backend-server-n.ip =
    "backend-server-n"

    サーバー名は完全修飾名で指定します。この名前は、DNS (ドメイン名サービス) によって有効な IP アドレスに解決する必要があります。パラメータの各部で同じサーバー名を完全修飾名で指定します。次に例を示します。

    caldb.dwp.server.calendar.sesta.com.ip = "calendar.sesta.com"

    また、サーバー名はカレンダー所有者の icsDWPHost LDAP 属性で使用される名前と一致している必要があります。

  9. デフォルトの DWP サーバー名を設定します。
  10. caldb.dwp.server.default = "server-name"

    server-name は、LDAP サーバーデータベース内のユーザーエントリまたはリソースエントリが icsDWPHost 属性を持たない場合に使用されるデフォルトサーバーの完全修飾名です。この名前は、DNS (ドメイン名サービス) によって有効な IP アドレスに解決できる必要があります。次に例を示します。

    caldb.dwp.server.default = "calendar.sesta.com"

  11. 認証用の LDAP ホストを設定します。
  12. デフォルトは "localhost" ですが、LDAP ディレクトリがこのフロントエンドサーバーと同じマシンにインストールされていない場合は、このパラメータを LDAP ディレクトリがインストールされている (Directory Server がインストールされている) ホスト名に設定します。

    local.authldaphost=ldaphost

    ldaphost は、LDAP ディレクトリがインストールされているホスト名です。

  13. ユーザー設定用の LDAP ホストを設定します。
  14. ユーザー設定用の LDAP ディレクトリを個別に用意している場合は、このパラメータをそのホスト名に設定します。そうでない場合は、この設定を local.authldaphost と同じにします。デフォルトは "localhost" です。

    local.ugladaphost="ldaphost"

    "ldaphost" は、LDAP ディレクトリがインストールされているホスト名です。

  15. ENS (予定通知サービス) (enpd) を無効にします。
  16. service.ens.enable="no"

  17. カレンダーデータベースサーバーアラームを無効にします。
  18. caldb.serveralarms="0"
    caaldb.serveralarms.dispatch="no"

  19. 通知サービスを無効にします。
  20. service.notify.enable="no"

  21. 自動バックアップサービスを無効にします。
  22. caldb.berkeleydb.archive.enable="no"
    caldb.berkeleydb.hotbackup.enable="no"

  23. 変更を適用するために Calendar Server を再起動します。
  24. cal_svr_base/SUNWics5/cal/sbin/start-cal

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

バックエンドサーバーで、次の ics.conf パラメータを設定します。

バックエンドサーバーを設定するには、各バックエンドサーバーで ics.conf ファイルの次のパラメータを設定します。

  1. DWP サービス (csdwpd) を有効にします。
  2. デフォルトは "no" (無効) です。

    service.dwp.enable = "yes"

  3. DWP ポート番号を設定します。
  4. デフォルトのポート番号は 59779 です。設定するすべてのフロントエンドサーバーとバックエンドサーバーに同じポート番号を指定する必要があります。

    service.dwp.port = "59779"

  5. HTTP サービスはバックエンドサーバーでは必要ないので、無効にします。
  6. service.http.enable = "no"

  7. service.admin.enable がデフォルト値 ("yes") に設定されていることを確認します。
  8. service.admin.enable = "yes"

  9. プラグインを使用するカレンダー検索タイプを設定します。
  10. デフォルトは "local" (CLD 以外) です。

    caldb.cld.type = "directory"

  11. バックエンドサーバーはカレンダーデータの検索を行わないので、csapi.plugin.calendarlookup"n" に設定します。
  12. csapi.plugin.calendarlookup = "n"

  13. 認証用の LDAP ホストを設定します。
  14. デフォルトは "localhost" ですが、LDAP ディレクトリがこのバックエンドサーバーと同じマシンにインストールされていない場合は、このパラメータを LDAP ディレクトリがインストールされている (Directory Server がインストールされている) ホスト名に設定します。

    local.authldaphost=ldaphost

    ldaphost は、LDAP ディレクトリがインストールされているホスト名です。

  15. ユーザー設定用の LDAP ホストを設定します。
  16. ユーザー設定用の LDAP ディレクトリを個別に用意している場合は、このパラメータをそのホスト名に設定します。そうでない場合は、この設定を local.authldaphost と同じにします。デフォルトは "localhost" です。

    local.ugladaphost="ldaphost"

    "ldaphost" は、LDAP ディレクトリがインストールされているホスト名です。

  17. 変更を適用するために Calendar Server を再起動します。

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

各マシンで、次のように ics.conf ファイルを編集します。

  1. DWP サービス (csdwpd) を有効にします。
  2. service.dwp.enable = "yes"

  3. DWP サービス (csdwpd) のポート番号を設定します。
  4. service.dwp.port = "59779"

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

  5. カレンダー検索プラグインを有効にします。
  6. csapi.plugin.calendarlookup = "y"

  7. Calendar Server がすべてのプラグインをロードするように指定します。
  8. csapi.plugin.calendarlookup.name = "*"

    これによって、プラグインディレクトリ内のすべてのプラグインがロードされます。

  9. Calendar Server が使用するカレンダー検索プラグインの種類を指定します。
  10. caldb.cld.type = "directory"

  11. デフォルトの DWP サーバー名を設定します。
  12. caldb.dwp.server.default = "server-name"

    server-name は、LDAP サーバーデータベース内のユーザーエントリまたはリソースエントリが icsDWPHost 属性を持たない場合に使用されるデフォルトサーバーの完全修飾名です。この名前は、DNS (ドメイン名サービス) によって有効な IP アドレスに解決できる必要があります。次に例を示します。

    caldb.dwp.server.default = "calendar.sesta.com"

  13. ローカルサーバーを含め、構成に含まれるすべてのフロントエンド/バックエンドサーバーのサーバー名を設定します。
  14. caldb.dwp.server.server-1.ip = "server-1"
    caldb.dwp.server.server-2.ip = "server-2"
    ...
    caldb.dwp.server.server-n.ip = "server-n"

    サーバー名は完全修飾名で指定します。この名前は、DNS (ドメイン名サービス) によって有効な IP アドレスに解決する必要があります。パラメータの各部で同じサーバー名を完全修飾名で指定します。次に例を示します。

    caldb.dwp.server.calendar.sesta.com.ip = "calendar.sesta.com"

    また、サーバー名はカレンダー所有者の icsDWPHost LDAP 属性で使用される名前と一致している必要があります。

  15. ENS (予定通知サービス) (enpd) を有効にします。
  16. service.ens.enable="yes"

  17. カレンダーデータベースサーバーアラームを有効にします。
  18. caldb.serveralarms="1"
    caaldb.serveralarms.dispatch="yes"

  19. 認証用の LDAP ホストを設定します。
  20. デフォルトは "localhost" ですが、LDAP ディレクトリがこのフロントエンドサーバーと同じマシンにインストールされていない場合は、このパラメータを LDAP ディレクトリがインストールされている (Directory Server がインストールされている) ホスト名に設定します。

    local.authldaphost=ldaphost

    ldaphost は、LDAP ディレクトリがインストールされているホスト名です。

  21. ユーザー設定用の LDAP ホストを設定します。
  22. ユーザー設定用の LDAP ディレクトリを個別に用意している場合は、このパラメータをそのホスト名に設定します。そうでない場合は、この設定を local.authldaphost と同じにします。デフォルトは "localhost" です。

    local.ugladaphost="ldaphost"

    "ldaphost" は、LDAP ディレクトリがインストールされているホスト名です。

  23. 変更を適用するために Calendar Server を再起動します。


フロントエンドサーバーとバックエンドサーバーの間のセキュリティの管理

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

認証の行われ方

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

これらのパラメータは省略可能で、デフォルトでは ics.conf ファイルに設定されていません。DWP 接続の認証を行う場合は、フロントエンドサーバーとバックエンドサーバーのそれぞれの ics.conf ファイルに必要なパラメータを追加する必要があります。

表 6-1 DWP 接続を認証するためのバックエンド設定パラメータ

パラメータ

説明

service.dwp.admin.userid

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

service.dwp.admin.cred

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

表 6-2 DWP 接続を認証するためのフロントエンド設定パラメータ

パラメータ

説明

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

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

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

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

まず、フロントエンドサーバーがバックエンドサーバーに接続すると、上記のパラメータによって指定されたユーザー ID とパスワードを送信します。バックエンドサーバーはそれらのパラメータを確認します。両方のパラメータが一致すると、認証は成功します。バックエンドサーバーは、次にセッション ID をフロントエンドサーバーに返します。フロントエンドサーバーは、バックエンドサーバーへの以後の DWP コマンドの送信時にこのセッション ID を使用します。

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

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

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

DWP 接続の認証を設定するには

フロントエンドサーバーとバックエンドサーバーの間の DWP 接続の認証を設定するには、次の手順を実行します。

  1. 各フロントエンドサーバーの ics.conf ファイルに次のパラメータを追加します。
  2. caldb.dwp.server.back-end-server.admin = "userid"
    caldb.dwp.server.back-end-server.cred = "password"

    back-end-server はバックエンドサーバーの名前、useridpassword は Calendar Server が接続の認証に使用するユーザー ID とパスワードです。

  3. back-end-server によって指定される各バックエンドサーバーの ics.conf ファイルに次のパラメータを追加します。
  4. service.dwp.admin.userid = "userid"
    service.dwp.admin.cred = "password"

    useridpassword は、フロントエンドサーバーで指定したものと同じユーザー ID とパスワードです。



前へ      目次      索引      次へ     


Part No: 819-1476.   Copyright 2005 Sun Microsystems, Inc. All rights reserved.