故障诊断|故障诊断 Lotus Domino 的挂起和崩溃1

IBM认证复习指导 2021-07-02 网络整理 可可

【shitiku.jxxyjl.com--IBM认证复习指导】

        服务器挂起与崩溃之间究竟有什么区别?更重要的是,如何修复它们?在本文中,我们将解释如何识别 lotus domino 服务器挂起和崩溃,以及如何分析和纠正它们。

  lotus domino 构建得非常可靠。但是即使构建得再好的产品,也会遇到导致其挂起或崩溃的问题。当出现这样的情况时,您隔离、分析和修复问题的速度越快,您的用户社团就会越快高兴起来并正常运行,您也因而能够更快地返回去考虑别的事情。  本文提供了一些可用于修复 notes/domino 问题的思路。我们首先来定义服务器挂起和服务器崩溃之间的区别,以及如何解决每种问题的例子。我们最后将概述该产品的最新版本 —— notes/domino 7 —— 中包含的新的故障诊断特性。我们假设您是一名有经验的 domino 管理员,并且熟悉基本的 notes/domino 概念和术语。

  何为服务器挂起和崩溃?

  在进入技术细节之前,我们首先定义两个常用的术语,即崩溃(crash)和挂起(hang),以确保我们的理解是一致的。

  服务器崩溃

  domino 服务器崩溃是这样一种情景,即服务器程序已经终止并且不再运行。您通常可以通过查看崩溃屏幕或者 nsd/rip 日志文件(取决于您运行的是什么版本的 domino),来确定服务器终止时所执行的任务。

  domino 服务器崩溃的常见故障现象包括:

  domino 服务器不再运行,但是系统上的其他程序还在运行。
  domino 服务器控制台不出现,即使当任务似乎已加载时。
  domino 服务器已加载,并且没做任何事情就突然死机。
  一个 panic 错误出现在控制台上或 log.nsf 中,并且系统死机。
  nsd/rip 自动运行并生成一个文件,服务器自己死机和/或重新启动。

  存在几种不同类型的服务器崩溃。例如一次性崩溃(one-time crash),顾名思义,可能只出现一次,并且不会再次出现。一个导致 domino 崩溃的进程访问坏内存或已破坏的文档时会出现一次性崩溃。例如,假设位于 mail.box 中的一个文档已经破坏。当 domino 路由器访问 mail.box 想将该文档路由到其目的地时,将产生一个 domino 服务器崩溃。类似的场景以后可能会出现,也可能不会出现。一般来说,一次性崩溃是最难分析的。

  可重复的崩溃(reproducible crash)是一种可通过一系列步骤重复的崩溃。例如一个这样的表单,其中包含一个编码错误的按钮,每当按这个按钮时,都会导致一个可重复的崩溃。

  重复的崩溃(repetitive crashes)按一定的规律发生。它们似乎不与任何特定动作相关,而是发生在每天的相同时间。在这样的场景中,您需要确切地知道,在导致问题的时间段,服务器上在运行什么。例如,假设 domino 服务器上启用了一个预定的代理,每个月运行一次。该代理可能会导致服务器崩溃。在这样的场景中,首先需要禁用导致问题的代理,然后再检查该代理为什么会导致问题(并修复问题)。

  abend 是服务器崩溃的一种特殊形态。术语 abend 是 “abnormal end” 这两个单词的组合。abend 崩溃不产生 rip 或 nsd 文件。

  崩溃的原因如下:

  代码中的软件问题(无论是在服务器上还是客户机上)。
  数据库中的破坏。
  访问 domino 的第三方应用程序中的软件问题。
  内存不足。
  定制代码导致的限制操作。
  内存泄漏。
  未完成的请求。

  服务器挂起

  domino 服务器挂起是这样一种场景,即 domino 服务器仍在运行,但是服务器上的一个或多个任务不响应请求。这些任务可能还是活跃的,但是不在做它们应该做的事情。术语 “挂起” 也定义了一种状态,即当计算机程序不按设计运行时可能会出现的状态。大部分时候,出现挂起是因为,低级循环或资源的持久不可用导致严重的性能问题。服务器挂起通常归因于资源问题,所以有时可把它们看成性能问题。

  在挂起期间,程序看起来像已瘫痪,也不显示错误消息,并且屏幕冻结或者应用程序不响应用户的动作。键盘输入或鼠标点击没有反应,不管光标置于何处都一样,但是程序仍在运行。与 abend 或崩溃不一样,挂起有时会自己解决问题,应用程序继续其正常的执行过程,无需您的干预。这样的情况更应该看成是性能问题,而不是挂起。

  domino 服务器挂起的故障现象包括:

  domino 仍在运行,但是不响应客户机。在这种情况下,用户通常报告说他们收到 “server not responding” 消息。
  控制台的行为就像是断开连接的,不接受任何命令,甚至像 quit 这样简单的命令也不接受。
  客户机对服务器的访问(例如,打开数据库)感觉到响应时间慢。
  出现信号量超时。“show stat” 命令将报告信号量超时信息。下面是 statrep.nsf 中报告的一个信号量超时的例子:sem.timeouts = 430d: 58 0a13:42 030b:28 0116:26 0a12:21。在这个例子中,430d 是信号量名称,58 是超时的数量。注意,信号量超时并不一定表示性能问题。在忙碌的服务器上出现信号量超时是很常见的。如果服务器上没有出现任何信号量超时,统计数据 sem.timeouts 就不会出现在 statrep.nsf 中。

  会报告与性能相关的错误消息,比如:
  insufficient memory.
  insufficient memory. nsf folder pool is full.
  maximum number of memory segments that notes can support has been exceeded.
  network operation did not complete in a reasonable amount of time.
  server not responding.

  注意,在服务器挂起场景中,nsd/rip 是不会自动生成的。

  导致服务器挂起的原因包括,资源问题(资源不足)、第三方应用程序冲突和硬件问题。一般来说,服务器挂起比服务器崩溃更难分析。最后指出一点:崩溃和挂起不只出现在 domino 服务器上,也可以出现在 notes 客户机上。

  故障诊断

  在本节中,我们来看一些用于故障诊断服务器崩溃和服务器挂起的一般方法。

  故障诊断 domino 服务器崩溃

  如果 domino 已经崩溃,并且不能重启,那么从 notes.ini 变量 servertask 删除任务,并试图缩小范围和识别导致崩溃的任务。当您怀疑是某个特定的任务导致问题时,就打开服务器控制台,并缩小该任务产生的可能的错误消息的范围。例如,如果在访问 mail.box 中的邮件时路由器崩溃了,那么重新命名 mail.box 并允许服务器重新创建 mail.box。

  如果您怀疑问题是已破坏的数据库导致的,那么在该数据库上运行离线维护任务。如果崩溃是按规律发生的,那么检查崩溃发生时服务器上执行的动作。

  考虑下列问题:

  domino 服务器向控制台或日志文件报告错误消息吗?
  错误消息的确切语法是什么样的?
  错误消息是哪里产生的?是 domino 服务器上,还是 notes 客户机上?
  该问题第一次出现是什么时候?
  在问题开始出现之前,最近做了更改吗?

  故障诊断 notes 客户机崩溃

  首先,找出问题是否特定于某个用户。如果是的,就检查该用户的配置,并将之与其他用户的配置进行比较。此外,还要确定问题发生是否归结于访问某个特定的应用程序。如果是的,就请一个开发人员来检查应用程序。

  如果您怀疑问题是由已破坏的数据库或文档导致的,就运行维护任务 updall、fixup 和 compact(用适当的开关)。此外,如果您认为问题是由于坏的索引,那么试图重新创建数据库的全文本索引(如果可能的话)。

  故障诊断 domino 服务器挂起

  如果常量信号量问题出现在服务器控制台上,那么检查任务的安排是否冲突。如果系统响应缓慢,那么检查您的非-domino 应用程序,看它们是否也运行缓慢。另外, 一般来说,应该确保用所有最新的补丁更新了操作系统。

本文来源:https://shitiku.jxxyjl.com/ibmrenzhengfuxizhidao/6005.html

Copyright @ 2011- 考试题库网 All Rights Reserved. 版权所有

免责声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。

 站长统计