港服务器 IPMI 概述
IPMI(智能平台管理接口的缩写)的官方定义是,基于硬件的平台管理系统的一组标准化规范,可以集中控制和监视服务器。更简单的 IMPI 定义是,服务器的安全防护。
IMPI 的主要功能是监视硬件状态(包括温度、功耗、电压等),记录服务器数据,并允许访问服务器(即使操作系统未安装或出现故障)。对于任何关心香港服务器状态和信息的人来说,这显然非常方便。
什么是 IPMI,它的主要优势是什么?
IPMI 是用于控制和管理香港服务器的硬件解决方案。与系统诊断软件相比,它具有显著的差异和优点。例如,IPMI 使您能够在本地远程管理远在香港地区的物理服务器,而不管安装的操作系统是什么。这是因为IPMI 是一项行业标准,由英特尔与戴尔、惠普和 NEC 合作开发。它的主要优势有:
- 它持续监控服务器运行状况,并为可能出现的系统故障发出预警。
- IPMI 独立于服务器运行,并且始终可访问。
- 配置更改非常简单。
- 使用户能够在没有 SSH 登录或操作系统访问的情况下访问和更改 BIOS。
- 即使关闭服务器,也可以恢复服务器。
- IMPI 是绝大多数硬件供应商支持的通用标准。
香港服务器 IPMI 的主要特性和组件
根据设计,IPMI 致力于采用与软件无关的方法,同时独立于服务器的 BIOS、CPU 和操作系统运行。它的成功和多功能性背后的秘诀在于它能够有效地执行以下四个功能:
- 监视和监督服务器
- 恢复和重新启动服务器
- 记录服务器状态
- 列出所有服务器清单
但是,如果没有以下关键组件,这一切都是不可能的:
- 基板管理控制器 (BMC):微控制器,是任何 IPMI 的核心和基本组件。
- 智能机箱管理总线 (ICMB):允许从一个机箱到另一个机箱进行通信的接口。
- 智能平台管理总线 (IPMB):使用管理控制器扩展 BMC,同时符合 IPMB 通信协议。
- IPMI 存储器:IPMI 的传感器数据记录、系统事件日志、现场可更换单元和存储库存储数据。
- 通信接口:这些接口包括本地系统接口、串行接口、LAN 接口、ICMB 和 PCI 管理总线。
IPMI v1.5 和 v2.0 规格之间的差异
自版本 1.0 以来,IPMI 规范经历多次更新,其中包含针对 v1.5 和 v2.0 所做的各种重要添加,我们在此处列出这些更新:
如何访问 IPMI
访问 IPMI 管理器是一个相对简单的过程,但我们建议使用 IPMI v2.0,因为它具有更多定义的协议,可最大限度地提高对服务器的管理控制。通过 LAN 或互联网连接到 IPMI 管理器后,管理器将利用 IPMI over IP 与服务器主板上的 BMC 连接。然后,BMC 使用系统总线与 BIOS、CPU、OS、电源和传感器连接,从而允许管理 CPU 速度、风扇速度、电压、温度、事件日志和重新启动服务器。
IPMI 功能强大,执行非常简单,如今几乎每个服务器都配备了它。但是,并非所有服务器提供程序都提供相同的访问权限。与大多数海外服务器提供商不同,我们的香港服务器可让您访问所使用的每台服务器的 IPMI。您可以完全控制,并可以随时检查您的服务器。由于 IPMI IP 地址是黑客的热门目标,因此所有 IPMI 流量都仅通过我们的内部网络运行。无需在访问和安全性之间做出选择,您可以使用我们的香港服务器(以及24 / 7支持)同时拥有两者。
IPMI是智能型平台管理接口(Intelligent Platform Management Interface)的缩写,是管理基于 Intel结构的企业系统中所使用的外围设备采用的一种工业标准,该标准由英特尔、惠普、NEC、美国戴尔电脑和SuperMicro等公司制定。用户可以利用IPMI监视服务器的物理健康特征,如温度、电压、风扇工作状态、电源状态等。
IPMI工作原理:
IPMI的核心是一个专用芯片/控制器(叫做服务器处理器或基板管理控制器(BMC)),其并不依赖于服务器的处理器、BIOS或操作系统来工作,可谓非常地独立,是一个单独在系统内运行的无代理管理子系统,只要有BMC与IPMI固件其便可开始工作,而BMC通常是一个安装在服务器主板上的独立的板卡,现在也有服务器主板提供对IPMI支持的。IPMI良好的自治特性便克服了以往基于操作系统的管理方式所受的限制,例如操作系统不响应或未加载的情况下其仍然可以进行开关机、信息提取等操作。
BMC具有以下功能:
使用 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信道。
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