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

IPMI工作原理:

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

 

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

 

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

BMC具有以下功能:

 

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

 

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

 

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

 

  4.控制包括开机和关机

 

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

 

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

使用 ipmi 的必要条件——必须在硬件、OS、管理工具等几个方面都满足:

1.服务器硬件本身提供对 ipmi 的支持 (硬件)
         目前惠普、戴尔和 NEC 等大多数厂商的服务器都支持 IPMI 2.0,但并不是所有服务器都支持,所以应该先通过产品手册或在 BIOS 中确定服务器是否支持 ipmi,也就是说服务器在主板上要具有 BMC 等嵌入式的管理微控制器。

这里拿DELL R710为例:

1) 启动服务器 使用ctrl+e 进去ipmi server mangement configuration

2)设置IPMI Over LAN 为On

3)进入IPMI Parameters 设置服务器ip/子网掩码 (也可以进去系统通过Ipmitool管理软件设置)

4)进入LAN User Confuguration 设置用户名 密码 (同样也可以进去系统通过Ipmitool管理软件设置)

2.操作系统提供相应的 ipmi 驱动  (OS)
         通过操作系统监控服务器自身的 ipmi 信息时需要系统内核提供相应的支持,linux 系统通过内核对 OpenIPMI(ipmi 驱动)的支持来提供对 ipmi 的系统接口。在使用驱动之前,请先启动该驱动:
          service ipmi start
          或者启动模块:
          modprobe ipmi_msghandler
          modprobe ipmi_devintf
          modprobe ipmi_si
          modprobe ipmi_poweroff
          modprobe ipmi_watchdog

3.ipmi 管理工具 (管理工具)
          Linux 下的命令行方式的 ipmi 平台管理工具 ipmitool。
          ipmitool 命令需要通过相应的interface来访问BMC,在本地获取信息时候采用的是-I open,即为OpenIPMI接口,IPMItool命令包含的接口有open、lan、lanplus。其中open是指的是OpenIPMI与 BMC通信,Lan是通过Ethernet LAN网用IPV4的udp协议与BMC通信。UDP的数据段包含了IPMI request/resoponse消息,消息具有一个IPMI session 头和RMCP 头。
          IPMI使用Remote Management Control Protocol (RMCP) 版本1支持操作系统关闭(pre-OS和OS-absent),RMCP把把数据发送到UDP的623端口。象lan接口一样,lanplus同样使用 Ethernet LAN 的UDP协议与BMC通信,但是lanplus使用RMCP+协议(在IPMIV20中描述)来同新,RMCP+允许使用改经的认证方式和数据完整性检查。Open端口用于本地监控系统使用的;Lan/lanplus通过网络进行远程监控。

利用ipmitool实现对Linux服务器的ipmi管理有2种方式:

1)通过OS监控本地服务,实现对本地服务器的管理。

架构:应用软件ipmitool <----------->OS提供支持ipmi系统接口<------------>硬件主板上有bmc芯片

通过ipmitool命令获取获取传感器中的各种监测值和该值的监测阈值,包括(CPU温度,电压,风扇转速,电源调制模块温度,电源电压等信息)

ipmitool本地监控使用命令:ipmitool -I open command,其中-I open表示使用OpenIPMI接口,command有以下项:
a)   raw:发送一个原始的IPMI请求,并且打印回复信息。
b)   lan:配置网络(lan)信道(channel)
c)   chassis :查看底盘的状态和配置电源
d)   event:向BMC发送一个已定义的事件(event),可用于测试配置的SNMP是否成功
e)   mc:  查看MC(Management Contollor)状态和各种允许的项
f)   sdr:打印传感器仓库中的任何监控项和从传感器读取到的值。
g)   sensor:打印周详的传感器信息。
h)   Fru:打印内建的Field Replaceable Unit (FRU)信息
i)   sel: 打印 System Event Log (SEL)      
j)   pef: 配置 Platform Event Filtering (PEF),事件过滤平台用于在监控系统发现有event时候,用PEF中的策略进行事件过滤,然后看是否需要报警。
k)   sol/isol:用于配置通过串口的Lan进行监控
l)   user:配置BMC中用户的信息 。
m)  channel:配置Management Controller信道。

  1.  
    root@linux:~# ipmitool -I open sensor list
  2.  
    Temp | na | degrees C | na | na | na | na | 85.000 | 90.000 | na
  3.  
    Temp | na | degrees C | na | na | na | na | 85.000 | 90.000 | na
  4.  
    Temp | na | degrees C | na | 64.000 | na | -128.000 | -128.000 | na | na
  5.  
    Temp | na | degrees C | na | -128.000 | na | -96.000 | -27.000 | na | na
  6.  
    Ambient Temp | 19.000 | degrees C | ok | na | 3.000 | 8.000 | 42.000 | 47.000 | na
  7.  
    Planar Temp | na | degrees C | na | na | 3.000 | 8.000 | 92.000 | 97.000 | na

2)通过网络监控远程服务器。

被监控服务器需要硬件和操作系统接口驱动的支持,可以无需安装应用软件。监控客户端需要应用软件如ipmitool工具,可以无需硬件和操作系统接口驱动的支持。

ipmi的远程监控是通过向与BMC相连的网络接口发送udp数据包实现的,udp数据包的定位是通过把ip地址写BMC芯片来实现,而这需要本地的Ipmi系统接口来完成连接。Ipmitool可以通过LAN远程监控系统,同时BMC中保存有一序列用户名和密码,通过LAN进行远端访问需要用户名和密码。

被监控服务器使用ipmitool更改ip,查看ip

  1.  
    root@linux:~# ipmitool lan set 1 ipaddr 172.16.6.222
  2.  
    Setting LAN IP Address to 172.16.6.222
  3.  
    root@linux:~# ipmitool lan print 1
  4.  
    Set in Progress : Set Complete
  5.  
    Auth Type Support : NONE MD2 MD5 PASSWORD
  6.  
    Auth Type Enable : Callback : MD2 MD5
  7.  
    : User : MD2 MD5
  8.  
    : Operator : MD2 MD5
  9.  
    : Admin : MD2 MD5
  10.  
    : OEM :
  11.  
    IP Address Source : Static Address
  12.  
    IP Address : 172.16.6.222
  13.  
    Subnet Mask : 255.255.255.0
  14.  
    MAC Address : a4:ba:db:4d:3f:2d
  15.  
    SNMP Community String : public
  16.  
    IP Header : TTL=0x40 Flags=0x40 Precedence=0x00 TOS=0x10
  17.  
    Default Gateway IP : 0.0.0.0
  18.  
    Default Gateway MAC : 00:00:00:00:00:00
  19.  
    Backup Gateway IP : 0.0.0.0
  20.  
    Backup Gateway MAC : 00:00:00:00:00:00
  21.  
    802.1q VLAN ID : Disabled
  22.  
    802.1q VLAN Priority : 0
  23.  
    RMCP+ Cipher Suites : 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14
  24.  
    Cipher Suite Priv Max : aaaaaaaaaaaaaaa
  25.  
    : X=Cipher Suite Unused
  26.  
    : c=CALLBACK
  27.  
    : u=USER
  28.  
    : o=OPERATOR
  29.  
    : a=ADMIN
  30.  
    : O=OEM

监控客户端Ipmi ip地址也必须和被监控服务端在同一网段,

  1.  
    root@ubuntu:~# ipmitool lan print 1
  2.  
    Set in Progress : Set Complete
  3.  
    Auth Type Support : NONE MD2 MD5 PASSWORD
  4.  
    Auth Type Enable : Callback : MD2 MD5
  5.  
    : User : MD2 MD5
  6.  
    : Operator : MD2 MD5
  7.  
    : Admin : MD2 MD5
  8.  
    : OEM :
  9.  
    IP Address Source : Static Address
  10.  
    IP Address : 172.16.6.175
  11.  
    Subnet Mask : 255.255.255.0
  12.  
    MAC Address : a4:ba:db:1b:81:48
  13.  
    SNMP Community String : public
  14.  
    IP Header : TTL=0x40 Flags=0x40 Precedence=0x00 TOS=0x10
  15.  
    Default Gateway IP : 0.0.0.0
  16.  
    Default Gateway MAC : 00:00:00:00:00:00
  17.  
    Backup Gateway IP : 0.0.0.0
  18.  
    Backup Gateway MAC : 00:00:00:00:00:00
  19.  
    802.1q VLAN ID : Disabled
  20.  
    802.1q VLAN Priority : 0
  21.  
    RMCP+ Cipher Suites : 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14
  22.  
    Cipher Suite Priv Max : aaaaaaaaaaaaaaa
  23.  
    : X=Cipher Suite Unused
  24.  
    : c=CALLBACK
  25.  
    : u=USER
  26.  
    : o=OPERATOR
  27.  
    : a=ADMIN
  28.  
    : O=OEM
  1.  
    root@ubuntu:~# ifconfig eth0:1 172.16.6.252 netmask 255.255.255.0
  2.  
    root@ubuntu:~# ifconfig
  3.  
    eth0 Link encap:Ethernet HWaddr a4:ba:db:1b:81:40
  4.  
    inet addr:10.1.6.175 Bcast:10.1.6.255 Mask:255.255.255.0
  5.  
    inet6 addr: fe80::a6ba:dbff:fe1b:8140/64 Scope:Link
  6.  
    UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
  7.  
    RX packets:107931 errors:0 dropped:18357 overruns:0 frame:0
  8.  
    TX packets:12671 errors:0 dropped:0 overruns:0 carrier:0
  9.  
    collisions:0 txqueuelen:1000
  10.  
    RX bytes:13418631 (13.4 MB) TX bytes:1551309 (1.5 MB)
  11.  
     
  12.  
    eth0:1 Link encap:Ethernet HWaddr a4:ba:db:1b:81:40
  13.  
    inet addr:172.16.6.252 Bcast:172.16.6.255 Mask:255.255.255.0
  14.  
    UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
  15.  
     
  16.  
    lo Link encap:Local Loopback
  17.  
    inet addr:127.0.0.1 Mask:255.0.0.0
  18.  
    inet6 addr: ::1/128 Scope:Host
  19.  
    UP LOOPBACK RUNNING MTU:16436 Metric:1
  20.  
    RX packets:2 errors:0 dropped:0 overruns:0 frame:0
  21.  
    TX packets:2 errors:0 dropped:0 overruns:0 carrier:0
  22.  
    collisions:0 txqueuelen:0
  23.  
    RX bytes:178 (178.0 B) TX bytes:178 (178.0 B)
  24.  
     
  25.  
    root@ubuntu:~# ping 172.16.6.222
  26.  
    PING 172.16.6.222 (172.16.6.222) 56(84) bytes of data.
  27.  
    64 bytes from 172.16.6.222: icmp_req=1 ttl=64 time=0.458 ms
  28.  
    64 bytes from 172.16.6.222: icmp_req=2 ttl=64 time=0.514 ms

能够Ping通被监控服务器地址 则可以远程管理该主机。

  1.  
    root@ubuntu:~# ipmitool -I lanplus -H 172.16.6.222 -U root -P password sol activate
  2.  
    [SOL Session operational. Use ~? for help]
  3.  
     
  4.  
    LTS debian ttyS1
  5.  
     
  6.  
    debian login:

看到以上界面,说明客户端已经可以登录或查看被监控服务器。

以下是ipmitool在生产环境下常用命令:

查看ipmi信息 #ipmitool mc info
人员             #ipmitool user list 1

查看绑定IP  #ipmitool  lan print 1

更改IP   #ipmitool lan set 1 ipaddr  x.x.x.x

更改密码 #ipmitool user list 1
              #ipmitool user set password 2 "123456"

ipmitool的SQL远程控制服务器  #ipmitool -I lanplus -H x.x.x.x  -U  root -P  password sol (de)activate

强制重启(关闭或开启)被监控服务器     #ipmitool -I lanplus -H x.x.x.x -U root -P password chassis power reset (off on)

列出日志  ipmitool sel list

快捷键      shift + ~ +.  是退出ipmi

BMC ipmitool 对linux服务器进行IPMI管理的更多相关文章

  1. 使用 ipmitool 实现 Linux 系统下对服务器的 ipmi 管理

    http://www.ibm.com/developerworks/cn/linux/l-ipmi/ 1.简介 IPMI(Intelligent Platform Management Interfa ...

  2. Linux服务器,服务管理--systemctl命令详解,设置开机自启动

    Linux服务器,服务管理--systemctl命令详解,设置开机自启动 syetemclt就是service和chkconfig这两个命令的整合,在CentOS 7就开始被使用了. 摘要: syst ...

  3. Linux 服务器用户权限管理改造方案与实施项目

    Linux 服务器用户权限管理改造方案与实施项目 在了解公司业务流程后,提出权限整改方案改进公司超级权限root泛滥的现状. 我首先撰写方案后,给boss看,取得boss的支持后,召集大家开会讨论. ...

  4. Linux入门(五)linux服务器文件远程管理

     1 使用filezila远程管理linux服务器文件 filezila下载地址:https://filezilla-project.org/ filezila默认只能登录普通用户,如果想要root用 ...

  5. linux服务器的日志管理

    消息紧急程度排行 emerg:该系统不可用 alert:需要立即修改 crit:紧急情况 err:错误信息 warning:预警信息 notice:具有重要性的普通条件 info:提供信息的消息 de ...

  6. 使用IPMI控制/监控Linux服务器

    1       IPMI简述 IPMI提供了很多丰富功能,我使用的功能,说得大白话一点,就是: 1.获取本设备的硬件信息:包括CPU和主板的温度.电压.风扇转速. 2.在设备A上,通过命令,控制远程设 ...

  7. windows下运行的linux服务器批量管理工具(带UI界面)

    产生背景: 由于做服务器运维方面的工作,需要一人对近千台LINUX服务器进行统一集中的管理,如同时批量对LINUX服务器执行相关的指令.同时批量对LINUX服务器upload程序包.同时批量对LINU ...

  8. 使用Java管理千台规模Linux服务器_入门

    http://www.oschina.net/code/snippet_222919_11734 代码分享 当前位置: 代码分享 » Java  » 网络编程 搜 索   [饶过] 使用Java管理千 ...

  9. Linux服务器GlashFish的Domain管理

    1.本文内容 Glassfish(V3.1)的Domain创建,删除,登陆,部署等 Linux客户端工具: SecureCRTPortable和 WinSCP (请自行下载) 2.1 新建Domain ...

随机推荐

  1. plsql的特殊复制

    转载自:https://jingyan.baidu.com/article/2fb0ba409c8c2100f2ec5f91.html PL/SQL中写好的SQL语句,如果要放到JAVA文件中,如果很 ...

  2. Guava Cache用法介绍<转>

    Guava Cache是在内存中缓存数据,相比较于数据库或redis存储,访问内存中的数据会更加高效.Guava官网介绍,下面的这几种情况可以考虑使用Guava Cache: 愿意消耗一些内存空间来提 ...

  3. 180510.最近踩过和听过的sql的坑

    1. in的巨坑 CREATE TABLE #tmp1 (id INT, value int) CREATE TABLE #tmp2 (id1 INT, value int) ,),(,),(,) , ...

  4. VS调试不能进入断点,提示当前不会命中断点还未为文档加载任何符号

    经过仔细检查后发现,是DLL版本和源码生成的DLL版本不一致,造成的! 复制新的过去,问题就解决了.

  5. textarea 分割

    var orderNo = $("#orderNo").val();var orderNo = orderNo.toString().split(/\r?\n/);

  6. eclipse如何安裝JPA 和Data Source Explorer

    安裝Data Source Explorer https://blog.csdn.net/XIAOZHI0999/article/details/61199801?utm_source=blogxgw ...

  7. bootstrap 使用总结

    1.如何设置一行两列? <div class="container"> <div class="row"> <div class= ...

  8. Kali Linux安装

    Kali Linux 安装过程参考:https://blog.csdn.net/qq_40950957/article/details/80468030 安装完成后,apt-get install 安 ...

  9. [ACM-ICPC 2018 徐州赛区网络预赛][D. Easy Math]

    题目链接:Easy Math 题目大意:给定\(n(1\leqslant n\leqslant 10^{12}),m(1\leqslant m\leqslant 2*10^{9})\),求\(\sum ...

  10. java导入、导出Excel文件

    一.介绍 当前B/S模式已成为应用开发的主流,而在企业办公系统中,常常有客户这样子要求:你要把我们的报表直接用Excel打开(电信系统.银行系统).或者是:我们已经习惯用Excel打印.这样在我们实际 ...