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

今天遇到的坑是在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. 读书笔记:JavaScript DOM 编程艺术(第二版)

    读完还是能学到很多的基础知识,这里记录下,方便回顾与及时查阅. 内容也有自己的一些补充. JavaScript DOM 编程艺术(第二版) 1.JavaScript简史 JavaScript由Nets ...

  2. XSS

    XSS的含义 XSS(Cross Site Scripting)即跨站脚本.跨站的主要内容是在脚本上. 跨站脚本 跨站脚本的跨,体现了浏览器的特性,可以跨域.所以也就给远程代码或者第三方域上的代码提供 ...

  3. Unity3d学习 预设体(prefab)的一些理解

    之前一直在想如果要在Unity3d上创建很多个具有相同结构的对象,是如何做的,后来查了相关资料发现预设体可以解决这个问题! 预设体的概念: 组件的集合体 , 预制物体可以实例化成游戏对象. 创建预设体 ...

  4. 将表里的数据批量生成INSERT语句的存储过程 增强版

    将表里的数据批量生成INSERT语句的存储过程 增强版 有时候,我们需要将某个表里的数据全部或者根据查询条件导出来,迁移到另一个相同结构的库中 目前SQL Server里面是没有相关的工具根据查询条件 ...

  5. iOS逆向工程之App脱壳

    本篇博客以微信为例,给微信脱壳."砸壳"在iOS逆向工程中是经常做的一件事情,,因为从AppStore直接下载安装的App是加壳的,其实就是经过加密的,这个“砸壳”的过程就是一个解 ...

  6. [原] KVM 虚拟化原理探究(2)— QEMU启动过程

    KVM 虚拟化原理探究- QEMU启动过程 标签(空格分隔): KVM [TOC] 虚拟机启动过程 第一步,获取到kvm句柄 kvmfd = open("/dev/kvm", O_ ...

  7. 「译」JUnit 5 系列:条件测试

    原文地址:http://blog.codefx.org/libraries/junit-5-conditions/ 原文日期:08, May, 2016 译文首发:Linesh 的博客:「译」JUni ...

  8. springmvc SSM 多数据源 shiro redis 后台框架 整合

    A集成代码生成器 [正反双向(单表.主表.明细表.树形表,开发利器)+快速构建表单 下载地址    ; freemaker模版技术 ,0个代码不用写,生成完整的一个模块,带页面.建表sql脚本,处理类 ...

  9. ILJMALL project过程中遇到Fragment嵌套问题:IllegalArgumentException: Binary XML file line #23: Duplicate id

    出现场景:当点击"分类"再返回"首页"时,发生error退出   BUG描述:Caused by: java.lang.IllegalArgumentExcep ...

  10. Markdown学习笔记

    分为两步: 1.阅读Markdown中文官网的文档 2.下载MarkdownPad2将中文官网中文档的例子敲一遍,其中Markdownpad2为官网中推荐的编辑器 备注: 如果只看中文官网文档,不边看 ...