近日西安的天气很不错,可是看到从其他地方迁移来的主机在新环境下无法远程调试怪郁闷的,这就需要填坑,要不就会给后来者挖更大的坑。

今天遇到的坑是在IPMI的网络设置里面启用了VLAN标签之后,在新环境下IPMI直接失灵的问题。

由于时间原因,当时迁移的时候直接就断电了,很中国的理念是不——就是要快,先不看结果。

原有的环境是vSphere ESXi 4.1的操作系统,配置好IP之后可以通过vSphere Client去管理他,服务器是Supermicro的。

传统方式解决此问题需要还原出一个原有的IPMI所在的VLAN环境,然后通过远程管理工具(基于IP模式的)进行操作。

而今天的化境是主机上已经有了操作系统,那问题的思路就变了,不需要配套网络工程师的支持,我们系统方向的工程师就可以解决此问题。

所需要填坑的材料有:IPMICFG、可远程的主机操纵系统(SSH)、SuperMicro X8 系列主机。

操作流程:

1. 下载最新版本的IPMICFG软件,我们可以在Supermicro的ftp内下载到ftp://ftp.supermicro.com/utility/IPMICFG/ipmicfg_1.20.3_20141105.zip ,

2. 解压缩ipmicfg_1.20.3_20141105.zip该文件,导航到Linux目录下,根据操纵系统版本选择架构位数,这里是用64bit文件夹下的内容

3. 通过vSphere Client客户端浏览主机所在磁盘就是那个vmfs3格式的文件系统,将这个文件夹全部复制进去

4. 打开ssh客户端工具,链接到ESXi主机

5. 使用df –h命令查看需要键入的分区

6. 进入到对于那个的分区,选择64bit文件夹

7. 对文件夹内的ipmicfg-linux.x86_64.static 和 ipmicfg-linux.x86_64 文件赋予可执行权限 使用 chmod +x ipmicfg-linux.x86_64.static和 chmod +x ipmicfg-linux.x86_64 操作一下(后缀static的文件内置了静态链接库,可备用替换常规命令执行)

8. 使用 ./ipmicfg-linux.x86_64 查看一下帮助信息,我们这里需要对vlan ID进行关闭

9. 使用 ./ipmicfg-linux.x86_64 -vlan off 关闭vlan ID标签

10. 使用 ./ipmicfg-linux.x86_64 –m XXX.XXX.XXX.XXX 设置IP地址

11. 使用 ./ipmicfg-linux.x86_64 –k XXX.XXX.XXX.XXX 设置子网掩码

12. 使用 ./ipmicfg-linux.x86_64 –g XXX.XXX.XXX.XXX 设置网关地址

13. 使用 ./ipmicfg-linux.x86_64 -raw 0x30 0x70 0x0c 1 00 c2 禁用LAN Select Setting 或者使用 ./ipmicfg-linux.x86_64 -raw 0x30 0x70 0x0c 1 1 0 恢复到默认值(SuperMicro X8系列主机)

14. 使用 ./ipmicfg-linux.x86_64 –r 重启BMC ,此步骤有时候可不用操作

15. 按照上面这个流程走一遍,稍等片刻你就可以通过浏览器打开对应的IPMI了,这个坑就填平了。

备注信息:

1. IPMI在BIOS里面的设置类似于现在的Windows nano 这种无头版操作系统,只有在BIOS里面一个简单的IP设置后,剩下的都需要通过网页或者客户端来操作。

2. SuperMicro官方文档中并没有写支持ESXi系列的操作系统,对于Linux环境仅仅要求Linux Kernel 版本是2.6.X以上的即可。

3. 而使用IPMIcfg还需要你的硬件BMC支持IPMI2.0功能。

4. 以上这些操作可以恢复由于原先的网络VLAN绑定、主机板载端口和原生IPMI端口捆绑,还原最原始的BMC配置。

5. 为什么不用 –fd参数?原因是此参数不会重置网络相关信息,-fdl虽然可以清空网络信息,但是还是无法禁用LAN Select Setting,因此手工操作一下最好。

6.由于IPMI的配置属于操作即保存,因此配置后会有短暂的停留现象,这点在对LAN setting做操作的时候尤其明显

7. 更多的 LAN Select Setting可见下表:

型号

查看当前LAN模式

设置LAN模式为独立

设置LAN模式为与板载口共享

设置LAN模式为自动切换(实现故障转移)

X8 ATEN

ipmicfg -raw 0x30 0x70 0x0c 0

ipmicfg -raw 0x30 0x70 0x0c 1 1 0

ipmicfg -raw 0x30 0x70 0x0c 1 1 1

ipmicfg -raw 0x30 0x70 0x0c 1 1 2

X9 ATEN

ipmicfg -raw 0x30 0x70 0x0c 0 0

ipmicfg -raw 0x30 0x70 0x0c 1 0

ipmicfg -raw 0x30 0x70 0x0c 1 1

ipmicfg -raw 0x30 0x70 0x0c 1 2

X8 AMI

ipmicfg -raw 0x30 0x70 0x0c 0 0 1

ipmicfg -raw 0x30 0x70 0x0c 1 1 0

ipmicfg -raw 0x30 0x70 0x0c 1 1 1

ipmicfg -raw 0x30 0x70 0x0c 1 0

X9 AMI

ipmicfg -raw 0x30 0x70 0x0c 0

ipmicfg -raw 0x30 0x70 0x0c 1 0

ipmicfg -raw 0x30 0x70 0x0c 1 1

ipmicfg -raw 0x30 0x70 0x0c 1 2

参考信息:http://www.supermicro.com/support/faqs/faq.cfm?faq=13614https://www.ahead-it.eu/support/?/Knowledgebase/Article/View/53/0/how-to--change-the-ipmi-lan-mode-to-dedicated-shared-failover-by-using-the-ipmicfg-raw-command

-=EOB=-

填坑系列:通过ESXi来配置IPMI的更多相关文章

  1. MySQL填坑系列--Linux平台下MySQL区分大小写问题

    大家好,我是软件大盗(道),下面开始我们的<MySQL填坑系列>. 笔者最近又在MySQL的边缘试探,然后,试探着,试探着就报错了. 书接上文,系统连接数据库时报错:找不到DB_TIMIN ...

  2. SpringBoot填坑系列---XML方式配置数据库

    本次只是简单的运用SpringBoot搭建框架,对其原理并不做深入的探究 1.POM文件 <?xml version="1.0" encoding="UTF-8&q ...

  3. Android填坑系列:在小米系列等机型上放开定位权限后的定位请求弹框

    背景: 近期因实际项目需要,在特定操作下触发定位请求,取到用户位置及附近位置. 问题: 经初步选型,最终决定接入百度定位,按照百度定位SDK Android文档,接入过程相对顺利.但随后发现,在小米系 ...

  4. 踩坑系列:MySql only_full_group_by配置,竟导致所有应用报错?

    1. 踩坑经历 一个很平常的下午,大家都在埋头认真写bug呢,突然企业微信群里炸锅了,好多应用都出现大量的Error日志,而且都报同一个错误,就是下面这个: Caused by: com.mysql. ...

  5. angularcli填坑系列(持续更新...)

    1.在xx.ts中引入css样式无效 @Component({ selector: 'app-root', templateUrl: './app.component.html', styleUrls ...

  6. Vue 填坑系列(持续更新...)

    1.遇到页面显示不更新,数据已更新情况 vue-cli中: this.$nextTick(function () { this.x=x; })     以js引入vue的网页中: this.$set( ...

  7. (填坑系列) 用aio写server与client进行通信的坑

    最近闲来无事,就估摸着自己写个“服务注册中心”来玩,当然因为是个人写的,所以一般都是简洁版本. 代码地址在:https://gitee.com/zhxs_code/my-service-registe ...

  8. [日常填坑系列]CAP食用指南-版本引用问题

    一.前言 最近,由于好久没升级底层框架,一直用着netcore2.2版本,导致有些包没能更新到最新的版本,例如:CAP. 然而,在最近升级到CAP:3.1.2版本的时候,发现有点小坑,只能退回到CAP ...

  9. Android填坑系列:Android JSONObject 中对key-value为null的特殊处理

    在与服务端通过JSON格式进行交互过程中,不同版本的JSON库在对于key-value为null情况上的处理不同. Android自带的org.json对key-value都要求不能为null,对于必 ...

随机推荐

  1. 关于解决python线上问题的几种有效技术

    工作后好久没上博客园了,虽然不是很忙,但也没学生时代闲了.今天上博客园,发现好多的文章都是年终总结,想想是不是自己也应该总结下,不过现在还没想好,等想好了再写吧.今天写写自己在工作后用到的技术干货,争 ...

  2. 一起来玩echarts系列(一)------箱线图的分析与绘制

    一.箱线图 Box-plot 箱线图一般被用作显示数据分散情况.具体是计算一组数据的中位数.25%分位数.75%分位数.上边界.下边界,来将数据从大到小排列,直观展示数据整体的分布情况. 大部分正常数 ...

  3. 微信公众号开发之VS远程调试

    目录 (一)微信公众号开发之VS远程调试 (二)微信公众号开发之基础梳理 (三)微信公众号开发之自动消息回复和自定义菜单 前言 微信公众平台消息接口的工作原理大概可以这样理解:从用户端到公众号端一个流 ...

  4. 使用 JavaScript 和 canvas 做精确的像素碰撞检测

    原文地址:Pixel accurate collision detection with Javascript and Canvas 译者:nzbin 我正在开发一个需要再次使用碰撞检测的游戏.我通常 ...

  5. Android Studio —— 重装 HAXM

    Android Studio -- 重装 HAXM 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 文中如有纰漏,欢迎大家留言指出. Android SDK 自带模拟器一直以慢.卡 ...

  6. 给缺少Python项目实战经验的人

    我们在学习过程中最容易犯的一个错误就是:看的多动手的少,特别是对于一些项目的开发学习就更少了! 没有一个完整的项目开发过程,是不会对整个开发流程以及理论知识有牢固的认知的,对于怎样将所学的理论知识应用 ...

  7. 信息安全-1:python之playfair密码算法详解[原创]

    转发注明出处: http://www.cnblogs.com/0zcl/p/6105825.html 一.基本概念 古典密码是基于字符替换的密码.加密技术有:Caesar(恺撒)密码.Vigenere ...

  8. 烂泥:数据库管理之phpmyadmin免密码配置

    本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanniweb 其实这篇文章很早就想写了,但是一直没有时间.刚好今天下午稍微空了点,就把这篇文章整理出来 ...

  9. 绿色版的Linux.NET——“Jws.Mono”(续)

    在前一篇文章中,我们简略的介绍了jws.mono的安装使用,以及我们如何自己动手做一个jws.mono出来. 在文章发表之后的几天里,我一直觉得有点不妥之处,直到后来猛然的意识到:我们自己动手做的jw ...

  10. AOP之Castle DynamicProxy 动态代理

    这里主要介绍使用castle这个动态代理,在.net一些开源的框架里可以找到它的影子,就连微软的rchard也是使用这个进行方法拦截等可以基于这个进行方法拦截,在这个方面PostSharp算是比较好用 ...