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

简介: IPMI 是一种可扩展的标准,它定义了如何监控硬件和传感器、控制系统部件以及记录重大事件,随着 ipmi 技术在服务器中的应用,利用 ipmi 的众多优势就成为服务器管理特别是集群管理中不可缺少的部分。本文首先介绍了 ipmi 的一些基本概念,然后给出了如何利用 ipmitool 这一工具实现 linux 系统中ipmi 管理的具体步骤和方法。

1.简介

IPMI(Intelligent Platform Management Interface)即智能平台管理接口是使硬件管理具备“智能化”的新一代通用接口标准。用户可以利用 IPMI 监视服务器的物理特征,如温度、电压、电扇工作状态、电源供应以及机箱入侵等。Ipmi 最大的优势在于它是独立于 CPU BIOS 和 OS 的,所以用户无论在开机还是关机的状态下,只要接通电源就可以实现对服务器的监控。Ipmi 是一种规范的标准,其中最重要的物理部件就是BMC(Baseboard Management Controller 如图1),一种嵌入式管理微控制器,它相当于整个平台管理的“大脑”,通过它 ipmi 可以监控各个传感器的数据并记录各种事件的日志。

图 1

e9726b5df3032890ad1da31d022ea7eb.png

ipmitool 是一种可用在 linux 系统下的命令行方式的 ipmi 平台管理工具,它支持 ipmi 1.5 规范(最新的规范为 ipmi 2.0),通过它可以实现获取传感器的信息、显示系统日志内容、网络远程开关机等功能。Ipmitool 有两种使用方式(如 表1)

表 1

7c0ae6bedcd695ced76cbc95e08b8db1.png

2. 使用 ipmi 的先决条件

想要实现对服务器的 ipmi 管理,必须在硬件、OS、管理工具等几个方面都满足:

2.1 服务器硬件本身提供对 ipmi 的支持

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

2.2 操作系统提供相应的 ipmi 驱动

通过操作系统监控服务器自身的 ipmi 信息时需要系统内核提供相应的支持,linux 系统通过内核对 OpenIPMI(ipmi 驱动)的支持来提供对 ipmi 的系统接口。

2.3 ipmi 管理工具

本文选择的是 Linux 下的命令行方式的 ipmi 平台管理工具 ipmitool。

3. 实现对 Linux 服务器的 ipmi 管理

利用 ipmitool 实现对服务器的 ipmi 管理有两种方式:①通过 OS 监控本地服务器;②通过网络监控远程服务器。本文针对这两种监控方式分别给出了利用 ipmi 本地获取 cpu温度和远程控制电源的例子。

3.1 实现对本地服务器的管理

3.1.1 系统结构(如图 2)

图 2

d548bba9d04f18fa03ce96440ff0a40d.png

特点(如表2)

表 2

a8422acf0ba1211d42c21dde6b54652c.png

3.1.2 配置本地操作系统支持 ipmi

文中采用的 OS RedHat 9.0 在内核中已经提供了对 ipmi 的支持,这里只需完成如下步骤:

① 载入支持 ipmi 功能的系统模块

253da54ac98fa2bac32018531b83531c.png

注意:必须先载入模块,这样内核才能在②中识别 ipmidev 设备

② 创建字符设备 node,使 ipmitool 可以通过驱动程序访问 ipmi 系统接口

1ef2382990802773a523c61fa3ca41bb.png

3.1.3 安装 ipmitool,获取 cpu 温度信息

①依次执行如下命令,安装 ipmitool

c02fc944e42543c00f71f3c9261a4e5b.png

② 通过 ipmitool 命令获取 cpu 温度

afd8e5f252b7dc064078333d9fb37959.png

3.2 实现对远程服务器的管理

3.2.1 系统结构(如图 3)

图 3

a2ae94a27d9d360b2665243110f8b117.png

特点(如表 3)

表 3

3084384a0bfad559fec3029bf88c5c48.png

3.2.2 在被监控服务器端,把 ip 地址写入 bmc 芯片中

ipmi 的远程监控是通过向与 bmc 相连的网络接口(如图 1:②)发送 udp 数据包实现的,udp 数据包的定位是通过把 ip 地址写入 bmc 芯片来实现,而这需要通过本地的 ipmi 系统接口来完成连。先通过 3.1.2 与 3.1.3 节的步骤在服务器端实现本地 ipmi 系统接口并安装 ipmitool 管理工具。

通过 ipmitool-1.5.9.tar.gz 附带的 bmcautoconf.sh 脚本(默认安装位置 /usr/local/bin/)配置被监控服务器的 ipmi 网络接口(IPMI-over-LAN),并把 ip 地址等信息写入 bmc 中,过程如下:

①用 ipmitool 确定服务器的 LAN channel

484c8567c78e8a98a6bff15f447e5c86.png

从结果可以看出“Channel Medium Type : 802.3 LAN”,channel 7 是 LAN channel

注意:Intel SHASTA SPSH4 服务器的 channel 7 是对应 eth0 网卡的,所以网络连接时必须选择 eth0(100M网卡)进行 ipmi 管理。

②根据确定的 LAN channel 号和网卡修改 bmcautoconf.sh 脚本

7018845f0c8f7fba2ebe5aeaffb12aef.png

注意:上述改动是根据①中确定的LAN channel、对应的 nic 以及 ipmitool 的具体安装位置进行的。

③运行 bmcautoconf.sh,把 ip 等信息写入 bmc

7e613706db740b4c098b5ac7ed17b97d.png

④确定 bmcautoconf.sh 的结果

dcf34850776e4423148a427ef0d5c863.png

⑤设置网络访问密码

23e3885d6bb2a77b3f3a0315d6045bb9.png

注意:完成了上述步骤后,被监控服务器上就不再需要 ipmi 系统接口了,可以把 3.1.2 节中的模块卸载,甚至可以重装一个全新的无ipmi 支持的操作系统。

3.2.3 在监控客户端安装 ipmitool,并远程操作服务器电源

①依次执行如下命令,安装 ipmitool

2fbcd102016976c2740b0b2ab61c2b52.png

②通过 ipmitool 命令远程控制服务器电源

d7e1529719557e35fcabbe8465cd3e3e.png

注意:通过 ipmitool 还可以监控风扇、机箱等众多相关信息,具体的使用方式见 ipmitool manpage

参考资料

0b1331709591d260c1c78e86d0c51c18.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/460087.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

eclipse 使用指南

eclipse使用指南 eclipse下载地址: 1、eclipse快捷键 2、将eclipse新建项目的默认编码GBK改为UTF-8 3、Java 编程下 Eclipse 如何设置单行代码显示的最大宽度 4、使用Eclipse创建模板并格式化代码5、Java compiler level does not match the version of the install…

sql 创建用户脚本

USE master go CREATE LOGIN jiazhuang --用户名 WITH PASSWORD sa, --密码 DEFAULT_DATABASE JiaZhuan, --数据库名 CHECK_EXPIRATION OFF, CHECK_POLICY OFF go EXEC sp_addsrvrolemember JiaZhuan, sysadmin --角色 go 要想成功访问 SQL Server 数据库中的数据…

linux中bc用法英文,使用GNU bc在Linux Shell中进行数学运算

在 shell 中使用 bc 更好地做算数,它是一种用于高级计算的数学语言。大多数 POSIX 系统带有 GNU bc,这是一种任意精度的数字处理语言。它的语法类似于 C,但是它也支持交互式执行语句和处理来自标准输入(stdin)的数据。因此,它通常…

Linux C Socket编程原理及简单实例

部分转自:http://goodcandle.cnblogs.com/archive/2005/12/10/294652.aspx 1. 什么是TCP/IP、UDP? 2. Socket在哪里呢? 3. Socket是什么呢? 4. 有很多的框架,为什么还在从Socket开始? 5. Linux C…

linux中timer的作用,linux - linux / timer.h setup_timer()到期功能不起作用? - 堆栈内存溢出...

因此,我的setup_timer()中的TimerExpire函数会引起巨大的恐慌(将在下面发布),而对TimerExpire()的常规函数​​调用实际上将输出我的输入。void TimerExpire(char* data){printk("Timer Data: %s\n", data);}setup_timer(&my_timer, Timer…

蜉蝣极客

蜉蝣极客 百科名片 蜉蝣目(英文:mayfly,学名:Ephemeroptera)通称蜉蝣,具有古老而特殊的性状,是最原始的有翅昆虫。和蜻蜓目可同分为古翅次纲,他们的翅不能折叠。蜉蝣目昆虫体形细长…

C#获取硬件信息

//硬件信息 public class GF_Hardware { /// <summary> /// cpu序列号 /// </summary> /// <returns></returns> public static string getID_CpuId() { string cpuInfo "";//cpu序列号 ManagementClass cimobject new ManagementClass(&q…

软件測试自学指南---从入门到精通

近来&#xff0c;软件測试行业发展迅速&#xff0c;企业越来越重视測试了。越来越多的人增加了測试大军中&#xff0c;非常多人也想通过自学来学习软件測试技术增加这个行业&#xff0c;可是如今软件測试的书籍越来越多&#xff0c;也良莠不齐&#xff0c;并且软件測试涉及的技…

解决Web部署 svg/woff/woff2字体 404错误

原文:解决Web部署 svg/woff/woff2字体 404错误问题&#xff1a;最近在IIS上部署web项目的时候&#xff0c;发现浏览器总是报找不到woff、woff2字体的错误。导致浏览器加载字体报404错误&#xff0c;白白消耗了100-200毫秒的加载时间。 原因&#xff1a;因为服务器IIS不认SVG&am…

linux学习交流群,求linux(ubuntu)学习交流群

匿名用户1级2015-05-14 回答ubuntu学习群&#xff1a;65563370该文章是小弟学习linux归纳出来的一些基础知识&#xff0c;也是做为自己的参考资料&#xff0c;希望各位渴望学习linux的朋友们共同学习。1、linux分区--在linux里面所有的设备、任何东西&#xff0c;在linux看来都…

Linux文件系统构成

/boot目录&#xff1a; 内核文件、系统自举程序文件保存位置,存放了系统当前的内核【一般128M即可】 如:引导文件grub的配置文件等 /etc目录&#xff1a; 系统常用的配置文件&#xff0c;所以备份系统时一定要备份此目录 如&#xff1a;系统管理员经常需要修改的文件&#xff0…

压缩感知先进——关于稀疏矩阵

前《初识压缩感知Compressive Sensing》中我们已经讲过了压缩感知的作用和基本想法&#xff0c;涉及的领域&#xff0c;本文通过学习陶哲轩对compressive sensing&#xff08;CS&#xff09;的课程&#xff0c;对压缩感知做进一步理解。针对其原理做出解说。本文较为理论性&…

红旗linux as4,可能是史上最完美的IC5141安装说明档(RHEL-AS4)

文档作者&#xff1a;Sideway联系方式&#xff1a;EMAIL:xtadwyahoo.com.cnQQ:19487607一、安装环境1、硬件需求(1)内存128M以上(2)硬盘空间10G以上(IC5141安装后约占3G)(3)能被RHEL AS4支持的显卡2、安装RHEL AS4(1)安装X Window(2)安装GNOME、KDE(3)安装所有的开发包工具(4)安…

转:upload.parseRequest为空

FileItemFactory factory new DiskFileItemFactory(); ServletFileUpload upload new ServletFileUpload(factory); upload.setHeaderEncoding("UTF-8"); List items upload.parseRequest(request); 上传是items一直是空list。导致原因是struts2把原始的…

基于环信sdk的陌生人交友php服务器代码开源

2019独角兽企业重金招聘Python工程师标准>>> 这个是代码结构 服务器端需要两个服务器端软件的支持&#xff1a; 1&#xff1a;weed-fs golang写的海量小文件存储工具 2&#xff1a;memcache 流行的缓存服务器 服务器端主要配置是 conf.php 文件&#xff0c;配置数据…

Linux视频 pad,Wine 1.9.10 发布下载, 改善视频输出

Wine 1.9.10最近发布下载&#xff0c;改进了大量的新功能和错误修正。一个显著的更新是此版本改善视频输出&#xff0c;更兼容目录列表&#xff0c;修复一些C 运行时。Wine 1.9.10 Bug 修复Month calendar control uses 0sunday for firstDayOfWeektooltips not working proper…

贪心算法设计作业调度c语言,贪心算法 - 数据结构与算法教程 - C语言网

1.简介贪心算法(又称贪婪算法)是指&#xff0c;在对问题求解时&#xff0c;总是做出在当前看来是最好的选择。也就是说&#xff0c;不从整体最优上加以考虑&#xff0c;他所做出的是在某种意义上的局部最优解。贪心算法不是对所有问题都能得到整体最优解&#xff0c;关键是贪心…

EXCEL数据导入dataset

一、开工必备 1、micorosoft office2007 2、VS2010、Oracle 11 二、界面 三、内部代码 (1)获取数据库连接&#xff0c;定义全局变量 private static string connString System.Configuration.ConfigurationSettings.AppSettings[ "connStr" ]; D…

【转】TCP协议的无消息边界问题

http://www.cnblogs.com/eping/archive/2009/12/12/1622579.html 使用TCP协议编写应用程序时&#xff0c;需要考虑一个问题&#xff1a;TCP协议是无消息边界的&#xff0c;即不能保证来自单个Send方法的数据能被单个Receive方法读取。 eg: 第一次发送&#xff1a;abcdefg 第…

c语言多域字符串协议,嵌入式C语言面试题大集合,都是自己总结的

现在发展最快的也就是IT行业了&#xff0c;嵌入式就是其中之一&#xff0c;很多刚学出来的去找工作&#xff0c;一般都会是被面试题给难住了&#xff0c;与理想工作失之交臂&#xff0c;我面试了那么多家&#xff0c;总结出了一点规律&#xff0c;一般C语言是必考的&#xff0c…