级别: 中级 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 检验过程的概况
前提条件
为了检验 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"
|
参考资料 学习
获得产品和技术
讨论
作者简介  | |  | David C. Johns 是 IBM 集群系统测试领域的高级软件工程师。在集群系统测试领域工作之前,他在平台评估测试领域度过了三年的时间,期间处理 SAN 和后端存储设备。其技术专业知识领域包括 SAN 的设计和实现、所有形式的后端存储的配置和实现,以及在 AIX 和 pLinux 操作系统上的 GPFS 的测试。他在 IBM 的 20 多年里编写了许多领域的支持文档和技术著作。您可以通过 dcjohns@us.ibm.com 与他联系。 |
 | |  | Frank Mangione 是从事 GPFS 开发和测试的 IBM 高级软件工程师。他具有丰富的 UNIX 和文件系统管理经验,包括底层存储子系统。 |
对本文的评价
|