Apr 272013
 

默认Cobbler对IPMI就只有电源管理,你可以对机器进行远程的开机,关机,重启。不过其实很多IPMI的功能没有集成进去。好久已经没有做产品经理的感觉,这次自己感觉还是很良好的。

看一下我增加的功能

快照3

第二排菜单是我增加,大概是1000行的代码量。这些功能基本是围绕着IPMItool的功能去实现。下面就简单介绍一下。

Remote Control

以前如果你希望访问IPMI里的kvm,你需要访问IPMI地址,登陆,下载jviewer,比较麻烦。能不能直接在Cobbler web直接打开Jviewer呢?

Cobbler电源管理,是保存了IPMI的访问的IP,用户名和密码,所以实现这个应该是可能的。相信很多人会有相同的需求,搜索一下,找到一个python脚本,通过这个脚本,先把Jviewer下载到Cobbler服务器上,我从web下载就可以。

这个是比较有技术含量的活。终于比较完美解决。公司目前的所有机器都搞定。

参加资料

https://github.com/spotify/moob/tree/master/lib/moob

http://kaiyou.fr/2012/07/12/cette-horreur-de-jviewer/

Bios

这其实是让机器下次启动的时候进入Bios,方便修改Bios,这个实现比较简单。

ipmitool -I lan -H 10.1.199.212 -U ADMIN -P ADMIN chassis bootdev bios

PXE

这个其实和Bios实现原理是一样。就是把上面的命令最后改成 bootdev pxe。这个功能其实很实用,你不需要把网卡设置成最新启动,机器每次启动的时候都需要pxe一次,现在只需要在需要重装机器的时候,才让网卡发出pxe请求。当然你的网卡的PXE功能需要在Bios启用。

Bios和PXE,都是临时,机器下次启动的时候生效。

Rebuild

这个功能是比较实用的。正常重装一台机器,需要下面的步骤

  1. net_boot enable
  2. Sync
  3. 设置机器下次启动pxe
  4. 重启机器

这几个步骤,需要简化,希望一个按钮来完成。

快照4

Start,就会把上面4个工作完成。

Power

这其实是机器的电源按钮。他会检查机器状态,如果是关机状态,会开机,如果是开机状态,他会重启机器。

  14 Responses to “Cobbler和IPMI二次开发”

  1. 沙克老师,您好!
    这个ikvm的远控很强大,请问Jviewer.jar您是怎么从web下载的?

    • 下面有两个链接,就是通过脚本,下载到cobbler的服务器上,你再下载到本地。

      • 我就是直接wget “http://$IP/Java/release/JViewer.jar” -qO JViewer.jar 下载不下来,没反应,ip也改了。您用的服务器是哪个?这和ipmi的厂家提供版本有没有关系呢?

  2. 研究很深入了嘛,赞一个!
    当初我们公司用的一批组装PC SERVER,经常出问题,被我挖掘了一下IPMI,省了多少机房兄弟的工作,还可配合监控硬件日志,非常便利。

  3. 陈老师你好,你的IPMI的二次开发能提供吗?我也遇到这个问题。服务器托管运营商IDC需要IPMI进行维护。

    • IPMI的二次开发可能一般不可以,但是,你可以用python封装语句的方法来测试。我们现在就是用的这个方法实现的自动化。

  4. ipmitool -I lan -H 10.1.199.212 -U ADMIN -P ADMIN chassis bootdev bios
    这个在Dell R410和Dell R420怎么无法使用额

  5. 沙克老师您好:

    我超微的机器,执行到这里获取不到 SESSION,最后 生成的 jnlp是个空文件

    SESSION=` \
    wget \
    “http://$IP/rpc/WEBSES/create.asp” \
    –post-data=”WEBVAR_USERNAME=$LOGIN&WEBVAR_PASSWORD=$PASS” \
    -qO- \
    | grep SESSION_COOKIE \
    | sed “s/.*: ‘//;s/’ }.*//”`

  6. 陳老師, 請問 IPMI 的 JAVA 能否直接在瀏覽器進行的? jviewer 裡面我只能拿到第二個亂碼值 第一個是什麼呢?

 Leave a Reply

(required)

(required)