IBM®
跳转到主要内容
    中国 [选择]    使用条款
 
 
Select a scope:Search for:    
    首页    产品    服务与解决方案     支持与下载    个性化服务    
跳转到主要内容

developerWorks 中国  >  Linux  >

对 GPFS 集群进行基于 SNMP 的监视

为 GPFS 3.2 集群设置和检验状态、性能和配置监视

developerWorks
文档选项

未显示需要 JavaScript 的文档选项


级别: 中级

David C. Johns (dcjohns@us.ibm.com), 软件工程师, IBM 
Frank Mangione (mangione@us.ibm.com), 软件工程师, IBM

2008 年 2 月 18 日

在 3.2 版本中,IBM General Parallel File System™(GPFS)在 Linux® 上提供了 Simple Network Management Protocol(SNMP)服务。管理员可以使用这些服务收集关于 GPFS 集群状态的 SNMP 数据,从而快速识别磁盘故障等问题。系统用一个收集器节点收集陷阱信息,管理员可以在另一个管理节点上远程监视和分析这些信息。本文介绍一种在 GPFS 集群中进行基本 SNMP 检验的方法。

从 3.2 版本开始,IBM General Parallel File System 的用户可以使用 Simple Network Management Protocol 服务了。用户可以在 GPFS 集群中定义的 Linux 操作系统收集器节点上执行 SNMP 服务收集,并将信息发送到管理节点。通过结合使用收集器节点上安装的 Net-SNMP 并运行 mmsnmpagentd 服务,用户可以捕捉 SNMP 陷阱信息并在管理节点上进行监视和分析。(Net-SNMP 是一套使用 IPv4 和 IPv6 实现 SNMP v1、SNMP v2c 和 SNMP v3 的应用程序。)关于 GPFS 3.2 中的 SNMP 服务的更多信息,参见 General Parallel File System Advanced Administration Guide, Version 3 Release 2(参见 参考资料 中的链接),其中包含可以收集的数据类型的完整列表。

本文介绍如何检验 GPFS 集群中的 SNMP 功能。图 1 展示了 SNMP 检验过程的概况。


图 1. SNMP 检验过程的概况
SNMP 检验过程的概况

前提条件

为了检验 GPFS 集群中的 SNMP 功能,需要:

  • 软件
    • GPFS 3.2 或更高版本
    • Net-SNMP(版本可能是 5.4.1)
    • Linux
  • 硬件
    • 一个运行 Linux 的节点/逻辑分区,它在 GPFS 集群中作为收集器节点
    • 一个管理节点(在这个检验过程中它也运行 Linux)

设置和检验 SNMP 代理

下面的 12 个步骤说明如何在收集器和管理节点上设置和检验 SNMP 代理。

1. 选择收集器节点

选择一个 GPFS 集群节点作为收集器。在这个节点上将运行 SNMP 子代理,它将收集 GPFS SNMP 信息并向 SNMP 管理节点/应用程序报告这些信息。

2. 选择管理节点

选择一个节点作为 SNMP 管理节点。在这个节点上,系统管理员将运行一个 SNMP 管理应用程序,比如 NetView® 或 OpenNMS。(在实际环境中常常选择集群之外的机器,但是也可以选择与收集器相同的节点。)

3. 在节点上安装 Net-SNMP

在收集器节点和管理节点上,都应该安装 Net-SNMP: rpm -qa | grep net-snmp

4. 编辑 SNMP 守护进程操作参数

在收集器节点上,编辑 /etc/snmp/snmpd.conf 文件。这个文件定义主 SNMP 守护进程的操作参数。包含以下行:

master agentx
trap2sink [HOSTNAME or IP ADDRESS of MANAGEMENT NODE]
AgentXSocket tcp:localhost:705
AgentXTimeout 20
AgentXRetries 10

5. 编辑一般性 SNMP 信息

在收集器节点和管理节点上,编辑 /etc/snmp/snmp.conf 文件。这个文件决定节点上应用程序的一般性 SNMP 信息。包含以下行:mibs +GPFS-MIB

6. 复制 GPFS MIB 定义

在收集器节点和管理节点上,将 GPFS MIB 定义复制到 /usr/share/snmp/mibs 目录:

cp /usr/lpp/mmfs/data/GPFS-MIB.txt /usr/share/snmp/mibs

rcp /usr/lpp/mmfs/data/GPFS-MIB.txt managementnode:/usr/share/snmp/mibs
      

如果在 GPFS 构建映像中修改了 MIB 定义文件,就要重复这个步骤。

7. 启用 SNMP 守护进程来获取新的配置

在收集器节点上,停止并重新启动 SNMP 守护进程(也称为 SNMP 主代理或 snmpd),让它获得新的配置:

SUSE: /etc/rc.d/snmpd stop
SUSE: /etc/rc.d/snmpd start

Redhat: ps -ef | grep snmpd
Redhat: kill [/usr/sbin/snmpd PID]
Redhat: /usr/sbin/snmpd

检查 SNMP 守护进程是否正在运行:ps -ef | grep snmpd。如果出现任何错误消息,就要检查 dmesg 和 /var/log/snmpd.log。

8. 开始接收 SNMP 陷阱

在管理节点上,打开一个窗口并运行以下命令开始接收 SNMP 陷阱:/usr/sbin/snmptrapd -Lo -t -f

9. 启用 GPFS SNMP 子代理

在 GPFS 集群中的任意节点上,启动 GPFS SNMP 子代理:mmchnode --snmp-agent -N [COLLECTOR-NODE]

10. 检查子代理是否正在运行

在收集器节点上,检查 GPFS SNMP 子代理是否正在运行:ps -ef | grep mmsnmpagentd

如果没有看到它正在运行,那么要确保 GPFS 和 snmpd 正在运行并检查 /var/adm/ras/mmfs.log.latest 中的诊断消息。

11. 查看陷阱是否捕捉到了信息

在管理节点上,查看是否捕捉到了 GPFS-MIB::gpfsNewConnectionTrap 陷阱(子代理要花大约 20 秒收集最初的信息)。

12. 向收集器节点查询 GPFS SNMP 信息

在管理节点上,向收集器节点查询 GPFS SNMP 信息:snmpwalk -t 10 -r 10 -c public [COLLECTOR-NODE] ibmGPFS

检查信息是否正确;典型的结果如下所示。





回页首


结果

下面的示例给出应该看到的结果。清单 1 显示用 snmptrapd 捕捉的一个典型陷阱。


清单 1. 用 snmptrapd 捕捉的一个典型陷阱
                
NET-SNMP version 5.4
2007-10-26 13:29:40 <UNKNOWN> [UDP: [9.114.119.112]:56357]:
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (46843) 0:07:48.43
     SNMPv2-MIB::snmpTrapOID.0 = OID: GPFS-MIB::gpfsStgPoolUtilizationTrap
   GPFS-MIB::gpfsStgPoolFSName = STRING: "gpfs5"
   GPFS-MIB::gpfsStgPoolName = STRING: "system"
    GPFS-MIB::gpfsStgPoolUtil = Gauge32: 91
2007-10-26 13:31:16
      

清单 2 显示 snmpwalk 收集的典型 GPFS 集群信息。


清单 2. snmpwalk 收集的典型 GPFS 集群信息
                
GPFS-MIB::gpfsDiskData."gpfs4"."SP4gpfs1"."GPFSNSD20" = STRING: "y"
GPFS-MIB::gpfsDiskData."gpfs4"."SP4gpfs1"."GPFSNSD21" = STRING: "y"
GPFS-MIB::gpfsDiskData."gpfs4"."SP4gpfs1"."GPFSNSD22" = STRING: "y"
GPFS-MIB::gpfsDiskData."gpfs4"."SP4gpfs1"."GPFSNSD23" = STRING: "y"
GPFS-MIB::gpfsDiskData."gpfs5"."system"."GPFSNSD24" = STRING: "y"
GPFS-MIB::gpfsDiskData."gpfs5"."SP5gpfs1"."GPFSNSD30" = STRING: "y"
GPFS-MIB::gpfsDiskData."gpfsuser"."system"."GPFSNSD28" = STRING: "y"
GPFS-MIB::gpfsDiskData."gpfsuser"."SP5gpfs1"."GPFSNSD26" = STRING: "y"
GPFS-MIB::gpfsDiskData."gpfsuser"."SP5gpfs1"."GPFSNSD27" = STRING: "y"
      



参考资料

学习

获得产品和技术
  • 获取 GPFS 3.2

  • 获取 Net-SNMP

  • 索取 SEK for Linux,这有两张 DVD,包含最新的 IBM Linux 试用版软件,涉及 DB2®、Lotus®、Rational®、Tivoli® 和 WebSphere®。

  • 使用 IBM 试用软件 构建您的下一个 Linux 开发项目,这些软件可以从 developerWorks 直接下载。


讨论


作者简介

David C. Johns 是 IBM 集群系统测试领域的高级软件工程师。在集群系统测试领域工作之前,他在平台评估测试领域度过了三年的时间,期间处理 SAN 和后端存储设备。其技术专业知识领域包括 SAN 的设计和实现、所有形式的后端存储的配置和实现,以及在 AIX 和 pLinux 操作系统上的 GPFS 的测试。他在 IBM 的 20 多年里编写了许多领域的支持文档和技术著作。您可以通过 dcjohns@us.ibm.com 与他联系。


Frank Mangione 是从事 GPFS 开发和测试的 IBM 高级软件工程师。他具有丰富的 UNIX 和文件系统管理经验,包括底层存储子系统。




对本文的评价

太差! (1)
需提高 (2)
一般;尚可 (3)
好文章 (4)
真棒!(5)

建议?




回页首


IBM 公司保留在 developerWorks 网站上发表的内容的著作权。未经IBM公司或原始作者的书面明确许可,请勿转载。如果您希望转载,请通过 提交转载请求表单 联系我们的编辑团队。
    关于 IBM 隐私条约 联系 IBM 使用条款