填坑系列:通过ESXi来配置IPMI
近日西安的天气很不错,可是看到从其他地方迁移来的主机在新环境下无法远程调试怪郁闷的,这就需要填坑,要不就会给后来者挖更大的坑。
今天遇到的坑是在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=13614 、https://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的更多相关文章
- MySQL填坑系列--Linux平台下MySQL区分大小写问题
大家好,我是软件大盗(道),下面开始我们的<MySQL填坑系列>. 笔者最近又在MySQL的边缘试探,然后,试探着,试探着就报错了. 书接上文,系统连接数据库时报错:找不到DB_TIMIN ...
- SpringBoot填坑系列---XML方式配置数据库
本次只是简单的运用SpringBoot搭建框架,对其原理并不做深入的探究 1.POM文件 <?xml version="1.0" encoding="UTF-8&q ...
- Android填坑系列:在小米系列等机型上放开定位权限后的定位请求弹框
背景: 近期因实际项目需要,在特定操作下触发定位请求,取到用户位置及附近位置. 问题: 经初步选型,最终决定接入百度定位,按照百度定位SDK Android文档,接入过程相对顺利.但随后发现,在小米系 ...
- 踩坑系列:MySql only_full_group_by配置,竟导致所有应用报错?
1. 踩坑经历 一个很平常的下午,大家都在埋头认真写bug呢,突然企业微信群里炸锅了,好多应用都出现大量的Error日志,而且都报同一个错误,就是下面这个: Caused by: com.mysql. ...
- angularcli填坑系列(持续更新...)
1.在xx.ts中引入css样式无效 @Component({ selector: 'app-root', templateUrl: './app.component.html', styleUrls ...
- Vue 填坑系列(持续更新...)
1.遇到页面显示不更新,数据已更新情况 vue-cli中: this.$nextTick(function () { this.x=x; }) 以js引入vue的网页中: this.$set( ...
- (填坑系列) 用aio写server与client进行通信的坑
最近闲来无事,就估摸着自己写个“服务注册中心”来玩,当然因为是个人写的,所以一般都是简洁版本. 代码地址在:https://gitee.com/zhxs_code/my-service-registe ...
- Android填坑系列:Android JSONObject 中对key-value为null的特殊处理
在与服务端通过JSON格式进行交互过程中,不同版本的JSON库在对于key-value为null情况上的处理不同. Android自带的org.json对key-value都要求不能为null,对于必 ...
- React Native填坑之旅--Navigation篇
React Native的导航有两种,一种是iOS和Android通用的叫做Navigator,一种是支持iOS的叫做NavigatorIOS.我们这里只讨论通用的Navigator.会了Naviga ...
随机推荐
- c# 引用百度地图
<script type="text/javascript"> //创建和初始化地图函数 var map = new BMap.Map("home" ...
- Windwos下常用DOS命令
1.添加用户命令: net user 用户名 密码 /add 2.将用户加入组的命令: net localgroup administrators 用户名 /add 3.在dos命令行模式下启用用户: ...
- HDU5807 Keep In Touch DP
// HDU5807 Keep In Touch DP // 思路:直接暴力是O(n^6).所以要优化一下 // dp[i][j][k][0]:当前点i j k的方案数 // dp[i][j][k][ ...
- STL 案例分析
#include <iostream> using namespace std; #include "string" #include <vector> # ...
- ZOJ 2866 Overstaffed Company
树状数组 #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> ...
- ajax跨域请求时,sessionId不一样,导致无法记住登陆状态
遇到这样一个场景,就是前端的域是dev,请求接口时,接口的域是beta,即使在服务端设置了cookie存放的域,'COOKIE_DOMAIN' => '.roboming.com',虽然c ...
- java中equals方法和hashcode方法的区别和联系,以及为什么要重写这两个方法,不重写会怎样
一.在Object类中的定义为:public native int hashCode();是一个本地方法,返回的对象的地址值.但是,同样的思路,在String等封装类中对此方法进行了重写.方法调用得到 ...
- Stm32复习之时钟系统
地点:南图 这部分的内容是整个STM32学习知识的核心,不管是什么微控制器处理器,时钟系统都是其核心类似于人之心脏,因此学好理解这一章节至关重要. 为了便于理解这一系统,将从以下几个层次来讲.(忘了是 ...
- shell-整理目录下的备份文件并生成压缩包
背景: CI构建下来的备份应用包在服务器上保留几十个,空间占用大,看着不好看,可能还用不着,所以准备正好练练手吧! 其实CI上可以设置少保留几个,但是我没管.我只是想练练脚本 先来看一下我的服务器源目 ...
- Java并发编程中的相关注解
引自:http://www.cnblogs.com/phoebus0501/archive/2011/02/21/1960077.html Java并发编程中,用到了一些专门为并发编程准备的 Anno ...