如果服务器crash了或者就hang住了,我们不必要跑到机房去按电源键的,因为我们也想“运筹帷幄之中,决胜千里之外”嘛。我们可以用IPMI,它可以让我们远程用一条命令开启(关闭、重启)一台服务器,也可以检查服务器的状态。

IPMI简介:from wikipedia

The Intelligent Platform Management Interface (IPMI) is a standardized computer system interface used by system administrators to manage a computer system and monitor its operation.

The development of this interface specification was led by Intel Corporation and is supported by more than two hundred computer systems vendors.[1]. Dell, Hewlett-Packard, Intel, and NEC Corporation announced IPMI v1.0 on 1998-09-16, v1.5 on 2001-03-01, and v2.0 on 2004-02-14.

The baseboard management controller (BMC) is the intelligence in the IPMI architecture. It is a specialized microcontroller embedded on the motherboard of a computer, generally a server. The BMC manages the interface between system management software and platform hardware.

Different types of sensors built into the computer system report to the BMC on parameters such as temperature, cooling fan speeds, power status, operating system (OS) status, etc.

服务器端IPMI的配置:

我目前测试SNB-EP平台的机器,可以直接在BIOS中设置IPMI即可,都不必到OS中去进行设置了. (尽量将第一个网络接口插上网线,有人说是通过第一个网口来控制的,这个我不确定。)

开启服务器,按F2进入BIOS,选择:Server Management à BMC LAN Configuration  激活IPMI。

可以IP地址,比如改为192.168.111.111,子网掩码:255.255.0.0  (当然也可以设置为dynamic动态获取IP)。

在下面User configuration设置中Enable一些user,将有管理权限的用户enable起来,也可以设置管理密码、修改用户名等工作。

设置好后,就reboot系统,在局域网中另外的系统上ping一下刚才设置的IP 192.168.111.111,看看通不通,如果ping不通,可以试试去将server的电源线拔掉,并按开机安按钮让其放电,然后再重新插上电源线,开机。(我就遇到这样的问题)

对于不能再BIOS中直接enable BMC user的机器,可以先将BMC的IP什么的设好(这时在子网中应该能ping通BMC的IP了),然后到linux操作系统中进行一些额外的设置。

  1. load impi drivers:

modprobe ipmi_msghandler

modprobe ipmi_devintf

modprobe ipmi_si

  1. install ipmitool: maybe use rpm package to install
  2. ipmitool lan print 1   # to find the LAN channel
  3. configure IP address setting:

dynamic:  ipmitool lan set 1 ipsrc dhcp

static :

# ipmitool lan set 1 ipaddr 192.168.111.111

# ipmitool lan set 1 netmask 255.255.0.0

# ipmitool lan set 1 defgw ipaddr 192.168.0.1

  1. Establish an administration account with username and password.

Set BMC to require password authentication for ADMIN access over LAN. For example:

# ipmitool lan set 1 auth ADMIN MD5,PASSWORD

List the account slots on the BMC and identify an unused slot:

# ipmitool channel getaccess 1

Assign the administrator user name and password and enable messaging for the identified slot.

# ipmitool user set name 4 myuser

# ipmitool user set password 4 mypassword

# ipmitool user enable 4

# ipmitool channel setaccess 1 4 callin=off ipmi=on link=on privilege=4

  1. Verify the setup after you complete configuration using the command ipmitool lan print.

# ipmitool lan print 1

# ipmitool channel getaccess 1 4

在客户端的IPMI远程操作:

在远程操作的机器上也需要安装impitool,然后通过一些命令来操作被控制的机器。

# ipmitool -H yourIP -U myuser -P mypassword power status  (查看服务器的电源状态)

# ipmitool -H yourIP -U myuser -P mypassword power reset   (关闭电源并重启机器)

# ipmitool -H yourIP -U myuser -P mypassword power on   (开电源启动机器)

# ipmitool -H yourIP -U myuser -P mypassword power on   (关闭电源)

# ipmitool -H 192.168.12.84 -I lanplus -U test -P 123456 sdr type Temperature (服务器温度)

其他更多功能,可以man ipmitool

一些参考资料:

http://wiki.adamsweet.org/doku.php?id=ipmi_on_linux

http://www.6curl.com/ipmi-config-error/

http://www.ibm.com/developerworks/cn/linux/l-ipmi/index.html

http://publib.boulder.ibm.com/infocenter/lnxinfo/v3r0m0/index.jsp?topic=%2Fliaai%2Fipmi%2Fliaaiipmipassword.htm

IPMI设置与使用(远程控制服务器)的更多相关文章

  1. 分享一个小设置-项目启动时服务器指向本地IIS

    背景,在X公司做的一个网站登录时需要域名的支持,就是说浏览器地址栏在localhost+端口号的形式下无法实现登录(必须是xxxx域名的形式), 但是很多时候都会先在线下进行测试,既然本地没有线上的环 ...

  2. 通过设置代理,解决服务器禁止抓取,报“java.io.IOException: Server returned HTTP response code: 403 for URL”错误的方法

    java.io.IOException: Server returned HTTP response code: 403 for URL: http:// 这个是什么异常呢? 当你使用java程序检索 ...

  3. 设置 SSH Key 登录服务器和 Git 服务器

    设置 SSH Key 登录服务器 通过 ssh 登录服务器,一直都是用的账号和密码,今天看到一篇文章说这样不安全,使用 ssh key 的方式登录则是更好的选择,因此,研究实践了一下,并记录在这里. ...

  4. 如何设置Oracle客户端与服务器的字符集一致

    查看 Oracle 服务器字符集 select userenv('language') from dual; 设置Oracle客户端字符集 添加环境变量NLS_LANG 值与服务器的Oracle服务器 ...

  5. sql server service broker中调用存储过程执行跨库操作,不管怎么设置都一直提示 服务器主体 "sa" 无法在当前安全上下文下访问数据库 "dbname"。

    用sql server自带的消息队列service borker,调用存储过程中,执行了一个跨库的操作,先是用了一个用户,权限什么都给够了,但是一直提示 服务器主体 "user" ...

  6. tomcat6~7~8用户设置及一个独立服务器上跑多个tomcat配置JVM设置优化亲测

    tomcat6管理用户 在tomcat `安装根目录`/conf/tomcat-users.xml

  7. RHEL7 -- 使用Chrony设置时间与时钟服务器同步

    Chrony是一个开源的自由软件,它能保持系统时钟与时钟服务器(NTP)同步,让时间保持精确. 它由两个程序组成:chronyd和chronyc. chronyd是一个后台运行的守护进程,用于调整内核 ...

  8. 设置新时间校正服务器NTP SERVER

    时间校正服务器IP : 10.*.*.* 适用系统:windows server 2008/windows 7 net stop w32time net start w32time w32tm /qu ...

  9. 使用ipmitool 命令添加IPMI 界面的SMTP邮件服务器地址

    目前要通过ipmitool工具在IPMI的界面上添加邮件服务器地址,该脚本如下 SMTP.sh #!/bin/bash ipmitool raw 0x32 0x78 0x01 0x01 0x00 0x ...

随机推荐

  1. Java 反射机制介绍

    参考文章:http://www.cnblogs.com/skywang12345/p/3345205.html Java 反射机制.通俗来讲呢,就是在运行状态中,我们可以根据“类的部分已经的信息”来还 ...

  2. 第10课 C++中的动态内存分配

    C++中的动态内存分配 C语言是通过库函数来完成动态内存分配的,而C++是通过关键字从语言层面支持的. C语言中的malloc是基于字节来进行内存申请的,C++中是基于类型来进行的. delete加上 ...

  3. LSTM长短期记忆网络

    Long Short Term Memory networks : http://colah.github.io/posts/2015-08-Understanding-LSTMs/

  4. alsa-lib、alsa-utils移植

    /************************************************************************** * alsa-lib.alsa-utils移植 ...

  5. 《DSP using MATLAB》Problem 2.14

    代码: %% ------------------------------------------------------------------------ %% Output Info about ...

  6. Windows下使用curl命令

    curl下载地址: https://curl.haxx.se/download.html 选择对应的版本下载后解压 使用方式(一):在解压后curl.exe所在目录打开cmd,即可使用 使用方式(二) ...

  7. 浅谈ASP.NET ---- 系列文章

    [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作篇)(下) [04]浅谈ASP. ...

  8. vue2.0实现一个模态弹框,内容自定义(使用slot)

    定义模态框:合理使用插槽 model.vue <!-- 模态弹窗 --> <template> <div class="self-modal" v-s ...

  9. 6.2笔记-DQL语句查询数据库

    一.DQL语句 1.常量列 SELECT `StudentName` AS 姓名, `Address` AS 地址, '北京信息中心' AS 学校名称 FROM `student`; 2.常用函数 聚 ...

  10. [maven] 实战笔记 - 构建、打包和安装maven

    ① 手工构建自己的maven项目 Maven 项目的核心是 pom.xml.POM (Project Object Model,项目对象模型)定义了项目的基本信息,用于描述项目如何构建,声明项目依赖等 ...