阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

使用 ipmitool 对Linux服务器进行IPMI管理

388次阅读
没有评论

共计 6833 个字符,预计需要花费 18 分钟才能阅读完成。

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. 用于系统设置、基于文本公用程序和操作系统控制台的文本控制台重定向

       使用 ipmitool 对 Linux 服务器进行 IPMI 管理

         使用 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

          使用 ipmitool 对 Linux 服务器进行 IPMI 管理

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

           使用 ipmitool 对 Linux 服务器进行 IPMI 管理

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

         使用 ipmitool 对 Linux 服务器进行 IPMI 管理

         

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

root@linux:~# 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      

root@linux:~# ipmitool lan set 1 ipaddr  172.16.6.222
Setting LAN IP Address to 172.16.6.222
root@linux:~# 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 地址也必须和被监控服务端在同一网段,

root@Ubuntu:~# 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
root@ubuntu:~# ifconfig eth0:1 172.16.6.252 netmask 255.255.255.0
root@ubuntu:~# 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)

root@ubuntu:~# 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 通被监控服务器地址 则可以远程管理该主机。

root@ubuntu:~# 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

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-05/143528.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计6833字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中