使用IPMI工具实现对服务器的远程管理


1认识IPMI


  对于网管员来说,服务器远程管理是一个非常重要的技术,而在服务器远程管理方面,典型的解决方案是基于服务器操作系统的软件管理方式,但这样的方式有一个致命的缺陷就在于对操作系统的依赖程度太高,一旦系统出现问题将无能为力,影响到服务器的日常运行。而我们今天要向大家介绍的是一种无需依赖于操作系统的远程管理方式——基于智能平台管理界面 (IPMI)的远程管理方式。IPMI 定义管理员如何监测系统硬件和传感器、控制系统组件和检索重要系统事件的日志以进行远程管理和恢复。使用该种方式,用户无需担心操作系统的状态,即使系统崩溃也可以轻松得到机器状态、重要系统日志等信息,还能实现系统的重启、关机等控制,非常实用。接下来,就让我们一起来了解一下IPMI的使用情况吧。

  认识IPMI

  既然要使用IPMI,就让我们首先来认识一下这个神奇的东西吧。

  IPMI是智能型平台管理接口(Intelligent Platform Management Interface)的缩写,是管理基于 Intel结构的企业系统中所使用的外围设备采用的一种工业标准,该标准由英特尔、惠普、NEC、美国戴尔电脑和SuperMicro等公司制定。用户可以利用IPMI监视服务器的物理健康特征,如温度、电压、风扇工作状态、电源状态等。而且更为重要的是IPMI是一个开放的免费标准,用户无需为使用该标准而支付额外的费用。

使用IPMI工具实现对服务器的远程管理_第1张图片

DELL DRAC 5 远程控制卡

  自1998 年,IPMI论坛创建了IPMI标准依赖,其已经得到了170 多家供应商的支持,这使得其逐渐成为了一个完整地包括服务器和其他系统(如存储设备、网络和通信设备)的硬件管理规范,目前该标准最新版本为IPMI 2.0,该版本在原有基础上有了不少的改进,包括可以通过串口、Modem以及Lan等远程环境管理服务器系统(包括远程开关机),以及在安全、VLAN 和刀片支持等方面的提高。

  IPMI针对大量监控、控制和自动回复服务器的作业,提供了智能型的管理方式。此标准适用于不同的服务器拓朴学,以及Windows、Linux、 Solaris、Mac或是混合型的操作系统。此外,由于IPMI可在不同的属性值下运作,即使服务器本身的运作不正常,或是由于任何原因而无法提供服务,IPMI仍可正常运作。


2IPMI 工作原理


  
IPMI 工作原理

  IPMI的核心是一个专用芯片/控制器(叫做服务器处理器或基板管理控制器(BMC)),其并不依赖于服务器的处理器、BIOS或操作系统来工作,可谓非常地独立,是一个单独在系统内运行的无代理管理子系统,只要有BMC与IPMI固件其便可开始工作,而BMC通常是一个安装自爱服务器主板上的独立的板卡,现在也有服务器主板提供对IPMI支持的。IPMI良好的自治特性便克服了以往基于操作系统的管理方式所受的限制,例如操作系统不响应或未加载的情况下其仍然可以进行开关机、信息提取等操作。

  在工作时,所有的IPMI功能都是向BMC发送命令来完成的,命令使用IPMI规范中规定的指令,BMC接收并在系统事件日志中记录事件消息,维护描述系统中传感器情况的传感器数据记录。在需要远程访问系统时,IPMI新的LAN上串行(SOL)特性很有用。SOL改变IPMI会话过程中本地串口传送方向,从而提供对紧急管理服务、Windows专用管理控制台或Linux串行控制台的远程访问。BMC通过在LAN上改变传送给串行端口的信息的方向来做到这点,提供了一种与厂商无关的远程查看启动、操作系统加载器或紧急管理控制台来诊断和维修故障的标准方式。

使用IPMI工具实现对服务器的远程管理_第2张图片

IPMI 工作原理

  当需要对系统文本控制台进行远程访问时,Serial Over LAN (SOL) 功能将非常有用。SOL 通过 IPMI 会话重定向本地串行接口,允许远程访问 Windows 的紧急事件管理控制台 (EMS) 特殊管理控制台 (SAC),或访问 LINUX 串行控制台。这个过程的步骤是 IPMI 固件截取数据,然后通过局域网重新发送定向到串行端口的信息。 这就提供了远程查看 BOOT、OS 加载器或紧急事件管理控制台以诊断并修复服务器相关问题的标准方法,而无需考虑供应商。它允许在引导阶段配置各种组件。

  而在命令传输的安全性方面,用户也无需担心,IPMI增强的认证(基于安全哈希算法1和基于密钥哈希消息认证)和加密(高级加密标准和Arcfour)功能有助于实现安全的远程操作。对VLAN的支持更是为设置管理专用网络提供了方便,并且可以以通道为基础进行配置。

  一般来说,BMC具有以下功能:

  1.通过系统的串行端口进行访问

  2. 故障日志记录和 SNMP 警报发送

  3.访问系统事件日志 (System Event Log ,SEL) 和传感器状况

  4.控制包括开机和关机

  5.独立于系统电源或工作状态的支持

  6.用于系统设置、基于文本公用程序和操作系统控制台的文本控制台重定向

  而通过IPMI ,用户可以主动监测组件的状况,以确保不超出预置阈值,例如服务器温度。这样,通过避免不定期的断电,协助维护了 IT 资源的运行时间。 IPMI的预告故障能力也有助于 IT 周期的管理。通过检查系统事件日志 (SEL),可以更轻松的预先判定故障组件。


3本地服务器的设置


  IPMI 的使用

  在本例中,我们使用的是服务器是戴尔 PowerEdge R805,这是一款今年5月问世的一款2U机架式服务器,戴尔公司将其称为为虚拟化应用而生的产品,这款2U机架式服务器属于双路四核设计,采用的是AMD四核皓龙平台,而AMD巴塞罗那处理器由于采用了直连架构以及快速虚拟话变址、带标签的标记转换旁路缓冲器(TLB)、设备排斥向量等新技术,其在降低时延、提高虚拟化执行效率、加强虚拟设备管理以及提高虚拟环境安全性等方面都有着良好的表现。而且,这款产品提供了对IPMI 2.0标准的支持,用户可以直接使用。

使用IPMI工具实现对服务器的远程管理_第3张图片

戴尔 PowerEdge R805  图 库  评 测  论 坛  报 价

  要利用IPMI规范实现对服务器的远程管理,我们不仅需要本地服务器的支持,在远程控制端还需要有IPMI工具来进行控制。

使用IPMI工具实现对服务器的远程管理_第4张图片

DELL DRAC 5 远程控制卡

  在前面我们就说过IPMI是一个开放的标准,因此独立的工具软件也有不少,比较常用的有IPMITOOL、IPMIUTIL等,也有不少服务器厂商开发的工具。在本次实例中我们使用的是IPMIUTIL。

  本地服务器的设置

  要使用IPMI的远程管理功能需要先进行设置。在服务器启动过程中,会提示用户按下Ctrl+E进行有关设置,这时按Ctrl+E 进入IPMI管理界面。

使用IPMI工具实现对服务器的远程管理_第5张图片

IPMI的远程管理功能设置

  IPMI管理界面有众多选项,用户无需一一设置。首先,设置IPMI Over LAN为On,意思为启用通过LAN方式的IPMI。

  其次,在第二项NIC Selection中选择“Dedicated”(专用) — 选择此选项使远程访问设备能够使用 Remote Access Controller (RAC) 上的专用网络接口。此接口不与主机操作系统共享并会将管理通信路由到单独的物理网络,从而能够与应用程序通信分开。此选项只有在系统中装有 DRAC 卡时才可用,而本机装有该卡。

使用IPMI工具实现对服务器的远程管理_第6张图片

网络设置

  在第三项中设置IPMI接口的IP地址等信息,注意,这里的IP地址可以和服务器网卡的IP地址不同,而如果用户是通过局域网来进行IPMI控制,该IP地址须和控制端处于同一个网段之内。

  此外,用户还需要在“Lan User Configeration”中设置用户名与口令。设置完毕这些,用户按ESC建推出,系统会提示保存推出,选择之后带待系统重新启动用户就可以通过远程访问IPMI了。

使用IPMI工具实现对服务器的远程管理_第7张图片

用户设置

使用IPMI工具实现对服务器的远程管理_第8张图片

保存退出


4服务器远程管理


  服务器远程管理

  在控制端安装ipmiutil工具包之后,我们就可以通过一系列的命令来获取远端服务器相关信息并对其进行设置了。ipmiutil是一个工具包,其中包含了ipmiutil、hwrese等工具,它们分别有着不同的用途,比如hwrese可以用来启动、关闭服务器等。用户可以通过ipmiutil -?或类似命令来查看各工具的作用。

使用IPMI工具实现对服务器的远程管理_第9张图片

  
  从中看出,Ipmiutil安装完成后,会包含以下可执行命令:

   alarms –显示和设置Telco alarms报警(LED显示和延迟)
   bmchealth – 测试BMC是否工作正常。
   fruconfig – 显示FRU的产品信息,写入有用信息
   getevent – 接收一个IPMI event,并显示。
   hwreset – 用于使 firmware 硬重新启动或者关掉系统
   pefconfig – 用于显示和配置LAN端口,配置Platform Event Filter 表,来通过firmare event产生BMC Lan提示 
   sensor – 显示Sensor Data Records,值和阈值。 
   showsel – 显示System Event Log记录。
   tmconfig – 显示和配置BMC串口。 
   wdt – 显示和设置看门狗时间。
 
  以上命令种中最为常用的是sensor命令和pefconfig命令。使用sensor命令可以获取各种监测信息。使用pefconfig命令设置BMC,使得BMC可以在系统有event时候,进行报警。hwrese也比较常用,这个命令可以实现服务器的重启以及硬件开关机。

使用IPMI工具实现对服务器的远程管理_第10张图片

Sensor 命令帮助

  Ipmiutil的各种命令格式一般:

  命令名称  -所要进行的操作 -N nodename –U user –R passwd

  其中-N后面跟的是被监控服务器名字,-U后是用户名,-R后是用户密码。

使用IPMI工具实现对服务器的远程管理_第11张图片

远程开机

使用IPMI工具实现对服务器的远程管理_第12张图片

远程关机

  如 hwreset -u -N nodename –U user –R passwd 可实现服务器的开机。

使用IPMI工具实现对服务器的远程管理_第13张图片

Pefconfig命令的详细说明

  Pefconfig -e -N nodename –U user –R passwd命令用于设置BMC硬件,该命令将从操作系统收集相应的信息,并对bmc进行设置,使得BMC能够在有event时候报警。

使用IPMI工具实现对服务器的远程管理_第14张图片

设置不允许报警

  Pefconfig -d -N nodename –U user –R passwd将不允许报警。

  当命令顺利执行时,在执行完毕之后在最后会出现completed successfully的字样,而让用户命令由于输入错误等原因无法执行时系统也会相互现错误的提示.

使用IPMI工具实现对服务器的远程管理_第15张图片

命令执行出现问题时的提示

使用IPMI工具实现对服务器的远程管理_第16张图片

命令正确执行时的提示

  总结:

  从上面的使用实例看来,IPMI的确是一个实用性非常强的规范,其不依赖于服务器本身的处理器、操作系统等而进行工作,使得其受限制条件非常少,只要系统正常通电、网络接口正常工作便能够实现对服务器的控制,好好利用IPMI工具,相信一定能够为服务器的管理带来极大的便利。