图片 1

实战:排除 AIX 服务器的故障

问题1:服务器更大,而计算能力却降低了

在本文中,按相似的方式学习如何解决 IBM AIX®
中的实际问题。您会了解相关的工具和知识,从而提升解决可能会遇到的一些棘手问题的技能。本文给出我曾经遇到的两个有意思的场景,提供探测异常情况的步骤。然后停一下,让您推测什么出了问题,最后给出答案。

当时,我需要把一个AIX5.3LPAR从基于POWER4?的老式IBMpSeries?p670服务器迁移到基于POWER6?全新的
pSeriesp570服务器上。老的服务器资源不足(使用WorkloadManager管理服务器上主要应用程序的资源),因此新硬件上新的动态处理器资源应该会提供我需要的计算能力。我对这个LPAR执行了mksysb,然后使用NetworkInstallationManager在新硬件上恢复它并通过SAN磁盘映射它。

示例问题

预备知识

我启动了这个LPAR,直到启动应用程序之前看起来一切顺利。突然之间,用户开始打电话来了。他们根本无法访问自己的产品了。当我登录时,发现服务器完全是空闲的。服务器上根本没有消耗资源很多的进程。用户为什么会遇到问题?

首先描述我作为系统管理员遇到的两个问题。

Power 是没有限制的虚拟化。一些企业打算依靠 PowerVM
虚拟化将多个工作负载整合到较少系统上,从而提高服务器利用率,降低成本。Power
VM 为基于 Power Systems 平台的高级 RAS 功能和领先性能为 AIX、IBM i 和
Linux 应用程序提供了一个安全的、可扩展的虚拟化环境。

问题2:出故障的硬盘无法解除镜像

问题 1:服务器更大,而计算能力却降低了

支持的操作系统版本:

我的一台服务器具有镜像的root磁盘。有一天,错误报告指出在其中一个磁盘上坏块无法重新定位。我知道这是硬件故障的先兆,所以开始解除镜像。但是,服务器说无法完全解除镜像,因为其中一个逻辑卷只有一个好拷贝,它就在出故障的磁盘上。我应该怎么解决这个问题并更换硬件?

当时,我需要把一个 AIX 5.3 LPAR 从基于 POWER4™ 的老式 IBM pSeries® p670
服务器迁移到基于 POWER6® 的全新的 pSeries p570
服务器上。老的服务器资源不足(使用 Workload Manager
管理服务器上主要应用程序的资源),因此新硬件上新的动态处理器资源应该会提供我需要的计算能力。我对这个
LPAR 执行了 mksysb,然后使用 Network Installation Manager
在新硬件上恢复它并通过 SAN 磁盘映射它。

  • AIX 5.3、AIX 6.1 和 AIX 7
  • IBM i 6.1 和 IBM i 7.1
  • Red Hat Enterprise Linux 5 和 Red Hat Enterprise Linux 6(当 Red Hat
    发布时)
  • SUSE Linux Enterprise Server 10 和 SUSE Linux Enterprise Server 11

故障排除过程

我启动了这个
LPAR,直到启动应用程序之前看起来一切顺利。突然之间,用户开始打电话来了。他们根本无法访问自己的产品了。当我登录时,发现服务器完全是空闲的。服务器上根本没有消耗资源很多的进程。用户为什么会遇到问题?

支持的硬件平台:

记住这两个示例问题,现在看看解决它们的过程。

问题 2:出故障的硬盘无法解除镜像

  • 配备了 POWER5、POWER6 和 POWER7 处理器的 IBM Power Systems

步骤1:别乱动

我的一台服务器具有镜像的 root
磁盘。有一天,错误报告指出在其中一个磁盘上坏块无法重新定位。我知道这是硬件故障的先兆,所以开始解除镜像。但是,服务器说无法完全解除镜像,因为其中一个逻辑卷只有一个好拷贝,它就在出故障的磁盘上。我应该怎么解决这个问题并更换硬件?

图 1 显示了 PowerVM 虚拟机管理程序的架构:

一旦发现有麻烦了,最明智的举动就是别乱动。就像印地安纳·琼斯在“夺宝奇兵”中一样,如果发现踩上地板就会有飞镖射向您,那么就停在原地,不要继续前进了。更多的变动只会让问题复杂化,可能把情况弄得更糟。当一个问题影响系统正常运行时,不得不解决多个问题是没有意义的。

故障排除过程

图 1. PowerVM 虚拟机管理程序的架构
图片 1 

对于第一个示例问题,我让用户马上退出系统,然后我终止应用程序。我知道在性能很差时用户的查询和输入会中断,这可能会破坏他们的数据,在我检查系统之前不希望他们的环境有进一步的变动。尽管用户不愿意听到他们现在不能使用新的服务器,但是知道我正在查找问题的原因,他们会很高兴。另外,这让我有时间按自己的方式执行其他故障排除步骤。

记住这两个示例问题,现在看看解决它们的过程。

回页首

步骤2:先从基本命令开始,然后增加复杂性

步骤 1:别乱动

功能

在我学功夫时,听到了一位二级黑带在公共汽车站制伏小偷的故事。同学们都想知道她用哪一招放倒了进攻者。是金虎式吗?还是八卦掌中的圈掌?我们甚至想像她非常厉害,用醉八仙把对方放倒了。结果都不是:她使用的是白带在班上最初学习的技术之一-肘击前胸,再拳击鼻子。

一旦发现有麻烦了,最明智的举动就是别乱动。就像印地安纳·琼斯在 “夺宝奇兵”
中一样,如果发现踩上地板就会有飞镖射向您,那么就停在原地,不要继续前进了。更多的变动只会让问题复杂化,可能把情况弄得更糟。当一个问题影响系统正常运行时,不得不解决多个问题是没有意义的。

PowerVM Enterprise 拥有两项行业领先的新功能,分别名为活动内存共享
(Active Memory Sharing)
 和动态分区迁移 (Live Partition Mobility)

AIX提供了用于检查服务器的各个方面的命令,包括硬件和软件。即使是最基本的命令也会为分析问题提供很好的基础。当信息不够或仍然有些东西表现不正常时,可以开始尝试更复杂、更强大的工具。但是,应该从最简单的命令和想法开始,然后再使用更强大的工具。

对于
第一个示例问题,我让用户马上退出系统,然后我终止应用程序。我知道在性能很差时用户的查询和输入会中断,这可能会破坏他们的数据,在我检查系统之前不希望他们的环境有进一步的变动。尽管用户不愿意听到他们现在不能使用新的服务器,但是知道我正在查找问题的原因,他们会很高兴。另外,这让我有时间按自己的方式执行其他故障排除步骤。

  • 在工作负载需求变化时,活动内存共享智能地将系统内存从一个分区转移到另一个分区。
  • 动态分区迁移支持将正在运行的分区从一个服务器迁移到另一个服务器,且不会发生应用程序中断,从而提高了系统利用率、应用程序可用性并节省了能源。有了动态分区迁移,由于定期服务器维护而发生的计划应用程序中断就会成为过去。

对于第二个示例问题,我先通过查看errpt输出寻找硬件问题,然后使用unmirrorvg命令-尝试解除镜像的简单但强大的工具-而不是对磁盘上的每个逻辑卷运行rmlvcopy.当我发现有一个逻辑卷无法删除时,就使用lspv、lsvg和migratepv等其他基本命令收集信息。我尝试用extendvg和mirrorvg在另一个磁盘上创建卷组的另一个拷贝。这仍然留下了一些旧的分区,所以我更进一步,用syncvg和
synclvdom协调ObjectDataManager与服务器。最后,我用migratelp尝试把各个逻辑分区转移出这个磁盘。不幸的是,这些工具都不奏效,但是它们提供了大量信息。

步骤 2:先从基本命令开始,然后增加复杂性

以下是 PowerVM 的其他功能。

步骤3:再现问题

在我学功夫时,听到了一位二级黑带在公共汽车站制伏小偷的故事。同学们都想知道她用哪一招放倒了进攻者。是金虎式吗?还是八卦掌中的圈掌?我们甚至想像她非常厉害,用醉八仙把对方放倒了。结果都不是:她使用的是白带在班上最初学习的技术之一
— 肘击前胸,再拳击鼻子。

微分区支持:微分区技术允许对系统进行调节,整合多种独立的工作负载,这有助于降低成本。可将微分区的大小定义为一个处理器的
1/10,并以小到一个处理器的 1/100 的增量更改它。可以为每个核心创建最多 10
个微分区。

按照科学的方法,任何假想和试验的关键一点是,能够重建过程并产生相同的结果。如果做不到,结论至少是不确定的。在最糟糕的情况下,这会颠覆科学家的理论并损害他们的名誉,就像在上世纪90年代宣称实现了室温冷聚变的物理学家一样。

AIX
提供了用于检查服务器的各个方面的命令,包括硬件和软件。即使是最基本的命令也会为分析问题提供很好的基础。当信息不够或仍然有些东西表现不正常时,可以开始尝试更复杂、更强大的工具。但是,应该从最简单的命令和想法开始,然后再使用更强大的工具。

集成虚拟化管理器(IVM):集成虚拟化管理器 (IVM)
允许您使用一个基于浏览器的易用界面来管理工作负载。

或者,按我的说法:如果一开始不成功,那么在其他地方试试是否可以造成同样的问题。

例如,AIX errpt 是在各种风格的 UNIX®
中都能够找到的基本工具之一。它提供关于硬件和软件问题的各种信息。如果使用
–a 标志或 –j
选项和标识码,会产生更详细的输出,输出描述问题的类型、受影响的组件以及系统如何根据错误的类型做出反应。如果它提供的信息不够,可以用
diag
命令进一步检查系统,这个命令会在硬件和操作系统的各个部分上运行测试。

虚拟 I/O 服务器(VIO):支持您共享 I/O 资源。虚拟 I/O
服务器是一个提供特殊用途的分区,向客户端分区提供虚拟 I/O 资源。虚拟 I/O
服务器拥有与客户端共享的资源。为一个分区分配的物理适配器可分享给一个或多个其他分区。虚拟
I/O 服务器消除了针对专用的网络适配器、磁盘适配器和磁盘驱动器的需求。

在管理AIX服务器时,如果某些东西出了问题,而您有再现问题所需的资源,那么在另一个相似类型的LPAR上执行相同的操作,看看是否会产生相同的结果。如果在另一个服务器上修改相同的属性会造成相同的结果,就可以推论这个操作就是问题的根源。但是,如果产生了完全相反的结果,那么要研究服务器之间的细微差别,尝试推测造成问题的原因。

对于 第二个示例问题,我先通过查看 errpt 输出寻找硬件问题,然后使用
unmirrorvg 命令 — 尝试解除镜像的简单但强大的工具 —
而不是对磁盘上的每个逻辑卷运行
rmlvcopy。当我发现有一个逻辑卷无法删除时,就使用 lspv、lsvg 和 migratepv
等其他基本命令收集信息。我尝试用 extendvg 和 mirrorvg
在另一个磁盘上创建卷组的另一个拷贝。这仍然留下了一些旧的分区,所以我更进一步,用
syncvg 和 synclvdom 协调 Object Data Manager 与服务器。最后,我用
migratelp
尝试把各个逻辑分区转移出这个磁盘。不幸的是,这些工具都不奏效,但是它们提供了大量信息。

PowerVM Lx86 支持:您可以在 POWER 上运行 x86 Linux
应用程序,此功能支持动态执行 x86 Linux 指令,将它们映射到基于 POWER
的系统上的指令,并缓存映射的指令以优化性能。

对于第一个示例问题涉及的LPAR,我发现当把SAN磁盘交换回老的p670服务器并启动它时,问题没有出现。用户能够访问他们的应用程序,CPU承受正常的负载,CPU利用率为80%多(10%内核+70%用户)。因此,我能够断定是p570服务器上特有的某些东西导致了问题,而不是迁移过程中引入的某些东西。

步骤 3:再现问题

共享专用容量(Shared dedicated
capacity):
获取专用资源的优势,不会产生资源浪费。此功能允许 “捐赠”
专用处理器分区的空闲 CPU
周期,将它们提供给共享池使用,进而提高整体系统性能。专用分区维持着对专用
CPU 周期的绝对优先权,共享仅在专用分区没有使用其所有资源时发生。在基于
POWER6 和 POWER7 处理器的服务器上,支持使用此功能。

当时,我需要把一个AIX5.3LPAR从基于POWER4?的老式IBMpSeries?p670服务器迁移到基于POWER6?全新的
pSeriesp…

按照科学的方法,任何假想和试验的关键一点是,能够重建过程并产生相同的结果。如果做不到,结论至少是不确定的。在最糟糕的情况下,这会颠覆科学家的理论并损害他们的名誉,就像在上世纪
90 年代宣称实现了室温冷聚变的物理学家一样。

多个共享处理器池(Multiple shared processor
pools):
使用此功能,系统几乎为您执行了所有管理工作。您只需向分区分配优先级,虚拟机管理程序便会根据您应用程序的需要分配处理能力。此功能支持在分配给共享池的分区之间执行自动、非破坏性的处理能力平衡。这会提供更高的吞吐量以及减少基于处理器的软件授权成本的潜力。