ここでは、データベース以外の問題のさまざまなトラブルシューティングについて説明します。ここで説明する内容は次のとおりです。
さらに、次の SSL の章にも、SSL に関するトラブルシューティングの節があります。
サービスが特定のポート番号で待機していることを確認するには、「cstool」 ユーティリティーの ping コマンドを実行します。サービスに対して ping を実行しても、サービスが実際に稼動しているかどうかは検証されません。ソケット接続が受け付けられるかどうかが検証されます。
Calendar Server サービスには次のオプションがあります。
HTTP サービス (cshttpd)
管理サービス (csadmind)
ENS (予定通知サービス) (enpd)
DWP サービス (csdwpd) や通知サービス (csnotifyd) に対して ping を実行することはできません。
たとえば、calserver というホスト名のマシンに対して ping を実行し、cshttpd サービスがポート 80 で待機しているかどうかを確認するには、次のように実行します。
cstool -p 80 -h calserver ping http
デフォルトでは、cstool は 120 秒間応答を待ちますが、-t timeout オプションを使用してこの値を変更することができます。
ユーティリティーの詳細な参考資料については、付録 D 「Calendar Server のコマンド行ユーティリティーのリファレンス」 を参照してください。
cstool を実行するには、Calendar Server が稼動している必要があります。
start-cal を実行したときに起動しないカレンダサービスがある場合は、再起動する前に起動したサービスを終了する必要があります。たとえば、enpd、csnotifyd、および csadmind が起動しても cshttpd が起動しなかった場合は、enpd、csnotifyd、および csadmind を終了する必要があります。
カレンダサービスを起動するには、次のように実行します。
Calendar Server が稼動しているシステムの管理権限を持つユーザーとしてログインします。
サービスを終了して、再起動するには、start-cal を使用します。次に例を示します。
cal_svr_base/SUNWics5/cal/sbin/start-cal
start-cal は、さまざまなカレンダサービスを起動する前に、まず stop-cal コマンドを実行します。
stop-cal が終了に失敗した場合は、いくつかの子プロセスが終了に失敗した可能性があります。この場合の処理については、「stop-cal の問題の解決」を参照してください。
Calendar Server のシャットダウン時には、考慮する必要がある 2 つの別個の問題があります。
stop-cal を実行したあと、いくつかの子プロセスが停止していない場合があります。たとえば、stop-cal によって cshttpd 親プロセスは停止しているのに、一部の cshttpd 子プロセスが停止していないことがあります。このような場合は、次の手順で、残りの Calendar Server プロセスを個別に停止させる必要があります。
Calendar Server が稼動しているシステムの管理権限を持つユーザーとしてログインします。
サービスごとに ps コマンドを実行し、残っている Calendar Server プロセスのプロセス ID (PID) を特定します。
ps -elf | grep cs-process |
ここで、cs-process は enpd、csnotifyd、csdwpd、csadmind、または cshttpd です。次に例を示します。
ps -elf | grep cshttpd |
kill -15 コマンドに終了していない各プロセスの PID を指定して、プロセスを終了します。例: kill -15 9875
それぞれの ps コマンドをもう一度実行し、すべての Calendar Server プロセスが終了していることを確認します。
Calendar Server プロセスがまだ稼動しているときは、kill -9 コマンドを実行して終了します。例: kill -9 9875 |
Linux システムで Calendar Server を実行していて、ps コマンドを使用してカレンダプロセスを検索すると、結果がわかりにくく見えることがあります。Linux では、ps コマンドは、プロセスのリストではなく実行しているスレッドのリストを返します。プロセスだけが表示されるようにするための既知の解決策はありません。
Calendar Server が正しくシャットダウンしなかった場合は、次の手順を実行します。
前の手順 (「stop-cal の問題の解決」) を実行します。
LDAP データキャッシュデータベースのディレクトリ内のすべてのファイルを手動で削除します。
ファイルが残っていると、データベースが破損する可能性があります。ファイルを削除するには、次のように実行します。
Calendar Server を再起動します。
cal_svr_base /SUNWics5/cal/sbin/start-cal
LDAP データキャッシュの設定方法については、「Calendar Server の LDAP の設定」を参照してください。LDAP データキャッシュについては、『Sun Java System Communications Services 6 2005Q4 Deployment Planning Guide』を参照してください。
応答しているかどうか調べるには、バックエンドサーバーに対して ping を実行します。
応答している場合は、手順 3 に進みます。応答していない場合は、その原因を調べ、ふたたび動作するようになったら手順 3 に進みます。
CLD キャッシュをクリアします。「CLD キャッシュのクリア」を参照してください。
CLD キャッシュオプションを使用していて、ics.conf パラメータのサーバー名を更新した場合は、CLD キャッシュをクリアしてサーバー名を消去するとよいでしょう。CLD キャッシュに古いエントリが残されていると、フロントエンドサーバーが正しいバックエンドサーバーに接続できなくなったり、Calendar Server が移動後のカレンダを見つけられなくなります。
Calendar Server を再起動します。
CLD キャッシュオプションを使用していて、1 つ以上のカレンダを別のバックエンドサーバーに移動した (または、バックエンドサーバーの名前を変更した) 場合は、次の手順を実行します。
次に記載されている手順に従ってカレンダを移動していることを確認します。
「ユーザーカレンダの管理」を参照してください。
CLD キャッシュをクリアします。「CLD キャッシュのクリア」を参照してください。
1 つ以上のカレンダを別のバックエンドサーバーに移動すると、CLD キャッシュは無効になります。再読み込みするには、キャッシュをクリアする必要があります。そうすると、キャッシュが再構築されます。
service.http.allowadminproxy が “yes” に設定されていることを確認します。
admin-user に Calendar Server 管理者の権限があることを確認します。
admin-password が正しいことを確認します。
calendar-user が有効な Calendar Server ユーザーであることを確認します。
LDAP ディレクトリサーバー設定の nsslapd-sizelimit 属性と nsLookthroughLimit 属性は、検索が正しく終了するように十分なサイズに設定する必要があります。nsSizeLimit が十分なサイズでない場合は、一部の結果が欠落したり、検索結果が表示されなくなることがあります。nsLookthroughLimit が十分なサイズでない場合は、検索が完了しないことがあります。
ここで説明する内容は次のとおりです。
これらの属性に適切な値が設定されているかどうかを調べるには、次のコマンドを実行します。
ldapsearch -b "base " "(&(icscalendarowned=*user*)(objectclass=icsCalendarUser))"
ここで、base は、Calendar Server のユーザーとリソースのデータが格納されているディレクトリサーバーの LDAP ベース DN であり、user は、エンドユーザーがユーザーインタフェースの検索ダイアログで入力できる値です。
LDAP サーバーがエラーを返す場合、nsSizeLimit または nsLookthroughLimit パラメータの値が十分でない可能性があります。
これらの属性の DN は次のとおりです。
dn: cn=config,cn=ldbm databases,cn=plug ins,cn=config
nsLookthroughLimit の値を動的に設定するには、ldapmodify を使用します。
この属性を変更するために Directory Server を終了して再起動する必要はありません。
デフォルト値は 5000 です。検索結果が表示されない場合、この値を大きくすることができます。ただし、そうすると LDAP サーバーのパフォーマンスが低下します。
制限を -1 に設定して、制限の適用を解除することもできます。ただし、システムがハングすることが想定されるため、慎重に行ってください。
nsslapd-sizelimit をより大きい値に設定する場合は、次の手順を実行する必要があります。
Directory Server を停止します。
dse.ldif ファイルを編集します。
Directory Server を再起動します。
ldapmodify の使用方法および dse.ldif ファイルの編集方法については、次の Web サイトで入手できる Directory Server のマニュアルを参照してください。
http://docs.sun.com/coll/1316.1
start-cal コマンドは、csstored プロセスが設定されていない場合でも、デフォルトで csstored プロセスを起動します。設定されていない csstored プロセスは、csstored を実行しているすべてのマシンで 24 時間ごとに設定されていないことを伝えるメッセージを出力します。
csstored を未設定の状態で実行しないようにすることによって、メッセージを無効にできます。csstored プロセスの実行を無効にするには、メッセージが生成されるすべてのマシンで、次の ics.conf パラメータを設定します。
service.store.enable=”no”
自動バックアップ作成のために csstored を設定しているマシンでは、プロセスを無効にしないでください。