OnTimeGC Admin処理の詳細情報について

Written by OnTime on . Posted in 4.1コマンド関連

Admin処理はOnTimeの運用上必要な各種処理や情報収集を行っています。ちなみに、その各種サブコマンドについては「Dominoコンソール用OnTimeGC Admin サブコマンド各種」も参照ください。また、他にもAdmin処理の目的の一つにCalendar文書に保存されているメールDBと同期(Sync)の際に取得した情報等をUser文書に集約する処理があります。OnTimeはスケジュールの同期(Sync)の際にメールDBからアクセス制御リスト(ACL)やカレンダープロファイル(会議出席可能時間他)等の情報を取得してまずはCalendar文書に保存しています。ちなみに以下はConfigDBで保持しているユーザー情報の主要な3文書です。

  • User文書(Admin処理で更新されます。)
  • Calendar文書(同期(Sync)処理で更新されます。ユーザーのメールDBと最初の同期で作成。)
  • Settings文書(ユーザー個別のOnTime設定を保持します。)

そして、エンドユーザーからのOnTime APIの呼び出し処理(各種OnTimeクライアントから操作も含む)は全てUser文書をベースに行われています。なのでメールDBから取得した情報もAdmin処理でCalendar文書からUser文書に集約するのです。例えば、ユーザーがメールDBのプリファレンスで会議出席可能時間を変更したとします。その場合はOnTimeは最初にそのユーザーのメールDBと同期(Sync)してCalendar文書を更新します。次にAdmin処理でCalendar文書の情報をUser文書に転送します。実はOnTimeは、Domino管理者はご存じのように保存や複製の競合が発生しないように、どの文書を保存できるのはどの処理だけというのが厳密に分けて運用されています。

また数万のユーザーを運用する場合、Adminコマンドは大変時間がかかる場合もあります。これは大概が、連携させているアドレス帳(Domino Directory)からユーザー情報を更新、次にグループ情報を更新、そしてグループ文書内のメンバーリストの更新を行う処理が原因です(IO処理の最適化のためAdmin処理をするサーバーを分離独立することが良いアイデアではないと言っているのではなく、単に実行するのに時間が掛かる理由を説明しているだけです)。もちろん殆どの組織では日中や日に数回Admin処理を実行する必要もありません。深夜2時に実行すれば十分です。

もし、日中にAdmin処理を実行する場合は、Admin処理のサブコマンドの実行も検討してください。例えば、静的(Static)グループの更新を行う場合はDominoのサーバーコンソールから「tell ontimegc admin gs」を実行してください。各種サブコマンドについては「Dominoコンソール用OnTimeGC Admin サブコマンド各種」を参照ください。Dominoのプログラム文書で実行を自動化したい場合は「Dominoプログラム文書で”Tell…..”を発行する際の設定サンプルについて」も参照ください。

また、OnTimeはOnTime管理サーバーと同じサーバー上のアドレス帳(Domino Directory)を参照しますので、Domino管理サーバーでユーザーやグループの情報が更新されている場合は、必ず事前にレプリカ処理を行いアドレス帳の情報を更新しておいてください。