基于OpenHPI的通用ATCA系统管理软件开发研究

2 篇文章 0 订阅
1 篇文章 0 订阅

1. 引言

    ATCA(高级电信计算架构)标准是由PICMG制定的,其针对下一代电信产品定义了一个高性能、可扩展、模块化的电信级硬件平台。ATCA致力于为电信级的应用提供更高的可靠性、可管理性和可用性,但目前ATCA平台上还没有成熟的系统管理软件。传统的系统管理软件都是基于私有接口的,不符合ATCA平台的开放性要求,随着ATCA应用的推广,迫切需要一种基于开放接口的系统管理软件。基于这种需求,本文给出了一种基于HPI(硬件平台接口)规范开发通用ATCA系统管理软件的方法。

2. 现阶段系统管理软件存在的问题

    2.1 ATCA管理系统简介

    ATCA平台管理功能的载体是机框内刀片上的智能平台管理控制器(IPMC)以及机架管理控制器(ShMC),它们之问通过背板上双冗余的两条IPMB总线进行通信。双冗余的IPMB总线可以确保在任意一条总线失效的情况下系统管理仍可以正常进行。智能平台管理控制器和机架管理控制器基于IPMI(智能平台管理接口)协议进行交互。它们一起组成了单个ATCA机架内硬件管理系统,如图1所示,可以对机架内的单板、电源、风扇、温度传感器和现场FRU(可置换单元)等进行智能监视和控制。


图1 ATCA 中的智能半台管理架构

    2.2 问题分析

    目前,用户无论是单独购买ATCA刀片和ATCA机框进行系统集成,还是直接从ATCA系统生产商处购买整套产品,都拥有机架管理控制器提供的硬件平台管理功能。用户可以通过串口或者以太网接口连接活动的机架管理控制器,读取刀片上FRU运行状态、传感器数据、事件报警日志等信息,或者修改刀片报警设置、重置WatcMog参数以及执行FRU复位操作等。目前面临的问题是:机架管理控制器只能对一个机框进行监控操作,无法对多个机框同时进行监控操作:不同厂商的机架管理控制器提供的命令行、Web访问接口和SNMP MIB都是私有的,系统管理员需要学习不同厂商的机架管理控制器的管理命令和管理方式。

    尽管ATCA标准在机架管理控制器之上定义了系统管理软件,但没有定义实现方式。系统管理软件使用机架管理控制器提供的功能和接口来管理ATCA机架。它可以同时连接多个机架管理控制器或者直接连接刀片,对系统中的硬件资源进行监控,并提供友好的图形用户界面和图形化的访问接口。供用户查看或修改组件的运行配置参数。由于系统管理软件与用户机框的配置和具体的应用相关.因此用户需要根据系统实际配置自行开发系统管理软件。

    用户开发系统管理软件时需要利用机架管理控制器接口,它们通常由机架生产厂商提供。由于不同厂商的机架管理控制器其SNMP MIB都是私有的.用户如果同时使用了多个厂商的机架管理控制器或者中途更换另一个厂商的机架管理控制器.就需要针对新的SNMP MIB重新开发系统管理软件。这样不仅会增加开发成本,还会延长开发时间(因为开发人员熟悉私有MIB需要一段时间)。此外,系统管理人员学习使用新版本系统管理软件也需要花费一定的时间。

3. 通用ATCA系统管理软件开发方案

    3.1 实现原理

    HPI的很多概念是由IPMI引申而来的,它在IPMI之上提供了一个抽象层.只要被管理平台有足够的能力可以被建模.它便可以提供一个更通用的模型。系统可用性论坛于2005年l2月颁布了一个附加规范,针对ATCA系统如何使用HPI进行了详细的定义。通过HPI提供的API,可以对系统的硬件资源进行访问和控制,如管理热插拔和进行机架内FRU的上电控制等,可以管理系统中的核心组件.从而缩短系统管理软件的开发周期和增加程序的可移植性,最终可以将ATCA中机架管理控制器的功能以一种标准的、独立于制造商的方式展示给最终用户。

    目前,市场上的大部分机架管理控制器都没有实现HPI Server(提供服务器可用性论坛规定的各种HPI服务)。为了基于HPI开发系统管理软件,采用了如图2所示的实现方案。HPI Server在系统管理软件中实现,它通过RMCP(remote mail checking protocol)从机架管理控制器获取和访问ATCA系统的各种硬件信息。由于RMCP是所有机架管理控制器都支持的协议.因此这种方案适用于所有的机架管理控制器。HPI Server与系统管理软件集成,用户在开发系统管理软件时可以直接访问本地的应用程序接口——HPI API,而无需通过网络访问HPI Server提供的服务。因为目前的系统管理软件很多都是基于SNMP开发的,所以在HPI API之上增加一个HPI SNMP代理就可以针对标准的HPI MIB开发基于SNMP的系统管理软件。


图2 基于HPI的通用ATCA系统管理软件实现方案

    虽然目前市场上大多数机架管理控制器不支持HPI,但是支持HPI是未来机架管理控制器的发展趋势,Intel的CMM 7.1版本和Radisys的机架管理控制器方案中已经实现对HPI的支持。待将来机架管理控制器对HPI的支持成熟后,用户可以方便地将现有的系统管理软件移植到新的ATCA系统中,只需在支持HPI的机架管理控制器和系统管理软件之间实现网络连接即可,用户在开发系统管理软件时的投资可以得到保护。

    3.2 实现步骤

    基于HPI的通用ATCA系统管理软件实现步骤如图3所示,主要包括连接机架管理控制器、配置HPI Server、配置SNMP接口和开发系统管理软件4个步骤。


图3 基于HPI的通用ATCA系统管理软件实现步骤

    3.2.1 连接机架管理控制器

    HPI Server通过网络连接机架管理控制器,访问系统的各种硬件资源,因此首先需要选择合适的连接方式。机架管理控制器提供的SNMP、Web访问和命令行接口虽然使用方便,但都是基于私有协议定义的。在ATCA标准中规定了所有的机架管理控制器都要支持基于以太网的IPMI LAN接口。该接口是基于RMCP UDP报文实现的。采用RMCP对IPMI报文进行封装,使其可以通过以太网进行传输,并针对LAN接口的特点增加了会话连接和认证等功能。因此选择RMCP作为HPI Server与机架管理控制器之间的连接方式。

    借助RMCP,管理软件与机架管理控制器之间可以互相收发IPMI报文。由于IPMI报文可以提供最底层的硬件访问和控制功能,因此避免了命令行等接口进行二次封装造成的信息损失。在成功连接机架管理控制器后,可以通过IPMI Tool测试RMCP连接,保证在进行后续工作时RMCP已经正常连接。

    3.2.2 配置HPI Server

    HPI Server采用移植OpenHPI的方式实现。目前针对ATCA平台开发的两种扩展插件分别是IPMI插件和IPMI Direct插件,它们均支持HPI B.01.01定义的ATCA映射规范。IPMI插件使HPI能够通过IPMI驱动访问本机的ATCA硬件资源信息,IPMI Direct插件使HPI可以通过网络访问远端的ATCA硬件资源信息。因为本文提出的方案要实现网络访问,所以选用IPMI Direct插件。

    安装OpenHPI时,首先需要在Linux环境下安装OpenHPI的各种支持包(uuid-dev、libltdl3-dev、libc6-dev、libtool g++、get glib),然后选择合适的配置模式进行安装。在OpenHPI连接配置中选择模拟器方式.通过Wireshark等抓包工具确保OpenHPI移植成功后。再配置IPMI Direct
插件连接到机架管理控制器(在配置中需要指定所连接的机架管理控制器的IP地址、RMCP使用的端口号、登录用户名和密码)。在成功连接后,IPMI Direct插件采用多线程方式与远端的机架管理控制器交换信息,支持传感器数据读、FRU数据读写、ATCA热插拔、系统事件日志、ATCA供
电和复位控制等。

    HPI Server成功移植后,通过启动Openhpid来使用HPI提供的服务。这时可以通过OpenHPI提供的图形化辅助工具HPI View查看HPI Server运行状况 HPI View是基于HPI API开发的。通过它可以浏览HPI Server提供的信息.监视其运行状态。通过在HPI的配置文件里打开日志记录,可以把HPI Server的运行状态信息写入日志文件。

    3.2.3 配置SNMP接口

    为了能够通过SNMP访问HPI提供的信息,需要在HPI Server之上实现Net-SNMP和OpenHPI SNMP Subagent。Net-SNMP包含一个可扩展的代理,用于响应获取管理信息的SNMP查询请求,可以通过动态加载模块、外部脚本和命令进行扩展,并支持SNMP代理扩展协议AgentX。OpenHPI SNMP Subagent是基于Net-SNMP开发的代理,它通过HPI API从HPI Server获取管理信息,并将这些信息通过AgentX协议提供给Net-SNMP,进而将HPI中的信息以SNMP接口的方式提供给系统管理软件。

    HPI SNMP Agent的安装方法和OpenHPI类似,首先在linux平台下安装相应的支持包(libperl-dev),然后选择合适的配置模式进行安装。通过hpiSubagent命令可以启动HPI SNMP Agent.通过Net-SNMP内置命令snmpwalk可以确认HPI SNMP Agent是否安装成功(snmpwalk -v2c -c public localhost HPI-B0101-MIB::hpiB0101)。可以使用基于Net-SNMP图形化工具包MIB Brower访问HPI SNMP Agent,监视其工作状态。OpenHPI SNMP Subagent中包含了对资源、时间、硬件传感器和控制以及HPI规范中定义的其他元素的支持。如果MIB Brower能够连接到HPI SNMP
Agent,并能获取HPI Server的相关信息,说明HPI SNMP Agent工作正常,可以进行后续系统管理软件的开发。

    3.2.4 开发系统管理软件

    可以基于HPI API或者HPI SNMP Agent开发系统管理软件。基于HPI API开发.由于无需封装SNMP接口,因此开发的系统管理软件具有更高的运行效率。基于HPI SNMPAgent开发系统管理软件,可以借助更多的开发工具,编程人员可以借鉴以往开发SNMP应用程序的经验,从而能够降低开发难度和成本。在搭建演示系统时,选择基于HPI API开发系统管理软件,并为ATCA的系统管理提供以下功能。

  • 报警和通告功能:在系统组件出现告警或故障时及时通告用户
  • 事件操作功能:供用户监视和查询系统运行中产生的各种事件
  • 传感器监视功能:用户可以监视系统中的各种传感器读值。
  • 控制功能:用户可以设置系统中的各种可控组件,如指示灯显示和FRU热插拔等。
  • 管理参数配置功能:用户可以配置系统中的各种管理策略,如报警阈值设置及上电策略等。

    在实际开发中,用户可以根据系统的具体需求,将业务和硬件管理信息集成,这样系统管理员无需切换到不同的软件,就可以对多个ATCA机框内的业务和硬件信息进行监控,实现了ATCA业务管理和硬件监控的无缝集成。由于硬件监控采用开放的HPI,因此当系统增加新的ATCA机框设备时,只需在通用系统管理软件的配置文件中增加新的连接信息即可。

4. 结束语

    ATCA系统作为一种开放的模块化电信平台解决方案,对其上运行的系统管理软件提出了更高的要求,如基于开放标准、良好的移植性和跨平台特性等。本文提出的基于HPI的通用ATCA系统管理软件.可以满足电信行业对高可靠性和开放性不断提升的需求。


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值