使用IPMI控制/监控Linux服务器
1 IPMI简述
IPMI提供了很多丰富功能,我使用的功能,说得大白话一点,就是:
1、获取本设备的硬件信息:包括CPU和主板的温度、电压、风扇转速。
2、在设备A上,通过命令,控制远程设备B,开机、关机、重启。(看到这个有没有一点想做坏事的冲动,哈哈)
IPMI的介绍,基本原理,和必备条件,可参考[1]中说明,很详细畅。
[1]:使用ipmitool实现Linux系统下对服务器的ipmi管理http://www.ibm.com/developerworks/cn/linux/l-ipmi/
1.1 使用的必备条件:
由于IPMI功能与OS及硬件相对独立,只此在任何软件及硬件环境下,只要满足以下三点,就可以使用IPMI提供的众多功能。
BMC芯片 + ipmi模块加载 + ipmitool
1.2 判断IPMI必须条件是否满足的方法:
cat /var/log/messages | grep BMC,查看开机是否有打印found BMC芯片的信息,如果没有说明硬件环境不支持BMC芯片;
lsmod | grep ipmi,查看模块是否加载,加载/lib/modules/2.*.*/kernel/drivers/char/ipmi目录下的相应模块,如果无此目录,安装IPMI内核模块;
ipmitool help,查看用户态工具是否安装。
1.3 两类使用方式:
本地调用:本地环境必须满足以上三点。
远程调用:调用系统,只需要有ipmitool,被调用系统,必须有BMC芯片 + ipmi模块。对于远程调用,被调用系统的BMC芯片只要写入了所需的配置信息,即使系统更换无为IPMI模块的软件系统,配置信息在BMC芯片中也不会被擦除及更改,仍然可以为本机提供被远程调用的功能。
2 IPMI的使用
2.1 ipmitool使用说明:
ipmitool help;ipmitool Commands help;ipmitool Commands para help
http://linux.die.net/man/1/ipmitool
2.2 获取本地硬件信息:
ipmitool sdr
当然ipmi本地调用还提供了很多丰富功能,我只用过这一个啦,嘿嘿。
2.3 远程调用常用命令(远程开关机):
2.3.1 BMC芯片被远程控制的两个注意点
物理网口:ipmi依赖物理网口接受ipmi指令,在硬件说明书中一般有说明BMC芯片共享或独占的物理网口具体是哪一个。一般来说与eth0口共享一个物理网口,当然也有可能主板设计为BMC芯片独占一个网口,因此必须保证共享eth0口(或独占的网口的)网络连接,且ipmi的ip与eth0(或独占网口)ip在同一网段。
通道:BMC芯片虽然提供了很多channel,但好像一个型号的芯片一般只能使用一个channel,一般是channel 1,如果channel 1无法使用,可尝试其它channel,本芯片使用哪个channel我理解应该也是硬件说明书中有规定。
2.3.2 配置IPMI被调用/监控端BMC芯片:
被控制端需要配置lan信息、user信息
ipmitool lan set 1 ipsrc static #配置IP地址源为手动配置
ipmitool lan set 1 ipaddr 192.168.0.1 #配置IP地址(需与共享网口IP地址同网段)
ipmitool lan set 1 netmask 255.255.255.0 #配置子网掩码
ipmitool lan set 1 defgw ipaddr 192.168.0.100 #配置默认网关(没有网关可以不配)
ipmitool lan set 1 access on #打开该通道(多次执行不影响管理端管理)
ipmitool lan set 1 access off #关闭该通道
ipmitool lan set 1 user #激活该通道的用户(1为通道号)
ipmitool user list 1 #查看channel 1的用户
ipmitool user set name 1 admin #设置用户名,1为用户ID。
ipmitool user set password 1 111111 #设置密码,1为用户ID。
ipmitool user enabled 1 #激活用户
ipmitool user priv 1 4 1 #设置用户为管理员权限,1为用户ID。
2.3.3 调用/监控端远程执行命令:
ipmitool -I lan -H 192.168.0.100 -U admin -P 111111 power status #查看电源状态
ipmitool -I lan -H 192.168.0.100 -U admin -P 111111 power off/down #关机
ipmitool -I lan -H 192.168.0.100 -U admin -P 111111 power on/up #开机
ipmitool -I lan -H 192.168.0.100 -U admin -P 111111 power reset #重启
使用IPMI控制/监控Linux服务器的更多相关文章
- 监控linux服务器网卡流量
监控linux服务器网卡流量 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 欢迎加入:高级运维工程师之路 598432640 前言:众所周知,我们安装zabbix服务器 ...
- JMC监控(Windows上远程连接监控Linux服务器的JVM)
Windows上远程连接监控Linux服务器的JVM:1.Linux服务器上配置:在Tomcat的tomcat-wms/bin/catalina.sh中添加CATALINA_OPTS="-X ...
- Prometheus 监控linux服务器
Prometheus 监控linux服务器 node_exporter:用于*NIX系统监控,使用Go语言编写的收集器. 使用版本 node_exporter 0.17.0 相关文档 使用文档:htt ...
- Grafana+Prometheus通过node_exporter监控Linux服务器信息
Grafana+Prometheus通过node_exporter监控Linux服务器信息 一.Grafana+Prometheus通过node_exporter监控Linux服务器信息 1.1nod ...
- 监控linux服务器工具nmon的使用
做压测时,需要查看服务器中的cpu.内存变化,但由于服务器是linux环境,则需要监控linux服务器的工具,下面用到的工具是nmon. 1.安装nmon.在网上下载nmon安装包,在linux服务器 ...
- zabbix通过ipmi传感器监控浪潮服务器的硬件信息
一:实验对象 操作系统版本:centos7.6 监控对象:通过服务器传感器获取到的所有在使用的硬件信息 zabbix版本: 4.0.14二:zabbix介绍 zabbix适合中小型企业.大型企业的用户 ...
- Spotlight 监控Linux服务器的性能
Spotlight功能:详细的进程跟踪功能远程连接在线的Unix/Linux的调优指南事件日志跟踪配置警报 详细的进程跟踪功能:Spotlight对具体的Unix / Linux的进程长达24小时的历 ...
- nmon监控Linux服务器系统资源
本文转自:http://www.cnblogs.com/hyzhou/archive/2011/12/29/2305860.html 在实际的测试过程中,Loadrunner监控Linux系统资源不太 ...
- 通过LR监控Linux服务器性能
1)设置监控服务器要监控 UNIX 资源,必须配置 rstatd 守护程序.注意,可能已经配置了 rstatd守护程序,因为当计算机收到一个 rstatd 请求时,该计算机上的 inetd 自动激活r ...
随机推荐
- skipfish介绍
skipfish 开发语言:C语言 命令行扫描器 主动扫描web安全评估工具 谷歌开发 已经不再进行维护 重点关注web代码 通过两种方式进项扫描:1.字典枚举 2.递归爬网 优点:速度快.支持多路单 ...
- 基于Linux-3.9.4内核增加简单的时间片轮转功能
简单的时间片轮转多道程序内核代码 原创作品转载请注明出处https://github.com/mengning/linuxkernel/ 作者:sa18225465 一.安装 Linux-3.9.4 ...
- ossec安装
安装 安装要求 对于Unix系统来说,OSSEC只需要GNU的make.gcc和libc.推荐使用OpenSSL,但仅属于一个可选项.而且,通常您只需在一个系统上做编译操作,然后将二进制程序复制到其他 ...
- php与nginx之间的通信
Nginx是俄国人最早开发的Webserver,现在已经风靡全球,相信大家并不陌生.PHP也通过二十多年的发展来到了7系列版本,更加关注性能.这对搭档在最近这些年,叱咤风云,基本上LNMP成了当下的标 ...
- MFC按钮、列表控件应用实例(一)
需求:实现张三.李四.王五 3 人的课程选择,并将选课结果提交到列表框中显示. 实现过程: 1.建立对话框mfc工程. 2.添加控件 tab 顺序 控 件 类 型 控件 ID1 Button IDC_ ...
- Wpf+数据库代码封装+策略模式封装
运行界面: 数据库保存的题: 数据库封装代码: using System; using System.Collections.Generic; using System.Linq; using Sys ...
- dazhewang数据库初设计
mysql> use dazhe; Database changed mysql> create table shops(id int primary key auto_increment ...
- Java& Vector与ArrayList区别
在写java的时候,基本上都喜欢用arraylist,甚至我都不知道有个vector的存在.查了一下发现又是线程安全问题...咋个线程安全天天围着我转呢...多得阿里巴巴,让我开始认识java的所谓线 ...
- Java中DAO的实现
J2EE 开发人员使用数据访问对象(Data Access Object DAO)设计模式,以便将低级别的数据访问逻辑与高级别的业务逻辑分离.实现 DAO 模式涉及比编写数据访问代码更多的内容.在本文 ...
- grunt入门讲解3:实例讲解使用 Gruntfile 配置任务
这个Gruntfile 实例使用到了5个 Grunt 插件: grunt-contrib-uglify grunt-contrib-qunitgrunt-contrib-concatgrun ...