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,一经查实,立即删除!

相关文章

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…

蜉蝣极客

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

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

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

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

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

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

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

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

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

EXCEL数据导入dataset

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

JDBC连接MySQL数据库及演示样例

JDBC是Sun公司制定的一个能够用Java语言连接数据库的技术。 一、JDBC基础知识 JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,能够为多种关系数据库提供统一訪问,它由一组用Java语言…

Single Image Haze Removal(图像去雾)-CVPR’09 Best Paper

公式推导 paper闪光点 找到了一个很简洁的假设。 paper不足 代码跑起来很慢。据说2010年的ECCV那篇是改进的。

EasyUI学习总结(二)——easyloader分析与使用

使用脚本库总要加载一大堆的样式表和脚本文件,在easyui 中,除了可以使用通常的方式加载之外,还提供了使用 easyloader 加载的方式。这个组件主要是为了按需加载组件而诞生。什么情况下使用它呢? 你觉得一次性导入 easyui 的核心 m…

c语言switch scanf语句,C语言中scanf函数与switch语句

----------------switch----------------1)使用格式switch(表达式){case 常量表达式1: 语句1;case 常量表达式2: 语句2; ...case 常量表达式n: 语句n;default: 语句n1;}判断月份代码实现int main(int argc, const char * argv[]) {//定义变量int month;//提示用户输入一个月份p…

JadClipse eclipse反编译插件

A.下载JadClipse,http://jadclipse.sourceforge.net/wiki/index.php/Main_Page#Download,注意选择与eclipse版本一致的版本,我用的是Eclipse3.4,所以选择下载版本net.sf.jadclipse_3.3.0.jar B.下载Jad,http://www.…

Sublime 资源汇总

2019独角兽企业重金招聘Python工程师标准>>> 《sublime text2使用经验》:里面插件的推介和使用、截图。《Sublime Text 2 入门及技巧》:技巧,可惜是4年前的东西了。《Sublime Text 2安装插件方法详解》:介绍了使用 GoA…

c汇编语言程序框架培训,[010][x86汇编语言]学习用户程序的编写(c08.asm)

源程序来源加载程序c08_mbr.asm用户源程序:增加注释;;文件名:c08-2.asm;文件说明:用户程序;创建日期:13:08 2018/5/23;----------------------------------------------------------------------SECTION header vstart0 ;定义用户…

文件共享服务器搭建

详细需求描述1、网络拓扑图如下:2、利用虚拟机实现网络拓扑,要求如下(1)虚拟机环境使用hostonly(2)服务器要求:安装Widnwos Server 2008 R2操作系统内存要求:750MB安装五块物理SCSI磁…

当c语言老师遇到网络崩溃,网络教学搞不定?工科教授来支招!

新学期已经到来但是由于新冠病毒肆虐我们不得不在“线上会面”网络远程教学颠覆了传统课堂模式的同时,也为教员们的教学工作带来极大的挑战。想想看,面对一个计算机屏幕滔滔不绝地讲上90分钟,确实需要大量的准备工作。网课平台怎么选&#xf…

在JS函数中执行C#中的函数、字段

1、调用字段 cs文件的代码&#xff1a; public int id 0;protected void Page_Load(object sender, EventArgs e){id 2;} View Codejs页面的代码&#xff1a; function CheckFunc() {alert("<% id%>");} View Code2、调用函数&#xff1a; 在JS函数中访问或执…

计算本年 本月 本周的起始日期

html: <table><tr><td align"right" width"120px"> 销售时间区间:</td><td><select id"ddlChoiceDate" name"ddlChoiceDate" runat"server" onchange"SelectChange(this.value);&quo…

Android查看真机布局,android-外部存储

外部存储&#xff0c;个人理解是在app作用域之外存储&#xff0c;就是数据没有和app做关联&#xff0c;app卸载后&#xff0c;它依旧存在而不再是之前手机本身存储空间和sd卡的区别&#xff0c;现在安卓手机已经不携带可拆卸的SD卡androidManifest.xml 需要写入读写权限简单布局…