2006年 12月 06日
DSrepair のよくある利用方法
「どういうときに DSrepair をするんですか」
通常は
: LOAD Dsrepair -a
> Advanced Option > Repair Local Database
からオプションメニューを開いて何気なく F10(Perform repair)を実行(Yes)します。
-a のオプションは基本的に「隠しコマンド」で全てのオプションを表示する機能ですが、みなさん普通に利用します。
-どのようなタイミングで実施するか-
デフォルトのオプションは運用中に実施しても特に構いません。修復中は右上にエラーカウントがアップされます。エラーは致命的ではなく、通常の同期で発生した同期時刻の修復であるとか小さな属性の違いなどが修復されているということです。
ユーザの追加、削除はそんなに頻繁に行われるわけではありませんが、ZENworks をインストールした環境では、ワークステーションオブジェクトの登録、削除が頻繁に発生するため、エラーが大量に発生する場合があります。ほとんどがワークステーションオブジェクトです。
サーバの追加、削除、パーティションの変更などの作業の前には必ず実施して、エラーカウントがなくなるまで何度でも実施します。
通常の運用中であれば、サーバコンソールを何気なくチェックするサイクルで実施(数週間に一度)で充分でしょう。特に、停電やサーバの再起動などを行った後に、習慣としてデフォルトオプションのまま修復します。
時おり、しつこいエラーが残って消えない場合がありますが、数百台の規模の大きなネットワークではよくあることなので、重要な作業がない限り放っておけばエラーが自然に消える場合もあります。
-特に強力なオプション-
Rebuild Operational Schema は特別な場合を除いて Yes を選択しません。DSのエラーコードや現象などから判断して、TID を検索して該当するケースだけ Yes を選択します。このオプションを使用した場合、DSはロックされるため、一時的にログインできなくなります。
-DSのロック-
通常の DSrepair のデフォルトオプションではDSをロックしません。したがって、何の懸念もなくデフォルトで修復して構いません。また、冷静にデフォルトのオプションを見る限り、充分な修復を実施してくれるはずです。その他、Noでセットされているデフォルトオプションにしても、「サイズを回復」したり、「テンポラリを使用」するなどで、根本的なエラー修復ではないことがわかります。
DSをロックする場合は、ユーザがログインしない時間帯、例えば始業時や午後一番などは避けます。しつこくエラーカウントが残る場合、ロックして修復できる場合がありますが、根本的に別な問題が出ているケースがあるので、 DStrace やその他のツールで充分にトラブルの内容を検討します。
また、DSの同期がうまく行かない場合、DSの再起動か、システム全体の再起動を必要とする場合がありますが、システム全体の再起動ができない時間帯に、DSをロックして修復すると、事実上DSを再起動したことと同じ結果が得られます。
よほど巨大なパーティションでない限り、DSの修復は数分で終わるので運用時間帯にどうしてもでDSをキックアップしたい場合、DSをロックして修復するとうまく行くことがあります。
非番のエンジニア