Sun Solaris での名前解決のデッドロック
Sun Solaris の名前解決では、nscd キャッシュにアクセスする必要があります。 nscd は、一般的なネーム サービス要求のキャッシュを提供するプロセスであり、 passwd、group、および hosts データベースのキャッシュを提供します。
cminder12901jp
Sun Solaris の名前解決では、
nscd
キャッシュにアクセスする必要があります。 nscd は、一般的なネーム サービス要求のキャッシュを提供するプロセスであり、 passwd、group、および hosts データベースのキャッシュを提供します。このキャッシュは永続的ではありません。 passwd、group、および hosts データベースが変更されるか、存続期間スタンプの期限が過ぎると無効になります。
Sun Solaris の設定では、前のセクションで説明したように、デッドロックが発生する可能性があります。 以下の例では、CA ControlMinder と nscd プロセスが相互作用することにより、デッドロックが発生します。
- 名前解決では、CA ControlMinder が nscd キャッシュにアクセスします。
- nscd プロセスによって、そのキャッシュが古すぎると判断されることがあります。 この場合、nscd は、(ローカルまたはサーバ上の)passwd、group、および hosts データベースにアクセスして情報を更新しようとします。
- これらのデータベースへのアクセス要求は、カーネル拡張機能によってインターセプトされます。 CA ControlMinder のプロセスでは要求が生成されないため、要求は seosd の決定を待つキューに格納されます。 ただし、seosd はまだその前の要求を処理中であるため、要求を許可するかどうかを決定できません。 最初の要求によって、次の要求が生成され、デッドロックが作成されます。