上一主题: 服务器名称解析:死锁下一主题: 避免死锁:旁视数据库


Sun Solaris 名称解析:死锁

在 Sun Solaris 上进行名称解析需要访问 nscd 缓存。 nscd 是为最常见名称服务请求提供缓存的进程。 nscd 为 密码、组及主机数据库提供缓存。

缓存不是永久性的。 它将随着对密码、组及主机数据库进行更改或随着生存时间戳到期而变得无效。

Sun Solaris 安装程序可以创建一个死锁,就像上一节中介绍的死锁一样。 这时,CA ControlMinder 与 nscd 进程之间的交互将导致死锁。

  1. 在名称解析期间,CA ControlMinder 将访问 nscd 缓存。
  2. nscd 进程可以判断缓存是否太旧。 在这种情况下,它将尝试通过访问密码、组及主机数据库(位于本地或服务器)来刷新信息。
  3. 访问这些数据库的请求将被内核扩展拦截。 由于 CA ControlMinder 进程没有发出请求,因此它将处于等候 seosd 决策的队列中。 但是不可能作出此这类决策,因为 seosd 仍在处理先前的请求。 第一个请求将生成第二个请求,并创建死锁。