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

今天遇到的坑是在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. Android填坑系列:Android JSONObject 中对key-value为null的特殊处理

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

  9. React Native填坑之旅--Navigation篇

    React Native的导航有两种,一种是iOS和Android通用的叫做Navigator,一种是支持iOS的叫做NavigatorIOS.我们这里只讨论通用的Navigator.会了Naviga ...

随机推荐

  1. 今天第一次接触到typescript,看了第一个知识点就是变量的声明,来回忆回忆,做做笔记

    以前只用过JavaScript原生写网站特效,今天还是第一次听说typescript的,然后看了一下它的基本知识,感觉很像Java,真的太像了,但是又有不同点.很让我惊奇看到的第一个知识点就和以前不同 ...

  2. PDF.NET SOD 开源框架红包派送活动 &amp;&amp; 新手快速入门指引

    一.框架的由来  快速入门 有关框架的更多信息,请看框架官方主页! 本套框架的思想是借鉴Java平台的Hibernate 和 iBatis 而来,兼有ORM和SQL-MAP的特性,同时还参考了后来.N ...

  3. JDK Environment Variable And Change default JDK

    Environment Variable : change(import) /etc/bashrc export JAVA_HOME=/software/jdk1.8.0 export PATH=$J ...

  4. New MVC World

    Note: /Controllers:controllers respond to input from the browser,decide what to do with it,and retur ...

  5. linux 之进程间通信-------------InterProcess Communication

    进程间通信至少可以通过传送打开文件来实现,不同的进程通过一个或多个文件来传递信息,事实上,在很多应用系统里,都使用了这种方法.但一般说来,进程间 通信(IPC:InterProcess Communi ...

  6. Linux/Mac OS 下 批量提交 新增文件到SVN 服务器

    命令行下操作svn没有使用界面形式的TortoiseSVN直观,但是不管怎样,命令行下操作svn还是有它的有点,如果你碰到一次需要svn add许多个文件怎么办?下面的命令可以帮助你解决这个问题 一次 ...

  7. Oracle客户端的安装

    首先Orcale的安装应该是很简单的,安装不好只是部熟悉,在其中遇见的一些问题记录下来,如果以后忘记了还可以看看. 首先最大的问题是安装客户端的时候要安装32位的,不管你的操作系统是32位还是64位的 ...

  8. JavaScript严格模式有什么不同

    看ES6,瞄到“严格模式”,问了下自己什么是“严格模式”?答案好像不是很明朗,遂总结如下: 严格模式声明:“use strict”; 1.禁止变量未声明就赋值 2.限制动态绑定(属性和方法归属哪个对象 ...

  9. 【某集训题解】【DAY 2 T3】与非

    题目描述 作为一名新世纪共产主义的接班人,你认识到了资本主义的软弱性与妥协性,决定全面根除资本主义,跑步迈入共产主义.但是当你即将跨入共产主义大门的时候,遇到了万恶的资本家留下的与非电路封印,经过千辛 ...

  10. Yii常用方法

    //获取当前用户的ip Yii::$app->request->userIP