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

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信道。

[email protected]:~# ipmitool -I open sensor list

Temp             | na         | degrees C  | na    | na        | na        | na        | 85.000    | 90.000    | na

Temp             | na         | degrees C  | na    | na        | na        | na        | 85.000    | 90.000    | na

Temp             | na         | degrees C  | na    | 64.000    | na        | -128.000  | -128.000  | na        | na

Temp             | na         | degrees C  | na    | -128.000  | na        | -96.000   | -27.000   | na        | na

Ambient Temp     | 19.000     | degrees C  | ok    | na        | 3.000     | 8.000     | 42.000    | 47.000    | na

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

[email protected]:~# ipmitool lan set 1 ipaddr  172.16.6.222

Setting LAN IP Address to 172.16.6.222

[email protected]:~# ipmitool lan print 1

Set in Progress         : Set Complete

Auth Type Support       : NONE MD2 MD5 PASSWORD

Auth Type Enable        : Callback : MD2 MD5

: User     : MD2 MD5

: Operator : MD2 MD5

: Admin    : MD2 MD5

: OEM      :

IP Address Source       : Static Address

IP Address              : 172.16.6.222

Subnet Mask             : 255.255.255.0

MAC Address             : a4:ba:db:4d:3f:2d

SNMP Community String   : public

IP Header               : TTL=0x40 Flags=0x40 Precedence=0x00 TOS=0x10

Default Gateway IP      : 0.0.0.0

Default Gateway MAC     : 00:00:00:00:00:00

Backup Gateway IP       : 0.0.0.0

Backup Gateway MAC      : 00:00:00:00:00:00

802.1q VLAN ID          : Disabled

802.1q VLAN Priority    : 0

RMCP+ Cipher Suites     : 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14

Cipher Suite Priv Max   : aaaaaaaaaaaaaaa

:     X=Cipher Suite Unused

:     c=CALLBACK

:     u=USER

:     o=OPERATOR

:     a=ADMIN

:     O=OEM

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

[email protected]:~# ipmitool lan print 1

Set in Progress         : Set Complete

Auth Type Support       : NONE MD2 MD5 PASSWORD

Auth Type Enable        : Callback : MD2 MD5

: User     : MD2 MD5

: Operator : MD2 MD5

: Admin    : MD2 MD5

: OEM      :

IP Address Source       : Static Address

IP Address              : 172.16.6.175

Subnet Mask             : 255.255.255.0

MAC Address             : a4:ba:db:1b:81:48

SNMP Community String   : public

IP Header               : TTL=0x40 Flags=0x40 Precedence=0x00 TOS=0x10

Default Gateway IP      : 0.0.0.0

Default Gateway MAC     : 00:00:00:00:00:00

Backup Gateway IP       : 0.0.0.0

Backup Gateway MAC      : 00:00:00:00:00:00

802.1q VLAN ID          : Disabled

802.1q VLAN Priority    : 0

RMCP+ Cipher Suites     : 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14

Cipher Suite Priv Max   : aaaaaaaaaaaaaaa

:     X=Cipher Suite Unused

:     c=CALLBACK

:     u=USER

:     o=OPERATOR

:     a=ADMIN

:     O=OEM

[email protected]:~# ifconfig eth0:1 172.16.6.252 netmask 255.255.255.0

[email protected]:~# ifconfig

eth0      Link encap:Ethernet  HWaddr a4:ba:db:1b:81:40

inet addr:10.1.6.175  Bcast:10.1.6.255  Mask:255.255.255.0

inet6 addr: fe80::a6ba:dbff:fe1b:8140/64 Scope:Link

UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

RX packets:107931 errors:0 dropped:18357 overruns:0 frame:0

TX packets:12671 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:13418631 (13.4 MB)  TX bytes:1551309 (1.5 MB)

eth0:1    Link encap:Ethernet  HWaddr a4:ba:db:1b:81:40

inet addr:172.16.6.252  Bcast:172.16.6.255  Mask:255.255.255.0

UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

lo        Link encap:Local Loopback

inet addr:127.0.0.1  Mask:255.0.0.0

inet6 addr: ::1/128 Scope:Host

UP LOOPBACK RUNNING  MTU:16436  Metric:1

RX packets:2 errors:0 dropped:0 overruns:0 frame:0

TX packets:2 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:0

RX bytes:178 (178.0 B)  TX bytes:178 (178.0 B)

[email protected]:~# ping 172.16.6.222

PING 172.16.6.222 (172.16.6.222) 56(84) bytes of data.

64 bytes from 172.16.6.222: icmp_req=1 ttl=64 time=0.458 ms

64 bytes from 172.16.6.222: icmp_req=2 ttl=64 time=0.514 ms

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

6

[email protected]:~# ipmitool -I lanplus -H 172.16.6.222 -U root -P password sol activate

[SOL Session operational.  Use ~? for help]

LTS debian ttyS1

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

时间: 2024-07-29 18:39:55

使用 ipmitool 实现 Linux 系统下对服务器的BMC管理的相关文章

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

http://www.ibm.com/developerworks/cn/linux/l-ipmi/ 1.简介 IPMI(Intelligent Platform Management Interface)即智能平台管理接口是使硬件管理具备“智能化”的新一代通用接口标准.用户可以利用 IPMI 监视服务器的物理特征,如温度.电压.电扇工作状态.电源供应以及机箱入侵等.Ipmi 最大的优势在于它是独立于 CPU BIOS 和 OS 的,所以用户无论在开机还是关机的状态下,只要接通电源就可以实现对服

Linux系统下用户与组的管理

Linux系统下用户与组的管理 一.用户及组基本概述 Linux 系统上,用户管理是基于用户名和密码的方式进行资源的分配. 1.uid(用户身份标识) (1)root用户 uid为0 (2)普通用户:1--65535 系统用户 系统已经已经存在专门用来对系统服务或者系统资源进行管理的 1--499(CentOS 6.X) 1--999 (CentOS 7.X) 登录用户(平时专门做系统管理的用户) 500+ (CentOS 6.X) 1000+ (CeentOS 7.X) 2.gid(用户组身份

详解Linux系统下PXE服务器的部署过程

在大规模安装服务器时,需要批量自动化方法来安装服务器,来减少日常的工作量. 但是批量自动化安装服务器的基础是网络启动服务器(bootserver). 下面我们就介绍一下 网络启动服务器的 安装和配置方法,供大家实践之用!1. 本文用到的术语解释PXEPXE(Pre-boot Execution Environment)是由Intel设计的协议,它可以使计算机通过网络而不是从本地硬盘.光驱等设备启动.现代的网卡,一般都内嵌支持PXE的ROM芯片.当计算机引导时,BIOS把PXE client调入内

Linux系统下FTP服务器的配置

FTP服务器的配置   一FTP服务器的安装 1)ftp服务器安装后生成的相关文件 /etc/logrotate.d/vsftpd  #实现日志滚动的程序 /etc/pam.d/vsftpd  #用户认证配置文件 /etc/rc.d/init.d/vsftpd  #服务脚本 /etc/vsftpd #配置文件所在目录 /etc/vsftpd/ftpusers  #控制哪些用户是否可登陆ftp /etc/vsftpd/user_list  #控制哪些用户是否可登陆ftp /etc/vsftpd/v

linux系统下本地搭建git服务器

linux系统下如何搭建本地git服务器,用于存放团队的开发代码,如下步骤: 1.先用一台服务器来安装git,安装好linux以后,在这里选用的是Ubuntu 14.04.然后配置静态IP:172.16.0.110.执行下面命令: >> sudo apt-get install git 2.创建一个git用户: >> sudo adduser git 3.建立/home/git/.ssh/authorized_keys文件,将团队每个人的~/.ssh/id_rsa.pub文件复制到

linux系统下搭建自己的web服务器

之前在windows 2008 server上搭建了一个用于测试的web服务器,但是在打开网站的时候特别的慢,尤其是图片的加载都会失败,当时以为是路径的问题,但是在服务器上自己打开都特别慢,自己实在找不到原因,所以打算不在一棵树上面吊死,准备去linux下试试. 经常被拿来当服务器的有centos.ubuntu......考虑到自己只有ubuntu的镜像并且只是自己做一些简单的测试使用,所以选择的版本是ubuntu14.04LTS.在这个平台上搭建自己的web服务器 相比在windows下的wa

第九章 Linux系统下分区、格式化磁盘,学会挂载和卸载磁盘

1. 请查资料了解这些术语:/dev/hda, /dev/hdb, /dev/sda, /dev/sdb, 他们之间有什么区别?/dev/hda, /dev/hdb 是 IDE借口硬盘的块文件. /dev/hda  第一块IDE磁盘 : /dev/hdb 第二块IDE磁盘 /dev/sda, /dev/sdb 是SCSI接口硬盘的块文件. /dev/sda 第一块SCSI磁盘 :/dev/sdb 第二块SCSI磁盘 2. 为什么 du -b /etc/passwd  和 du -k  /etc/

linux系统下文件查找

在我们实际应用中,经常需要查找某个特定的文件,或者根据文件的某个特定属性进行查找,今天小菜就给大家分享一下,linux系统下文件查找的两大利器: 1,locate:非实时查找(基于预先生成的数据库查找):模糊匹配:速度快 2,find:实时查找(遍历目录中的所有文件完成查找):精确匹配,支持众多查找标准:速度慢 一.locate 查询系统上预先生成的文件索引数据库:/var/lib/mlocate/mlocate.db 依赖于事先构建的索引:索引的构建是在系统较为空闲时自动进行(周期性任务) 管

linux系统下,11款常见远程桌面控制软件

linux系统下,11款常见远程桌面控制软件 一. Grdc 它是一个用GTK+编写的,适用于gnome桌面环境的远程桌面访问软件.看图: 常见功能: 1.提供全屏,窗口化的远程控制.支持高分辨率下的窗口显示以及调整. 2.可浮动的工具栏 3.可抓取键盘 4.支持建立一个“常用访问列表” 5.连接快速,高效 6.全屏模式下,当鼠标划过屏幕边缘时自动滚动 7.全屏模式下工具栏同样支持浮动效果,可直接进行例如模式切换,键盘抓取最小化等常见操作. 8. rdesktop 支持RDP协议, 9. 支持