当前位置:文档之家› IPMI简述

IPMI简述

IPMI简述
IPMI简述

简介

在维护过程中,服务器难免会死机,此时如果服务器远在“天边”,“千里奔波”只是为了按一下电钮,不仅“劳命伤财”,也不符合SA“决胜千里之外”的风格。

此时,我们希望做到:

?一条命令重启(启动/关闭)服务器

?一条命令检查服务器状态

?(远程)终端诊断启动问题,解决ssh服务无法访问的问题

解决的方案是采用IPMI(Intel公司推出的远程管理解决方案),也称为Baseboard Management Cards (BMCs) ,可以在服务器通电(没有启动操作系统)情况下对服务器进行远程管理。

Dell的 Baseboard Management Controller (BMC) 是IPMI的一个实现。该BMC 可以通过主板集成的第一块网卡实现网络管理。并且这个BMC管理IP是独立的IP地址(需要单独占用)。

在设置 IPMI时,建议先在主机前设置,因为多数IPMI命令关闭主机时也会杀掉BMC,这样需要手工按电源开关启动服务器,只有确实完成了所有设置,则不再需要现场操作。为实现管理,需要一个Linux主机安装IPMI命令包来发出IPMI指令,在其他操作系统平台,也有类似IPMI软件包。

Dell服务器实现:

?Dell服务器在1850/2850系列中,实现了IPMI v1.5规范,也就是能够通过ipmi指令来关闭和重启服务器,但是不能ipmi控制台登录。

?Dell服务器在1950/2950之后,实现了IPMI v2.0规范,不仅能够远程重启服务器,并且能够通过ipmi控制台,远程维护服务器(即使操作系

统死机,ssh网络无法登录),控制台重定向到ipmi控制台(这样可以

远程连接服务器,就像连接了键盘和显示器),对于我们故障抢修有很大帮助。

唯一要求的是,在系统实施的时候,要提前设置:

?BIOS中设置好串口控制台重定向(如果这一步不设置,则启动时BIOS信息不能查看,但仍然可以使用IPMI远程管理)服务器启动时设置Remote Access IP和帐号密码用于IPMI管理

?这个步骤也可以在操作系统中通过命令来实现。也就是说,即使一些服务器已经安装部署了,不方便再出差去调整配置,只要我们能够远程ssh

登录到操作系统,仍然可以通过软件的方式来开启IPMI管理。

?建议在实施的时候,提前设置好IPMI配置,并验证使用。毕竟远程设置存在一些风险。另外,在设置前,先在本地做好详尽测试,确保设置无误。

配置IPMI(BMC)远程工作

有两种方式配置IPMI,一种是启动服务器时进入Remote Access

Setup系统(BIOS 启动自检),可以激活IPMI远程访问;另一种方式是安装了Linux操作系统,在Linux操作系统中使用ipmitool来设置(前提是已经加载了一些ipmi内核模块)。

BIOS启动时设置

在BIOS启动最后阶段,按下ctrl-e进入Remote Access

Setup管理界面,并激活IPMI远程访问

?激活IPMI Over LAN

激活时会提示BMC Management traffic will not function properly if the LAN on Motherboad (LOM) is teamed with any network adapter add-in-cards,这表明如果主板上网卡和附加网卡 bonding时,IPMI功能将失效。

?NIC Seclection设置默认是Shared状态,另外两种状态是

Shared-Failover和Dedicated where applicable

o LAN Parameters设置

?IP Address Source默认是Static静态分配方式,另一种

模式为DHCP模式。通常IPMI为了能够管理,设置静态地址

较好。

?Etnernet IP Address设置为192.168.8.213

?Subnet Mask设置为255.255.255.0

?Default Gateway根据情况设置。要保证设置了默认网关

后,能够通过IPMI方式访问服务器的管理主机的访问是有

限制的和安全的,否则会存在安全隐患。

?VLAN Enable默认没有激活,或许适合在复杂的VLAN网络

中使用。

o LAN User Configuration是重要设置,保障IPMI访问安全

?Account Access默认激活

?Account Privilege默认权限是Admin

?Account User Name默认用户名是root

?设置访问密码

操作系统上使用ipmitool命令设置IPMI

2 /usr/bin/ipmitool -I open lan set 1 netmask 255.255.255.0

3 /usr/bin/ipmitool -I open lan set 1 access on

如果需要设置网关,则输入以下命令

?加强BMC安全,这样非授权用户才不会重启服务器。为做到这点,首先是需要修改默认的SNMP通讯串,null用户密码,以及root用户密码。

?设置null用户的密码

?设置root用户密码

?检查配置(在服务器上本地执行)

操作系统准备

?安装 IPMItool 和启动脚本

在Redhat Enterprise服务器需要安装 OpenIPMI OpenIPMI-tools

OpenIPMI-libs 和 OpenIPMI-devel 软件包。安装完成后可以实现所有功能。

?安装OpenIPMI

?安装 OpenIPMI-tools

?启动服务

2 /sbin/service ipmi start

?安装freeipmi,该软件包包含 ipmiconsole

Gentoo平台安装IPMI软件包

https://www.doczj.com/doc/967500879.html,/wiki/Dell_PowerEdge_2950_III提供了有关在Dell PowerEdge 2950 III安装gentoo的资料,也提供了IPMI安装介绍

?内核要求(注意客户机和服务器都需要支持)。不过,客户端不需要启动ipmievd服务,因为缺少设备/dev/ipmi0 /dev/ipmi/0 /dev/ipmidev/0

Device Drivers --->

Character devices --->

IPMI top-level message handler --->

[*] Generate a panic event to all BMCs on a panic

[*] Generate OEM events containing the panic string

Device interface for IPMI

IPMI System Interface handler

IPMI Watchdog Timer

IPMI Poweroff

?安装IPMI软件包

2 rc-update add ipmievd default;

启动ipmievd报错信息表明系统没有支持ipmi功能模块(不过客户机不需要启动此服务)

ipmievd: using pidfile /var/run/ipmievd.pid0

Could not open device at /dev/ipmi0 or /dev/ipmi/0 or /dev/ipmidev/0: No such file or directory

Unable to open interface

* start-stop-daemon: failed to start `/usr/sbin/ipmievd' [ !! ]

* ERROR: ipmievd failed to start

ipmitool

检查当前配置

[root@ws02 ~]# ipmitool -I open 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 : MD2 MD5

IP Address Source : Static Address

IP Address : 192.168.8.213

Subnet Mask : 255.255.255.0

MAC Address : 00:1e:4f:36:ef:9f

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

?客户端远程检查服务器状态

使用ipmitool

?可以设置一个环境变量 IPMI_PASSWORD ,该环境变量就是你使用的密码。

1 e xport IPMI_PASSWORD="PASSWORD"

然后在使用时,只要使用参数-a就可以使用以上密码。

?以下命令检查目标服务器是否启动

则可能获取到如下信息

Chassis Power is on

如果没有收到任何信息,则检查BMC是否设置正确,是否使用正确密码,以及

IP地址。特别检查 Ctrl-E 启动菜单。

?关闭目标服务器电源

?重启目标服务器

?显示目标服务器的系统日志(sel, system event log)

ipmi端口镜像

BIOS串口重定向

参考https://www.doczj.com/doc/967500879.html,/13317.html

要让控制台能够从IPMI网络输出,需要同时配置 BIOS, GRUB 和 ttyS1 以从IPMI网络输出。注意:COM2/ttyS1是逻辑的(mandatory),可能并不适合使用COM1/ttyS0。

重新启动服务器,按F2访问BIOS,在Serial Communication菜单设置:?设置 Serial Communication 为 On with Console Redirection via COM2 ?设置 External Serial Connector 为 COM2

?设置 Failsafe Baud Rate 为 115200(这个设置似乎不影响)

?设置 Remote Terminal Type 为 VT100/VT220

设置 Set Redirection After Boot 为 Enabled

以上设置完成后,一旦服务器重启,就可以使用以下命令

访问服务器。

服务器启动的BIOS自检信息将在终端中输出。并且,可以使用IPMI方式,在远程终端中查看和设置BIOS信息(虚拟 kvm)

不过,启动到操作系统级别后,控制台输出将不走IPMI。因为,尚没有设置grub 的串口输出(见下配置)。

Grub串口重定向

参考:https://www.doczj.com/doc/967500879.html,/archive/index.php/t-439550.html 一些服务器可以实现将原来串口输出的内容镜像到IPMI接口上。

在启动的grub.conf中添加

01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 timeout=10

#for IPMI Setup serial (COM2) ,不过不要设置以下串口配置!!!(仅作参考) # 按照参考文档,在这里需要设置串口的速率。但是我在实践中发现,一旦设置了串口配置, # 启动时就必须在GRUB 提示"Press any key to continue"时在主机前的键盘或者远程ipmi 控制台按一下回车键。 # 如果没有按回车键,系统就会挂在那里。等到超时以后,不论主机键盘或ipmi 控制台都没有响应,只能reset 电源重启,非常麻烦。 # serial --unit=1 --speed=57600 --word=8 --parity=no --stop=1 # terminal --timeout=5 serial console #splashimage=(hd0,0)/boot/grub/splash.xpm.gz hiddenmenu title CentOS (2.6.18-164.11.1.el5PAE) root (hd0,0) kernel /boot/vmlinuz-2.6.18-164.11.1.el5PAE ro root=LABEL=/1 console=tty0 console=ttyS1,57600n8

initrd /boot/initrd-2.6.18-164.11.1.el5PAE.img

并且在/etc/inittab 中的6个mingetty 行下添加

注意:控制台重定向的bit 率要设置为57600!

已经测试,设置为115200/9600会导致一旦grub 开始输出控制台,则ipmitool 中输出的都是乱字符。如果设置为19200,启动到中途会挂起,即不继续 启动,也没有输出。

控制台连接

联机服务器

或者使用

1 i pmitool -I lanplus -H 10.0.99.x -U login -P password sol activate 参考

?Running IPMI on Linux详细的IPMI部署文档

?How to Configure IPMI on a Dell PowerEdge running Red Hat Enterprise Linux这个文档介绍了IPMI软件在dell服务器redhat linux上的安装,以及基本的服务器重启方法,但没有详细介绍控制台重定向,所以需要参考下一个文档。

?Remote Console Access with IPMI on Dell 2950这个文档比较清晰明了,特别介绍了在BIOS中启用IPMI和通过操作系统软件启用IPMI方法,重点参考。另外,远程终端访问功能特别重要,需要仔细学习。

?Howto setup IPMI under Linux (RHEL/CentOS 5) on the HP BL460c (Intel(R) Xeon(R) E5430)在RHEL上部署IPMI

?IPMI Sensor Data on Dell 1850s and 2850s via SNMP and Cacti使用snmp结合cacti查看Dell服务器的ipmi输出

?https://www.doczj.com/doc/967500879.html,/support/edocs/software/smdrac3/index .htm Dell网站在线提供有关DRAC手册

o Integrated Del l? Remote Access Controller 6 (iDRAC6) Enterprise for Blade Servers Version 2.2 用户指南提供最新

iDRAC使用指南,适合最新R710服务器远程管理(2950的升级换

代产品)

相关主题
文本预览
相关文档 最新文档