2024年4月

同事发来消息,拨号openvpn之后,可以连接redis服务,但是与kafka:9092通信失败。

一开始还以为是网络问题,在俺本地又是热点模拟外网环境,又是拨号openvpn的,还是用了tcping测试端口是通的。同事说也能telnet,但是就是java程序连接失败。

隐约记得之前在搭建完成kafka的时候,使用kafka assistant也是无法连接,只是当时没有进一步解决就放下了。

于是,重新掏出来kafka assistant测试,结果也是不行。

要么说同事是大牛的,说加了一个kafka的hosts就可以了。

赶紧在本地也这么测试,没想到居然成了。

同事说,怀疑配置文件里面写的是kafka。

是的,配置文件里面确实写的是kafka。俺以前在工作的时候,是其他同事负责kafka,对于kafka不熟悉,所以能力水平也仅仅限于部署一个而已。

2024-04-30T08:52:42.png

今天在编译ngrok的时候,需要使用特定的golang版本,于是从网上下了一个。

转念一想,何不做一个镜像站点呢。

于是,问了gpt要了镜像命令,啪啪啪的开始下载了。

mkdir /mydata/downloads/golang
cd /mydata/downloads/golang
wget --mirror --convert-links --adjust-extension --page-requisites --no-parent  https://go.dev/dl/

2024-04-30T08:43:53.png

如果中途下载的电脑出了问题等原因导致wget进程中断,可以重新在该目录执行相同的wget命令。该命令会对比http获取的文件指纹,如果与本地一致就不会再重复下载了。

这种镜像网站数据的方式与rsync有相似的地方,使用更广泛的http站点。

同事发来消息,说是电脑无法关机。

我去,这问题是啥问题呢。还能有啥东西关不上了。

了解到,最近也没有什么特别的操作,就是关不上了。本来打算查看系统日志,看看能不能有所发现。后来,她说搜搜了baidu没有发现。

于是,我也搜索了一下,没想到这个还真是个问题。这个问题与win11优化开机速度有关,在电源管理里面启用了“启用快速启动”功能后,会导致关不掉的现象。

没大理解这个功能。尝试了一下,没想到确实关上了。

然后,咨询了gpt关于“启用快速启动”的两个问题。

[scode type="share"]什么是win11的 启用快速启动?
Windows 11 中的“启用快速启动”是指一种功能,它允许系统在重启或关机后迅速启动系统,减少系统启动所需的时间。这种功能通过将系统状态保存在一个文件中,称为“快速启动文件”,以便在下一次启动时能够更快地加载系统。快速启动的原理是在关机时将系统状态保存在快速启动文件中,然后在启动时直接加载这个文件,而不是进行完全的冷启动流程。
[/scode]

[scode type="share"]这样是不是会延长关机时间,或者关机后电源灯还是亮的?
启用快速启动功能通常不会延长关机时间。在大多数情况下,Windows 11会在关机时自动保存系统状态并创建快速启动文件,这个过程并不会显著增加关机时间。因此,关机速度通常不会受到影响。

关于电源灯的状态问题,快速启动功能可能会导致电源灯仍然亮着。这是因为在快速启动模式下,实际上并非完全关闭系统电源,而是将系统状态保存在文件中以实现快速启动。因此,即使关机后电脑的电源灯仍然亮着,实际上计算机处于一种低功耗的状态,并没有完全关闭电源。

如果您希望在完全关机时关闭电源,请手动选择“关机”而不是“休眠”或“快速启动”选项。在这种情况下,系统会完全关闭并断开电源,电源灯应该会熄灭。
[/scode]

参考:https://blog.csdn.net/xitongzhijianet/article/details/126542869

还有一种可能性,就是休眠文件坏了.
使用命令释放C盘空间

POWERCFG -H OFF

参考https://www.bilibili.com/read/cv36038063/?jump_opus=1

哥们发来消息,最近使用夜莺阿里云插件对云服务,包括ECS、RDS等进行了监控,但是设置告警的时候没有告警产生。

首先,通过添加一个process_total的本地监控指标设置了一个告警,测试是否可以告警,以此检查alarm功能是正常的。

然后,哥们说看下categraf的配置。一行一行看了下,发现了一个delay指标。这个指标过去还真没有遇到过。
2024-04-30T08:25:41.png
读了几遍官方文档的介绍,说真,理解水平有限,还是无法准确理解。但是,有一点是了解到了。与传统得categraf采集host指标不一样,阿里云插件工作的时候采集到的阿里云资源指标可能不是实时的,而这个地方的2m就是2m。哈哈,

[scode type="blue"]猜测,categraf使用agent拉取阿里云的时候,因为阿里云的监控数据不是实时的,所以会设置delay参数,查询10分钟前的数据。对,如此一来,监控告警失效以及时序指标查询出不来 两个问题就对上了。[/scode]

然后,哥们重新设置了采集参数,将delay设置成2m,把告警规则频率设置成了300s。

观察中...

观察到了60s一次的数据采集。
2024-04-30T08:28:53.png

监控指标出现了一批。
2024-04-30T08:29:17.png

看来这个delay参数以及告警策略生效参数有点搞头。

删除了测试告警设置。
2024-04-30T08:31:48.png

修改了监控指标,告警恢复了一批。然后就是全部恢复了。

2024-04-30T08:32:28.png
2024-04-30T08:32:42.png

最终,设置delay 2m,采集period 60s,告警规则执行频率60s,持续时长120s。

有时间把老秦的视频再看一遍,进一步学习夜莺工作的原理。

一、背景

上次介绍了使用多种方案实现了华为服务器的远程带外维护,而BMC、maxcent、ez2pc在维护过程中的功能及表现各有特色。基于ez2pc,我觉得还有进一步扩展易用性和稳定性的方法。以下是两天时间进行探索的梳理。
主要摄像是,发挥ez2pc的ngrok客户端功能,实现开机后自动打通VNC协议隧道到互联网,使得运维人员可以通过VNC客户端经过互联网跟直接带外管理目标服务器。并且,再加上uptime-kuma的监控功能,实现ez2pc存活监测。

2024-04-30T05:27:18.png

二、搭建ngrok服务

话说ngrok在2015年前后可以非常棒棒的软件 ,实现了没有公网也可以访问内网服务,甚至可以获得https能力。但是,时间到了2024年,时过境迁,ngrok已经被frp逐步取代,且自己编译代码遇到的各种版本兼容性问题也增加了部署难度。

2.1 准备编译打包服务器

由于编译ngrok需要用到可以正常访问github的网站资源,所以最好这台机器可以位于HK等大陆地区以外。
需要go版本为1.13。因为代码里面的语法对于新版go程序会不适应。

准备go环境

# 下载go程序
cd /usr/local/
wget https://go.dev/dl/go1.13.15.linux-amd64.tar.gz
tar xzvf  go1.13.15.linux-amd64.tar.gz

# 设置环境变量
cat <<'EOF'>~/.bashrc
export GOPATH=/usr/local/ngrok/
export GOROOT=/usr/local/go
export PATH=$GOROOT/bin:$PATH:$GOPATH/bin
EOF

# 测试是否可以看到go版本
. ~/.bashrc
go version

2.2 编译ngrok

下载代码

cd /opt
git clone https://github.com/inconshreveable/ngrok.git
cd ngrok
# 生成证书
export NGROK_DOMAIN="ngrok.op123.ren"
openssl genrsa -out base.key 2048
openssl req -new -x509 -nodes -key base.key -days 10000 -subj "/CN=$NGROK_DOMAIN" -out base.pem
openssl genrsa -out server.key 2048
openssl req -new -key server.key -subj "/CN=$NGROK_DOMAIN" -out server.csr
openssl x509 -req -in server.csr -CA base.pem -CAkey base.key -CAcreateserial -days 100000 -out server.crt

/usr/bin/cp base.pem assets/client/tls/ngrokroot.crt
/usr/bin/cp server.crt assets/server/tls/snakeoil.crt
/usr/bin/cp server.key assets/server/tls/snakeoil.key

编译

make release-server release-client

但是,会遇到代码不正确的问题。需要切换两个包的tag

cd /opt/ngrok/src/github.com/rivo/uniseg
git checkout v0.2.0

cd /opt/ngrok/ngrok/src/github.com/gorilla/websocket
git checkout v1.1.0

再次编译

make release-server release-client

如果想编译其他系统或者架构的ngrok程序,可以继续执行

GOOS=linux GOARCH=amd64 make release-server release-client
GOOS=windows GOARCH=amd64 make release-server release-client
GOOS=linux GOARCH=arm make release-server release-client

2024-04-30T05:40:49.png
2024-04-30T05:41:57.png
2024-04-30T05:42:55.png

2.3 运行ngrok

ngrokd -domain=ngrok.op123.ren -httpAddr=:4040 -httpsAddr=:2443 -tunnelAddr=:4443 -tlsCrt=snakeoil.crt -tlsKey=snakeoil.key -log-level=INFO
这里提到了使用 ngrokd 来创建 ngrok 服务,并指定了各种参数和选项。以下是对这些参数的解释:

ngrokd: 运行 ngrok 服务器端的命令。
-domain=ngrok.op123.ren: 指定 ngrok 服务所在的域名,这里是 ngrok.op123.ren。
-httpAddr=:4040: 指定 HTTP 流量的地址和端口,这里是 4040,表示 ngrok 在该端口监听 HTTP 流量。
-httpsAddr=:2443: 指定 HTTPS 流量的地址和端口,这里是 2443,表示 ngrok 在该端口监听 HTTPS 流量。
-tunnelAddr=:4443: 指定 ngrok 用于处理隧道流量的地址和端口,这里是 4443。
-tlsCrt=snakeoil.crt: 指定 TLS 证书文件,这里是 snakeoil.crt,用于加密通信和安全认证。
-tlsKey=snakeoil.key: 指定 TLS 私钥文件,这里是 snakeoil.key,用于 TLS 连接的密钥生成。
-log-level=INFO: 指定日志级别为 INFO,表示将显示信息日志,适用于了解 ngrokd 运行时的状态和活动。
综合起来,该命令的作用是在域名 ngrok.op123.ren 上运行 ngrok 服务器,监听HTTP流量在4040端口,HTTPS流量在2443端口,处理隧道流量在4443端口,并使用指定的TLS证书和密钥进行加密和认证。日志级别设置为INFO,以显示一般信息性日志。这样配置后,ngrok 应该可以在指定的端口上运行并处理流量了。

三、配置ez2pc

主要配置:
Server Address: 服务器ip地址或者域名
Server Port: 运行ngrokd的tunnelAddr端口
VNC配置中的远端端口:固定一个公网端口,最后可以使用Server Address+这个端口进行访问
2024-04-30T05:45:00.png

四、配置uptime-kuma

注意选择TCP协议。
2024-04-30T05:47:06.png
2024-04-30T05:47:37.png
2024-04-30T05:47:49.png

五、测试VNC连接

连接过程可能会有些延迟,稍微等一下。
2024-04-30T05:49:28.png
2024-04-30T05:49:22.png

注意:由于VNC跑在了互联网,所以ez2pc的密码记得要改。

六、其他

6.1 ngrok客户端的一般配置

server_addr: "ngrok.op123.ren:4443"
trust_host_root_certs: false
console_ui: false
region: ap
tunnels:
  ssh:
    proto: 
      tcp: 22
    addr: 0.0.0.0:32895
  web:
    proto: 
      http: 10.168.1.1:80
      https: 10.168.1.1:80

下面是对ngrok客户端配置文件各部分的解释:

  • server_addr: "ngrok.op123.ren:4443":指定ngrok客户端连接到的ngrok服务器地址和端口。在这种情况下,客户端将连接到 "ngrok.op123.ren" 域名的 4443 端口。
  • trust_host_root_certs: false:配置是否信任主机根证书。当设置为 false 时,ngrok客户端不会信任主机的根证书。
  • console_ui: false:设置是否启用ngrok的控制台用户界面。在这里设置为 false,表示禁用控制台用户界面。
  • region: ap:指定ngrok服务器所在的地区。在这里,ngrok客户端配置为连接到亚太地区的ngrok服务器。
  • tunnels:配置ngrok的隧道设置,包括定义多个隧道类型和其设置。在这里,定义了两个隧道:sshweb

    • ssh隧道:

      • proto: tcp: 22:定义了ssh隧道的协议和端口,这里使用TCP协议的端口22。
      • addr: 0.0.0.0:32895:指定了ssh隧道映射到ngrok服务器的端口,这里是本地端口 32895。
    • web隧道:

      • proto: http: 10.168.1.1:80:定义了web隧道的协议和地址,这里使用HTTP协议将本地主机的地址 10.168.1.1 的端口 80 映射到ngrok服务器。
      • proto: https: 10.168.1.1:80:类似地,这里使用HTTPS协议将本地主机的地址 10.168.1.1 的端口 80 映射到ngrok服务器。

这些配置项定义了ngrok客户端如何连接到ngrok服务器并设置了两种类型的隧道,一个用于SSH服务,另一个用于Web服务,分别映射到不同的本地端口和地址上。通过这些配置,可以实现将本地服务通过ngrok暴露到公共互联网上,以便远程访问和调试。

6.2 ngrokd服务启动脚本

cat <<'EOF'>/etc/systemd/system/ngrokd.service
[Unit]
Description=ngrokd - Secure introspectable tunnels to localhost

[Service]
WorkingDirectory=/opt/ngrok
ExecStart=/opt/ngrok/bin/ngrokd -domain=ngrok.op123.ren -httpAddr=:4040 -httpsAddr=:2443 -tunnelAddr=:4443 -tlsCrt=/opt/ngrok/snakeoil.crt -tlsKey=/opt/ngrok/snakeoil.key -log-level=INFO
Restart=always

ExecStop=/bin/kill -s QUIT $MAINPID
TimeoutStopSec=30
StandardOutput=null
StandardError=null

[Install]
WantedBy=multi-user.target
EOF

systemctl daemon-reload
systemctl restart ngrokd

6.3 ngrok客户端服务配置

下载

sudo wget -O /bin/ngrok xxxxx
sudo chmod a+x /bin/ngrok

配置文件

mkdir -p /opt/ngrok/
cat <<'EOF'>/opt/ngrok/ngrok.yml
server_addr: "ngrok.op123.ren:4443"
trust_host_root_certs: false
console_ui: false
region: ap
tunnels:
  ssh:
    proto: 
      tcp: 22
    addr: 0.0.0.0:32895
  web:
    proto: 
      http: 10.168.1.1:80
      https: 10.168.1.1:80

EOF

6.4 ngrok客户端系统服务

cat <<'EOF'>/etc/systemd/system/ngrok.service
[Unit]
Description=ngrokd - Secure introspectable tunnels to localhost

[Service]
WorkingDirectory=/tmp
ExecStart=/bin/ngrok -log=stdout -config=/opt/ngrok/ngrok.yml start-all
Restart=always

ExecStop=/bin/kill -s QUIT $MAINPID
TimeoutStopSec=30
StandardOutput=null
StandardError=null

[Install]
WantedBy=multi-user.target
EOF

systemctl daemon-reload
systemctl restart ngrok

一、一般使用

连接线路

将VGA IN口和USB口依次接入受控设备,再将网口接入路由器或者交换机等(如下图所示)。

VGA OUT根据自己需求选择连接显示器。

2024-04-29T03:35:28.png
接入插线后静等大约十秒左右等待开机界面如下图所示

2024-04-29T03:35:40.png
2024-04-29T03:35:47.png
2024-04-29T03:35:52.png
2024-04-29T03:36:01.png
2024-04-29T03:36:11.png
待开机后根据液晶屏所显示IP地址,打开VNC客户端输入IP即可开始远程连接。

2024-04-29T03:36:24.png

二、按键功能介绍

可通过云手IP-KVM按键直接修改IP地址如图可以看到有三个按钮红色为返回按钮,黄色为选择按钮,绿色为确认按钮。
2024-04-29T03:36:54.png
首先将云手IP-KVM接入USB线和网线,等待正常开机后长按黄色选择按钮三秒,期间会闪烁三次绿灯,然后进入操作界面。进入后可点击黄色选择按钮依次查看菜单。
液晶屏会依次显示
CHOICEIP(选择IP) CONFIG IP(配置IP) CLEAR CONFIG(清除缓存文件)
1、选择CHOICE IP 云手IP-KVM会显示第一个为DHCP(动态IP地址)然后继续点击选择按钮会显示你所配置过的IP地址,最多可记录最新修改的五个IP,最后选择你所需要的IP按下确认按钮,等待大约10秒后液晶屏会自动更新显示你所选择的IP地址,注意首次使用云手IP-KVM页面默认只会显示DHCP直到你修改IP地址后。
2、选择CONFIG IP(盒子配置静态IP地址) 云手IP-KVM可通过盒子手动修改IP地址,从第一位数字开始,点击黄色选择按钮就是更改当前位置的数字,如闪烁第一位数字点击黄色选择按钮会一直循环0 1 2,点击红色确定按钮切换下一个数字,以此类推直到改完最后一位数字再点击红色确定按钮等待大约10秒后云手IP-KVM将自动更新,液晶屏显示您所配置的IP地址。
3、选择CLEAR CONFIG 清除缓存文件

三、常见问题

(1)问题一

恢复出厂设置:在设备通电情况下将USB线拔掉重新插等待开机画面第一个画面是 YUN SHOU出现第二个画面SRFE CONIFG的时候马上按一下黄色按钮(注意是按一下就松手不是长按)这时功能灯会持续闪烁再按一下绿色按键等待设备重启即可
2024-04-29T03:31:17.png

(2)常见问题二

如果画面出现故障和鼠标悬移等问题

方法一:选择适配器中1024*768,真彩色(32位)60赫兹 如下图即可解决。(如追求画质清晰度,可自行选择高品质的VGA线和选择同分辨率中赫兹更高的选项如70赫兹)

2024-04-29T03:31:32.png

方法二:请将受控设备分辨率最好调成1024*768 监视器改成60赫兹,如果已经是60,改成70赫兹或者其他的再改成60。

2024-04-29T03:31:46.png

(3)常见问题三

修改web管理员访问密码

2024-04-29T03:32:03.png
修改VNC端口或者访问密码
2024-04-29T03:32:13.png

(4)常见问题四

当设备重启后鼠标键盘失灵

少数主板会存在重启断电情况,VNC控制时画面正常鼠标键盘失灵不动,盒子供电图标熄灭
2024-04-29T03:32:35.png
,在vnc控制页面按住CTRL+ALT+HOME打开OSD菜单选择重置-USB回车五秒即可恢复,或者设备出现其他问题可以登陆WEB页面选择重启服务
2024-04-29T03:32:48.png

2024-04-29T03:32:55.png

(5)常见问题五

如果画面悬移在控制页面按住CTRL+ALT+HOME打开OSD菜单选择影像调节,里面可以更改水平位置和垂直位置。

2024-04-29T03:33:10.png

(6)常见问题六

修改VNC画质和访问速度

如果使用Ngrok外网访问VNC画质(如图)很低时可安装VNC官网版本
https://www.realvnc.com/en/connect/download/viewer/

然后选择Options的Picture quality选择high

如果想流畅度高一些选择Options的Picture quality选择Low

2024-04-29T03:33:27.png
2024-04-29T03:33:34.png
2024-04-29T03:33:41.png

(7)常见问题七

绑定MAC地址

2024-04-29T03:33:57.png

(8)常见问题八

使用HDMI转VGA转接器后或画面不清晰调整方法

可以在VNC画面中按CTRL+ALT+HOME打开OSD菜单选择色彩调整可以修改画面亮度和对比,主要修改影像调整的相位修改到20-30之间或者更高,注意修改时键盘的上下左右键请一次一次敲击,不要按住不松手容易卡死。
2024-04-29T03:34:14.png
2024-04-29T03:34:19.png

(9)常见问题九

浏览器管理页面修改成中文或英文

2024-04-29T03:34:32.png

(10)常见问题十

ngrok配置后连接不上
第一步:去盒子后台选择网络诊断然后点一下ping按钮,查看盒子连接互联网是否有问题,如果ping不通自行检查网络配置问题
第二步:去ngrok官网点击查看状态,如果隧道是在线状态需要把自己的隧道踢下线(如图二),踢下线后不要用ngork的客户端激活隧道
第三步:去盒子后台重新点击一次保存应用即可解决问题,然后就可以开始远程了

2024-04-29T03:34:45.png
2024-04-29T03:34:52.png
2024-04-29T03:34:59.png

(11)常见问题十一

红灯代表由于线缆过长或者质量问题导致电力不足,可能造成无法正常工作,包括无法启动或者键盘无法使用(待进一步观察)。
处理办法:更换USB线缆(类似打印机)usb b口

三、来源

上回说到为了找代码,老板从仓库帮出来了年底久远的华为服务器,第一台是安装的CentOS系统,但是启动会卡住;另外一台是ESXi,已经被我们破解并可以继续使用。这次让我们使用新式方法解锁这台服务器。

一、情报搜集

这台服务器直接安装了操作系统CentOS6.4,里面跑了很多项目,各种代码和二进制文件。
需要对BMC和操作系统进行密码重置、做好磁盘镜像、重装系统。
在此过程中,对于带外管理的各种方法可以得到验证。

二、带外连接与控制

2.1 连接maxcent设备

使用maxcent设备进行相关连线,包括电源线、VGA线缆、网线等。
2024-04-28T09:09:17.png
2024-04-28T09:36:09.png
2024-04-28T09:10:08.png
2024-04-28T09:10:54.png

本来以为可以顺畅的使用maxcent作为华为服务器的带外管理,并且进行各种BIOS级别的操作,为修复该centos起到重要的作用。没想到,会由于分辨率问题,导致某些关键节点无法看到服务器视频输出。

正常显示
2024-04-28T09:13:06.png

异常显示。当maxcent第一次显示服务器的视频出时,其分辨率为720x400,而随着服务器运行后画面的变动,分辨率会变成640x480或者1024x768等,而这个时候maxcent远端的客户端展示的就是蓝屏了。
2024-04-28T09:16:18.png
2024-04-28T09:16:35.png

查看显示器分辨率的方法。
按1下Menu,然后按几下FUNC一直到最底下的下一页,然后按1下AOTO就可以看当前画面的分辨率了。

2024-04-28T09:18:39.png

2024-04-28T09:13:50.png
2024-04-28T09:14:10.png
2024-04-28T09:14:33.png

但是呢,如果蓝屏时通过WEB页面将maxcent设备重启,有可能会得到正常的画面哦。突然想起来,第一次使用maxcent设备配合8口KVM并使用快捷键进行切换的时候,如果一个画面感觉有异常,就使用快捷键进行切换就好了。明天再试下。
2024-04-28T09:17:13.png

2.2 测试ez2pc

以为是maxcent的问题,后来使用了ez2pc进行测试。

首先遇到了一个问题就是供电问题。
2024-04-28T09:20:57.png
2024-04-28T09:21:39.png
如果显示红灯,那么就拔插下USB线可能就好了。
2024-04-28T09:21:11.png
2024-04-28T09:21:57.png
2024-04-28T09:21:20.png

后来,又遇到一个问题,可以看,但是无法控制。

2.3 尝试使用华为BMC软件连接

从网上下载了华为的KVM软件,无需浏览器各种配置安全策略等,直接运行exe,且适用于mac、linux、windows等系统。

还是BMC靠谱呀。

2024-04-28T09:36:50.png

  • 华为FusionServer V3/V5 服务器 BIOS 密码
    华为服务器 V3 服务器BIOS默认密码为:Huawei12#$ 或者:uniBIOS123
    华为服务器 V5 服务器BIOS默认密码为:Admin@9000
    华为服务器 TaiShan 100(XR320)和 200 BIOS 密码
    华为 TaiShan 100(型号XR320)和TaiShan 200服务器
    BIOS默认密码为:Admin@9000
    华为其他型号 TaiShan 100服务器的BIOS默认密码为:Huawei12#$
    密码输入错误3次将锁定,只能通过重启服务器来恢复。
  • 华为服务器MGMT网口,即BMC(iBMC/iMana)的默认IP地址与子网掩码如下:
    默认IP地址:192.168.2.100
    默认子网掩码:255.255.255.0
  • 华为V2/V3机架服务器BMC(iBMC/iMana)默认用户名和密码
    默认用户:root
    默认密码:Huawei12#$
    老版本iMana默认密码可能为:root
    V5机架服务器BMC(iBMC)默认用户名和密码如下:
    默认用户:Administrator
    默认密码:Admin@9000

2.4 测试ez2pc+maxcent

现场照片
2024-04-29T01:59:36.png

逻辑示意图
2024-04-29T02:03:50.png

形成的结果就是,无论是使用BMC、maxcent client 、ez2pc vnc都可以访问,而且ez2pc vnc可以看的很好。

都可以正常访问
2024-04-29T02:05:45.png
2024-04-29T02:05:58.png

ez2pc的vnc同样有很好的表现
2024-04-29T02:06:10.png

三、服务器系统修复

3.1 按住F11,进入从U盘启动

3.2 启动systemrecuecd

2024-04-28T09:18:11.png

3.3 开启systemrecuecd的sshd

passwd  root
systemctl restart sshd
iptables -t filter -F
iptables -t filter -P ACCEPT

chroot切到服务器centos系统

mkdir -p /mnt/centos
mount /dev/sdb5 /mnt/centos
mkdir -p /mnt/centos/sys
mkdir -p /mnt/centos/dev
mkdir -p /mnt/centos/proc

mount -t proc none /mnt/centos/proc
mount --bind /dev /mnt/centos/dev
mount --bind /sys  /mnt/centos/sys

chroot /mnt/centos /bin/bash

#cat /etc/fstab
mount /boot
mount /home
mount /opt
mount /tmp
mount /usr
mount /var

2024-04-28T02:25:48.png

2024-04-28T02:24:33.png
2024-04-28T02:26:01.png

3.4 关闭可能有问题的服务

[root@sysrescue /]# chkconfig --list | grep 3:on
(off)NetworkManager     0:off    1:off    2:on    3:on    4:on    5:on    6:off
abrt-ccpp          0:off    1:off    2:off    3:on    4:off    5:on    6:off
abrtd              0:off    1:off    2:off    3:on    4:off    5:on    6:off
acpid              0:off    1:off    2:on    3:on    4:on    5:on    6:off
atd                0:off    1:off    2:off    3:on    4:on    5:on    6:off
auditd             0:off    1:off    2:on    3:on    4:on    5:on    6:off
autofs             0:off    1:off    2:off    3:on    4:on    5:on    6:off
blk-availability    0:off    1:on    2:on    3:on    4:on    5:on    6:off
bluetooth          0:off    1:off    2:off    3:on    4:on    5:on    6:off
(off)certmonger         0:off    1:off    2:off    3:on    4:on    5:on    6:off
cgconfig           0:off    1:off    2:on    3:on    4:on    5:on    6:off
cpuspeed           0:off    1:on    2:on    3:on    4:on    5:on    6:off
crond              0:off    1:off    2:on    3:on    4:on    5:on    6:off
cups               0:off    1:off    2:on    3:on    4:on    5:on    6:off
firstboot          0:off    1:off    2:off    3:on    4:off    5:on    6:off
haldaemon          0:off    1:off    2:off    3:on    4:on    5:on    6:off
(off)influxdb           0:off    1:off    2:on    3:on    4:on    5:on    6:off
ip6tables          0:off    1:off    2:on    3:on    4:on    5:on    6:off
irqbalance         0:off    1:off    2:off    3:on    4:on    5:on    6:off
iscsi              0:off    1:off    2:off    3:on    4:on    5:on    6:off
iscsid             0:off    1:off    2:off    3:on    4:on    5:on    6:off
(off)jexec              0:off    1:on    2:on    3:on    4:on    5:on    6:off
kdump              0:off    1:off    2:off    3:on    4:on    5:on    6:off
(off)keepalived         0:off    1:off    2:on    3:on    4:on    5:on    6:off
lm_sensors         0:off    1:off    2:on    3:on    4:on    5:on    6:off
lvm2-monitor       0:off    1:on    2:on    3:on    4:on    5:on    6:off
mdmonitor          0:off    1:off    2:on    3:on    4:on    5:on    6:off
(off)messagebus         0:off    1:off    2:on    3:on    4:on    5:on    6:off
netcf-transaction    0:off    1:off    2:on    3:on    4:on    5:on    6:off
(off)netfs              0:off    1:off    2:off    3:on    4:on    5:on    6:off
network            0:off    1:off    2:on    3:on    4:on    5:on    6:off
nfslock            0:off    1:off    2:off    3:on    4:on    5:on    6:off
ntpd               0:off    1:off    2:on    3:on    4:on    5:on    6:off
(off)openvpn            0:off    1:off    2:on    3:on    4:on    5:on    6:off
portreserve        0:off    1:off    2:on    3:on    4:on    5:on    6:off
postfix            0:off    1:off    2:on    3:on    4:on    5:on    6:off
rpcbind            0:off    1:off    2:on    3:on    4:on    5:on    6:off
rpcgssd            0:off    1:off    2:off    3:on    4:on    5:on    6:off
rpcidmapd          0:off    1:off    2:off    3:on    4:on    5:on    6:off
rsyslog            0:off    1:off    2:on    3:on    4:on    5:on    6:off
sshd               0:off    1:off    2:on    3:on    4:on    5:on    6:off
sysstat            0:off    1:on    2:on    3:on    4:on    5:on    6:off
udev-post          0:off    1:on    2:on    3:on    4:on    5:on    6:off
chkconfig monitorix off
chkconfig jenkins off
chkconfig messagebus off
chkconfig nginx off     
chkconfig nginx-debug off
chkconfig nginx-debug off
chkconfig certmonger off
chkconfig postfix off
chkconfig NetworkManager off
chkconfig network off
chkconfig firstboot off

3.5 检查/etc/rc.local

2024-04-28T02:17:51.png

3.6 最后还是不行

虽然不行,但是经过修改ip地址已经可以正常远程登录了。
至此,该服务器的优化工作就到这里了。

尝试将该服务器的硬盘做好镜像,然后给服务器直接安装ESXi。

四、经验总结

  • 常见的带外管理方式有板载BMC,还有第三方模拟设备(maxcent或者ez2pc)
  • 对于BIOS底层级别的服务器操作,还是BMC靠谱
  • 对于系统已经安装,需要带外远程使用,maxcent或者ez2pc可能会好一些

一、背景

昨天下班前,领导说有部分代码可能在之前的服务器里面,需要尝试恢复一下。早上,老板去厂房把服务器运了回来。搬到弱电间后,使用简单的两台工作站搭建了一个临时场所,然后将两台服务器放好。
2024-04-26T06:40:52.png
2024-04-26T06:50:07.png

二、准备

准备了插排、网线、百兆交换机、显示器、键盘、鼠标等装备后,开始点亮服务器。两台服务器,一台166安装的是CentOS6系统,开机后卡在服务启动阶段,无法正常进入登录状态;另外一台206服务器安装的是ESXi6系统,可是不知道密码,而且里面的虚拟机IP地址也无法ping通。无奈,只能尝试恢复了。
2024-04-26T06:41:18.png

三、分析

分析一下领导的需求是代码,而根据与之前同事的沟通,大概是一台188的服务器,那应该是在206这台ESXi里面的虚拟机里了。恢复ESXi6的密码,通常有两种方式,一种是通过一个Linux救援盘启动后,将文件修改并覆盖然后重启;另外一种方式是升级ESXi,并选择保留数据。考虑了一下,还是第二种方法会好一些,简单方便。

四、处理

4.1 恢复宿主机206

在处理ESXi密码恢复的过程中,还遇到了两件麻烦的事儿。一个是键盘插到前面板后不管用,后来更换了一个并且使用了服务器屁股后面的USB口才可以。另外一个是F11打开启动方式菜单,但是除了本地Raid硬盘没有USB设备,可能也是跟USB插到前面板的缘故。最终使用Windows笔记本电脑+网线+iVentory+ESXi6.7 ISO的方式实现了PXE式的启动。
2024-04-26T06:43:01.png
2024-04-26T06:41:47.png
升级ESXi版本的过程倒还算顺利,除了要注意,要选择第二个全新安装并保留数据,不能选择第三个全新安装部保留数据以及第一个升级并保留数据(我怀疑升级的时候密码不变,此处没有进一步尝试了)。
2024-04-26T06:42:33.png
2024-04-26T06:43:22.png
升级过程中,有少量丢包
2024-04-26T06:43:35.png
2024-04-26T06:44:06.png

进入ESXi安装程序,开始安装ESXi6.7。
2024-04-26T06:44:45.png
2024-04-26T06:44:57.png
2024-04-26T06:45:10.png
2024-04-26T06:45:22.png
2024-04-26T06:45:33.png
2024-04-26T06:45:52.png
2024-04-26T06:46:04.png
2024-04-26T06:46:14.png
2024-04-26T06:46:26.png
2024-04-26T06:46:40.png
2024-04-26T06:46:51.png

ESXi开始启动。
2024-04-26T06:47:06.png

升级完成之后,ESXi系统自动获得了IP地址147,使用自己设置的密码就可以远程查看了。查看的方法可以通过WEB地址,也可以通过VMware Workstations连接ESXi服务器的方式。可是,打开之后,有点傻眼,虚拟机呢?在ESXi系统中切换到存储界面,看到了数据还在。于是,使用注册的方式将177和188两台虚拟机进行了注册。
2024-04-26T06:47:24.png

4.2 注册虚拟机188

接下来就是虚拟机处理环节了。
2024-04-26T06:48:01.png
2024-04-26T06:48:13.png
2024-04-26T06:48:23.png
2024-04-26T06:48:35.png

4.3 充值虚拟机密码

两台虚拟机,一台177使用的是CentOS 6.10系统,另外一台188使用的是CentOS7.9.2009系统。此处遇到了一个问题,188服务器无法ping通。经过检查,原来是ESXi对于188虚拟机没有给出网卡,但是配置了网卡之后呢还是不行,回顾去一看没有配置上。最后,索性删掉了已有虚拟网卡,重新新增一块网卡。修复虚拟机CentOS密码的方式就相对容易一些了。修复CentOS的方式是开机启动,并在启动菜单界面按“e”进入编辑模式,在启动参数中找到以 "linux" 开头的那一行,移动光标到该行末尾。在该行末尾添加以下内容:rd.break enforcing=0。使用命令mount -o remount,rw /sysroot重新挂载后,使用两条命令,一条是passwd设定密码,一条是touch /.autorelabel(如果使用了SELinux)。然后exit退出chroot模式并reboot重启就好了。注意,在设定密码的时候由于系统环境变量设置的LANG是zh_CN.UTF-8,使得passwd交互模式是乱码,所以可以使用export LANG=en_US.UTF-8命令修改语言环境设置,可以看到密码修复成功也就放心了。

既然已经进入了系统,接下来就可以查找数据了。我根据从之前同事那里了解到的代码情况,去188虚拟机寻找gitlab相关服务。可是,找了半天我也没有找到。我与领导沟通,获得了一个文件名字关键词,然后使用find / -name "xxx" 2>/dev/null。最后我没有找到相关的代码。然后就没有然后了。

五、玩耍

5.1 使用IPMICFG.esxi从ESXi系统里面配置iMana(华为称BMC的名称,ipmi是指协议)

结束了代码寻找工作,我在想这些服务器不正好可以用来学习研究ipmi以及raid相关的工具使用了么。

测试ESXi配置ipmi信息。首先,我通过WEB打开ESXi的管理页面,然后打开ESXi的SSH服务。将该SSH服务添加到堡垒机里面实现快捷登录。登录ESXi的SSH之后,使用命令下载软件并安装。注意,安装vib的时候要加上-f,否则会有验证错误。安装之后,ipmicfg命令位于/opt/supermicro/ipmicfg目录。然后,使用相关命令查看已有的IPMI配置信息。

2024-04-26T05:25:50.png

cd /tmp
wget "http://vip.123pan.cn/1815238395//download/usbos/ipmicfg/IPMICFG_1.35.1_build.230912_ESXi.zip?sign=00jfB0tdiASmOB0pRWKYRSIA-ToafufIGlRNx00Uw9Y=:0" -O IPMICFG_1.35.1_build.230912_ESXi.zip
unzip -d . IPMICFG_1.35.1_build.230912_ESXi.zip
esxcli software vib install -v /tmp/IPMICFG_1.35.1_build.230912_ESXi_6x.vib -f

2024-04-26T05:28:39.png

/opt/supermicro/ipmicfg/IPMICFG.esxi 

2024-04-26T05:31:12.png

使用笔记本电脑配置一个192.168.2.110的IP子接口。
2024-04-26T05:32:55.png

没有测试成功,可能使用的专有网卡。
2024-04-26T05:33:58.png

使用网线连接到专有接口上。测试可以了。
2024-04-26T06:49:43.png
2024-04-26T05:36:47.png

查看一下用户。
2024-04-26T05:47:18.png

加一个用户和密码。不过,添加失败了。

[root@localhost:/opt/supermicro/ipmicfg] /opt/supermicro/ipmicfg/IPMICFG.esxi -user add 5 admin xxx 4
Failed to enable the user. Completion Code=84h

尝试,修改root密码

[root@localhost:/opt/supermicro/ipmicfg] /opt/supermicro/ipmicfg/IPMICFG.esxi -user  setpwd 2 xxx
Done.

可以了
2024-04-26T05:50:22.png

5.2 尝试使用ipmiview图形化界面查看iMana信息

安装ipmiview。

找到了刚刚配置好iMana的华为服务器
2024-04-26T06:57:55.png

保存搜索结果
2024-04-26T06:59:42.png

点击,输入密码登录。
2024-04-26T07:00:10.png

获取风扇信息
2024-04-26T07:00:35.png

电源控制
2024-04-26T07:00:49.png

获取服务器FRU信息
2024-04-26T07:01:05.png

一个控制台。不了解了。
2024-04-26T07:01:22.png

获取配置信息
2024-04-26T07:01:38.png

IPMICFG

IPMICFG is an In-band utility for configuring IPMI devices. It is a command line tool providing standard IPMI and Supermicro® proprietary OEM commands for BMC/FRU configuration. This CLI-based utility can be executed on UEFI, DOS, Windows, and Linux OS and does not require any additional software installation.

IPMICFG Key Features:

Set up IPMI IP Address
Set up IPMI Configuration
Configure IPMI User Management
Configure IPMI FRU
Manage System Event Log (SEL)
Manage IPMI by node management (NM) protocol

查看

查看ip地址

D:\360安全浏览器下载\IPMICFG_1.35.1_build.230912\IPMICFG_1.35.1_build.230912\Windows\64bit>IPMICFG-Win.exe -m
IP=192.168.1.xx
MAC=xx:94:EF:F7:37:8F

查看固件版本

D:\360安全浏览器下载\IPMICFG_1.35.1_build.230912\IPMICFG_1.35.1_build.230912\Windows\64bit>IPMICFG-Win.exe -ver
Firmware Version: 30.95.00

查看fru

D:\360安全浏览器下载\IPMICFG_1.35.1_build.230912\IPMICFG_1.35.1_build.230912\Windows\64bit>IPMICFG-Win.exe -fru list
Chassis Type (CT)               = Rack Mount Chassis(17h)
Chassis Part Number (CP)        = N/A
Chassis Serial Number (CS)      = N/A
Board Mfg. Date/Time(BDT)       = 2018/11/04 08:10:00 (4A 53 B7)
Board Manufacturer (BM)         = Nettrix
Board Product Name (BPN)        = 60P16-US
Board Serial Number (BS)        = xxx
Board Part Number (BP)          = 24001880
Product Manufacturer (PM)       = Nettrix
Product Name (PN)               = R420 G30
Product Part/Model Number (PPM) = xxx
Product Version (PV)            = Purley
Product Serial Number (PS)      = xxx
Product Asset Tag (PAT)         =

查看信息简介

D:\360安全浏览器下载\IPMICFG_1.35.1_build.230912\IPMICFG_1.35.1_build.230912\Windows\64bit>IPMICFG-Win.exe -summary
Summary
-------------------------------------------
IPv4 Address           : 192.168.1.6
BMC MAC Address        : 08:94:EF:F7:36:5D
Firmware Revision      : 30.95.00

查看sel信息

  • 开机启动
    2024-04-25T05:29:59.png
  • 网线掉了
    2024-04-25T05:30:59.png
    2024-04-25T05:31:54.png

查看主板传感器状态

[collapse status="false" title="详细信息"]

D:\360安全浏览器下载\IPMICFG_1.35.1_build.230912\IPMICFG_1.35.1_build.230912\Windows\64bit>IPMICFG-Win.exe -sdr
Status | (#)Sensor                |      Reading | Low Limit | High Limit |
------ | ---------                |      ------- | --------- | ---------- |
    OK | (1) +VCORE0              |       1.80 V |    1.10 V |     2.60 V |
       | (2) +VCORE1              |          N/A |    1.10 V |     2.60 V |
    OK | (3) +VDDQ_ABC_CPU0       |       1.21 V |    0.90 V |     1.50 V |
    OK | (4) +VDDQ_DEF_CPU0       |       1.22 V |    0.90 V |     1.50 V |
       | (5) +VDDQ_ABC_CPU1       |          N/A |    0.90 V |     1.50 V |
       | (6) +VDDQ_DEF_CPU1       |          N/A |    0.90 V |     1.50 V |
    OK | (7) +1.05V_PCH           |       1.05 V |    0.79 V |     1.31 V |
    OK | (8) +12V                 |      12.00 V |    9.00 V |    15.00 V |
    OK | (9) +5V                  |       5.00 V |    3.80 V |     6.30 V |
    OK | (10) +3.3V               |       3.30 V |    2.50 V |     4.10 V |
    OK | (11) +VBAT               |       3.10 V |    2.20 V |     3.70 V |
    OK | (12) PCH_Temp            |     57C/135F |   -4C/25F |   81C/178F |
    OK | (13) PCH_Amb_Temp        |     43C/109F |   -4C/25F |   68C/154F |
    OK | (14) Inlet_Temp          |      30C/86F |   -4C/25F |   57C/135F |
    OK | (15) Outlet_Temp         |     38C/100F |   -4C/25F |   68C/154F |
    OK | (16) PCIe_Amb_Temp       |      28C/82F |   -4C/25F |   68C/154F |
    OK | (17) CPU0_VR_Temp        |      37C/99F |   -4C/25F |   92C/198F |
    OK | (18) CPU1_VR_Temp        |      27C/81F |   -4C/25F |   92C/198F |
  Fail | (19) CPU0_Tmarging       |     45C/113F | -50C/-57F |  -61C/-77F |
       | (20) CPU1_Tmarging       |       0C/32F | -50C/-57F |  -61C/-77F |
    OK | (21) Sys_Total_Power     |    114 Watts |       N/A | 1404 Watts |
       | (22) PWR_State           |                       S0 / G0 working |
       | (23) PWR_Button          |                                   N/A |
       | (24) System_Restart      |                                   N/A |
       | (25) WatchDog2           |                                   N/A |
       | (26) SEL_FULL            |                                   N/A |
    OK | (27) CPU0_Temp           |     42C/108F |   -4C/25F |   96C/205F |
       | (28) CPU1_Temp           |       0C/32F |   -4C/25F |   96C/205F |
    OK | (29) CPU0_Status         |           Processor presence detected |
       | (30) CPU1_Status         |                                   N/A |
    OK | (31) CPU_Power           |     36 Watts |       N/A |  506 Watts |
       | (32) CPU_Cups            |          N/A |       N/A |        N/A |
       | (33) CPU_CATERR          |                                   N/A |
    OK | (34) CPU0_A0_Temp        |      36C/97F |   -4C/25F |   82C/180F |
       | (35) CPU0_A1_Temp        |       0C/32F |   -4C/25F |   82C/180F |
    OK | (36) CPU0_B0_Temp        |      36C/97F |   -4C/25F |   82C/180F |
    OK | (37) CPU0_C0_Temp        |      36C/97F |   -4C/25F |   82C/180F |
    OK | (38) CPU0_D0_Temp        |      33C/91F |   -4C/25F |   82C/180F |
       | (39) CPU0_D1_Temp        |       0C/32F |   -4C/25F |   82C/180F |
       | (40) CPU0_E0_Temp        |       0C/32F |   -4C/25F |   82C/180F |
       | (41) CPU0_F0_Temp        |       0C/32F |   -4C/25F |   82C/180F |
       | (42) CPU1_A0_Temp        |       0C/32F |   -4C/25F |   82C/180F |
       | (43) CPU1_A1_Temp        |       0C/32F |   -4C/25F |   82C/180F |
       | (44) CPU1_B0_Temp        |       0C/32F |   -4C/25F |   82C/180F |
       | (45) CPU1_C0_Temp        |       0C/32F |   -4C/25F |   82C/180F |
       | (46) CPU1_D0_Temp        |       0C/32F |   -4C/25F |   82C/180F |
       | (47) CPU1_D1_Temp        |       0C/32F |   -4C/25F |   82C/180F |
       | (48) CPU1_E0_Temp        |       0C/32F |   -4C/25F |   82C/180F |
       | (49) CPU1_F0_Temp        |       0C/32F |   -4C/25F |   82C/180F |
    OK | (50) CPU0_A0_Status      |                     Presence detected |
       | (51) CPU0_A1_Status      |                                   N/A |
    OK | (52) CPU0_B0_Status      |                     Presence detected |
    OK | (53) CPU0_C0_Status      |                     Presence detected |
    OK | (54) CPU0_D0_Status      |                     Presence detected |
       | (55) CPU0_D1_Status      |                                   N/A |
       | (56) CPU0_E0_Status      |                                   N/A |
       | (57) CPU0_F0_Status      |                                   N/A |
       | (58) CPU1_A0_Status      |                                   N/A |
       | (59) CPU1_A1_Status      |                                   N/A |
       | (60) CPU1_B0_Status      |                                   N/A |
       | (61) CPU1_C0_Status      |                                   N/A |
       | (62) CPU1_D0_Status      |                                   N/A |
       | (63) CPU1_D1_Status      |                                   N/A |
       | (64) CPU1_E0_Status      |                                   N/A |
       | (65) CPU1_F0_Status      |                                   N/A |
    OK | (66) Memory_Power        |      6 Watts |       N/A |  508 Watts |
       | (67) MEM_Cups            |          N/A |       N/A |        N/A |
    OK | (83) PSU1_Status         |                     Presence detected |
    OK | (93) PSU2_Status         |                     Presence detected |
       | (94) Raid1_Temp          |       0C/32F |   -4C/25F |   97C/207F |
    OK | (95) Raid2_Temp          |     58C/136F |   -4C/25F |   97C/207F |
       | (160) PCIeSSDTemp1       |       0C/32F |   -4C/25F |   70C/158F |
       | (161) PCIeSSDTemp2       |       0C/32F |   -4C/25F |   70C/158F |
       | (162) PCIeSSDTemp3       |       0C/32F |   -4C/25F |   70C/158F |
       | (163) PCIeSSDTemp4       |       0C/32F |   -4C/25F |   70C/158F |
       | (164) PCIeSSDTemp5       |       0C/32F |   -4C/25F |   70C/158F |
       | (165) PCIeSSDTemp6       |       0C/32F |   -4C/25F |   70C/158F |
       | (166) PCIeSSDTemp7       |       0C/32F |   -4C/25F |   70C/158F |
       | (167) PCIeSSDTemp8       |       0C/32F |   -4C/25F |   70C/158F |
       | (168) PCIe_NIC_Temp      |       0C/32F |   -4C/25F |  106C/223F |
       | (169) PCH_LAN1_Link      |                                   N/A |
       | (170) PCH_LAN2_Link      |                                   N/A |
       | (171) PCH_LAN3_Link      |                                   N/A |
       | (172) PCH_LAN4_Link      |    Cable or Interconnect is connected |
    OK | (183) FAN1_Speed         |     3400 RPM |   700 RPM |  21000 RPM |
    OK | (184) FAN2_Speed         |     3500 RPM |   700 RPM |  21000 RPM |
    OK | (185) FAN3_Speed         |     3500 RPM |   700 RPM |  21000 RPM |
       | (186) FAN1_Present       |          N/A |       N/A |        N/A |
       | (187) FAN2_Present       |          N/A |       N/A |        N/A |
       | (188) FAN3_Present       |          N/A |       N/A |        N/A |
    OK | (327) HDD0_Status        |                        Drive Presence |
    OK | (328) HDD1_Status        |                        Drive Presence |
    OK | (329) HDD2_Status        |                        Drive Presence |
    OK | (330) HDD3_Status        |                        Drive Presence |
    OK | (583) PSU1_Vin           |     220.00 V |   86.00 V |   270.00 V |
    OK | (584) PSU1_Iin           |    0.20 Amps |       N/A | 11.00 Amps |
    OK | (585) PSU1_Pin           |     54 Watts |       N/A |  702 Watts |
    OK | (586) PSU1_Vout          |      12.00 V |   11.40 V |    12.80 V |
    OK | (587) PSU1_Iout          |    3.00 Amps |       N/A | 50.00 Amps |
    OK | (588) PSU1_Pout          |     48 Watts |       N/A |  630 Watts |
    OK | (589) PSU1_Hs_Temp       |     38C/100F |   -4C/25F |   92C/198F |
    OK | (590) PSU1_Amb_Temp      |      30C/86F |   -4C/25F |   64C/147F |
    OK | (591) PSU1_FanSpeed      |     4500 RPM |   900 RPM |  20000 RPM |
    OK | (592) PSU2_Vin           |     220.00 V |   86.00 V |   270.00 V |
    OK | (593) PSU2_Iin           |    0.30 Amps |       N/A | 11.00 Amps |
    OK | (594) PSU2_Pin           |     60 Watts |       N/A |  702 Watts |
    OK | (595) PSU2_Vout          |      12.00 V |   11.40 V |    12.80 V |
    OK | (596) PSU2_Iout          |    3.00 Amps |       N/A | 50.00 Amps |
    OK | (597) PSU2_Pout          |     45 Watts |       N/A |  630 Watts |
    OK | (598) PSU2_Hs_Temp       |     39C/102F |   -4C/25F |   92C/198F |
    OK | (599) PSU2_Amb_Temp      |      30C/86F |   -4C/25F |   64C/147F |
    OK | (600) PSU2_FanSpeed      |     4300 RPM |   900 RPM |  20000 RPM |

D:\360安全浏览器下载\IPMICFG_1.35.1_build.230912\IPMICFG_1.35.1_build.230912\Windows\64bit>

[/collapse]

BMC状态检查

D:\360安全浏览器下载\IPMICFG_1.35.1_build.230912\IPMICFG_1.35.1_build.230912\Windows\64bit>IPMICFG-Win.exe -selftest
Selftest: Passed.

检查用户

D:\360安全浏览器下载\IPMICFG_1.35.1_build.230912\IPMICFG_1.35.1_build.230912\Windows\64bit>IPMICFG-Win.exe -user list
Maximum number of Users          : 31
Count of currently enabled Users : 3
User ID | User Name        | Privilege Level | Enable
------- | ---------        | --------------- | ------
      2 | Admin            | Administrator   | Yes
      3 | admin            | No Access       | Yes
      4 | admin2           | No Access       | Yes
 -user list                 Lists user privileges.
 -user help                 Shows a user privilege code.
 -user add <user id> <name> Adds a user.
  <password> <privilege>    
 -user del <user id>        Deletes users.
 -user level <user id>      Updates user privileges.
  <privilege>               
 -user setpwd <user id>     Updates a user password.
  <password>                

# 查看用户列表
ipmicfg -user list
ipmicfg -user add 5 test5 Test@123. 4 // 4是Administrator
ipmicfg -user del 5
ipmicfg -user level 5 4
ipmicfg -user setpwd 5 Test@123.

设置用户权限

D:\360安全浏览器下载\IPMICFG_1.35.1_build.230912\IPMICFG_1.35.1_build.230912\Windows\64bit>IPMICFG-Win.exe -user level 3 Administrator
Privilege level error.

Administrator       : 4
Operator            : 3
User                : 2
Callback            : 1
No Access           : 15

D:\360安全浏览器下载\IPMICFG_1.35.1_build.230912\IPMICFG_1.35.1_build.230912\Windows\64bit>IPMICFG-Win.exe -user level 3 4
Done.

D:\360安全浏览器下载\IPMICFG_1.35.1_build.230912\IPMICFG_1.35.1_build.230912\Windows\64bit>IPMICFG-Win.exe -user list
Maximum number of Users          : 31
Count of currently enabled Users : 3
User ID | User Name        | Privilege Level | Enable
------- | ---------        | --------------- | ------
      2 | Admin            | Administrator   | Yes
      3 | admin            | Administrator   | Yes
      4 | admin2           | No Access       | Yes

配置

添加用户

D:\360安全浏览器下载\IPMICFG_1.35.1_build.230912\IPMICFG_1.35.1_build.230912\Windows\64bit>IPMICFG-Win.exe -user add 5 admin admin 4

配置ip地址

# 关闭dhcp,配置IP地址、掩码、免费ARP等
IPMICFG-Win.exe -dhcp off
IPMICFG-Win.exe -m 192.168.1.6
IPMICFG-Win.exe -k 255.255.255.0
IPMICFG-Win.exe -garp on
IPMICFG-Win.exe -g // 网关

# 检查配置是否正确
IPMICFG-Win.exe -dhcp
IPMICFG-Win.exe -m
IPMICFG-Win.exe -k

配置共享网卡(NCSI功能)

暂时未实验,以下是华为知识库的一个参考。
https://support.huawei.com/enterprise/zh/knowledge/EKB1000071154

重启BMC

D:\360安全浏览器下载\IPMICFG_1.35.1_build.230912\IPMICFG_1.35.1_build.230912\Windows\64bit>IPMICFG-Win.exe -r -d
BMC cold reset successfully completed!
Please wait a few minutes for the BMC to restart.
........................................................................................................................
Done.

详细使用帮助

[collapse status="false" title="详细信息"]

D:\360安全浏览器下载\IPMICFG_1.35.1_build.230912\IPMICFG_1.35.1_build.230912\Windows\64bit>IPMICFG-Win.exe -help
IPMICFG Version 1.35.1 (Build 230912)
Copyright(c) 2023 Super Micro Computer, Inc.
Usage: IPMICFG params (Example: IPMICFG -m 192.168.1.123)
 -help                      Display a list of commands
 -m                         Shows IPv4 address and MAC.
 -m <ip>                    Sets IPv4 address (format: ###.###.###.###).
 -a <mac>                   Sets MAC (format: ##:##:##:##:##:##).
 -k                         Shows Subnet Mask.
 -k <mask>                  Sets Subnet Mask (format: ###.###.###.###).
 -dhcp                      Gets the DHCP status.
 -dhcp on                   Enables the DHCP.
 -dhcp off                  Disables the DHCP.
 -g                         Shows a Gateway IP.
 -g <gateway>               Sets a Gateway IP (format: ###.###.###.###).
 -garp on                   Enables the Gratuitous ARP.
 -garp off                  Disables the Gratuitous ARP.
 -r                         Performs a BMC cold reset.
                            Detects if a BMC reset was successfully performed
                             on the IPMI device, use -d after -r.
 -fd <option>               Resets to the factory defaults without preserving
                             configurations.
                            option:  1 | Preserves User configurations
                            option:  2 | Restores to factory default and
                             default password
                            option:  3 | Sets user defaults to ADMIN/ADMIN
 -fdl                       Resets IPMI to the factory default. (Clean LAN).
 -fde                       Resets IPMI to the factory default. (Clean FRU &
                             LAN).
 -d                         Detects if a BMC reset was successfully performed
                             on the IPMI device.
                            Note that this option can be only used after -r,
                             -fd, -fdl or -fde
 -ver                       Gets firmware revision.
 -vlan                      Gets VLAN status.
 -vlan on [VLAN tag]        Enables the VLAN and sets the VLAN tag.
                            If VLAN tag is not given, it uses the previously
                             saved value.
 -vlan off                  Disables the VLAN.
 -selftest                  Checks and reports the basic health status of the
                             BMC.
 -raw                       Sends a RAW IPMI request and prints a response.
                            Format: NetFn/LUN Cmd [Data1 ... DataN]
 -fru info                  Shows information of the FRU inventory area.
 -fru list                  Shows all FRU values.
 -fru cthelp                Shows chassis type code.
 -fru help                  Shows help of FRU Write.
 -fru <field>               Shows FRU field value.
 -fru <field> <value>       Writes FRU.
 -fru backup <file>         Backs up FRU to a file <Binary format>.
 -fru restore <file>        Restores FRU from a file <Binary format>.
 -fru tbackup <file>        Backs up FRU to a file <Text format>.
 -fru trestore <file>       Restores FRU from a file <Text format>.
 -fru ver <v1> <v2>         Gets/Sets the FRU version. (<v1> and <v2> are
                             BCD-format)
 -fru dmi <$1> ... <$14>    Inputs 14 parameters and writes to FRU
                             Chassis/Board/Product fields.
                            Please use the "-fru dmi" command to view the
                             parameters.
 -sel info                  Shows SEL information.
 -sel list [option]         Shows SEL records.
                              -y <n years>  | Filter event logs within n years
                              -m <n months> | Filter event logs within n months
                              -d <n days>   | Filter event logs within n days
 -sel del                   Deletes all SEL records.
 -sel raw                   Shows SEL raw data.
 -sdr [full]                Shows SDR records and readings.
 -sdr del <sdr id>          Deletes the SDR record.
 -sdr ver <v1> <v2>         Gets/Sets the SDR version. (<v1> and <v2> are
                             BCD-format)
 -nm nmsdr                  Displays NM SDR.
 -nm seltime                Gets SEL time.
 -nm deviceid               Gets the ID of the ME device.
 -nm reset                  Reboots ME.
 -nm reset2default          Forces ME to reset to default settings.
 -nm updatemode             Forces ME to enter the update mode.
 -nm selftest               Gets self-test results.
 -nm listimagesinfo         Lists ME information of images.
 -nm oemgetpower            OEM Power command for ME.
 -nm oemgettemp             OEM Temp. command for ME.
 -nm pstate                 Gets the maximum allowed CPU P-State.
 -nm tstate                 Gets the maximum allowed CPU T-State.
 -nm cpumemtemp             Gets CPU/memory temperature.
 -nm hostcpudata            Gets the host CPU data.
 -fan                       Gets the fan mode.
 -fan <mode>                Sets the fan mode.
 -pminfo [full]             Displays PMBus health information of power supply.
 -psfruinfo                 Displays FRU health information of power supply.
 -psbbpinfo                 Displays status of the backup battery.
 -autodischarge <module>    Sets auto discharge by days.
  <day>
 -discharge <module>        Manually discharges a battery.
 -user list                 Lists user privileges.
 -user help                 Shows a user privilege code.
 -user add <user id> <name> Adds a user.
  <password> <privilege>
 -user del <user id>        Deletes users.
 -user level <user id>      Updates user privileges.
  <privilege>
 -user setpwd <user id>     Updates a user password.
  <password>
 -conf download <file>      Downloads IPMI configuration to a binary file.
 -conf upload <file>        Uploads IPMI configuration from a binary file.
  <option>                  option: -p | Bypass warning message
 -conf tdownload <file>     Downloads IPMI configuration to a text file.
 -conf tupload <file>       Uploads IPMI configuration from a text file.
  <option>                  option: -p | Bypass warning message
 -clrint                    Clears chassis intrusion.
 -reset <index>             Resets system and forces to boot from the selected
                             device.
 -soft <index>              Initiates a soft-shutdown for OS and forces system
                             to boot from the selected device.
 -ipv6 mode                 Shows the IPv6 mode.
 -ipv6 mode <mode>          Sets the IPv6 mode.
 -ipv6 autoconfig           Shows IPv6 auto configuration.
 -ipv6 autoconfig on        Enables IPv6 auto configuration.
 -ipv6 autoconfig off       Disables IPv6 auto configuration.
 -ipv6 list                 Lists IPv6 static and dynamic addresses.
 -ipv6 duid                 Shows IPv6 DUID.
 -ipv6 dns [ip]             Gets/Sets IPv6 DNS server.
 -ipv6 add <id> <ip>        Adds IPv6 static address.
  <prefix>
 -ipv6 remove <id>          Removes IPv6 static address.
 -ipv6 route                Displays IPv6 static route status.
 -ipv6 route on             Enables IPv6 static route.
 -ipv6 route off            Disables IPv6 static route.
 -ipv6 route list           Lists IPv6 static router information.
 -ipv6 route <id> <prefix   Sets IPv6 static router information.
  value> <prefix length>
  <ip>
 -ipv6 route clear <id>     Clears IPv6 static router information.
 -nvme list                 Displays the existing NVME SSD list.
 -nvme info                 Displays NVME SSD information.
 -nvme rescan               Rescans all devices by in-band.
 -nvme insert <aoc> <group> Inserts SSD by out-of-band.
  <slot>
 -nvme locate <HDD name>    Locates SSD. (in-band)
 -nvme locate <aoc> <group> Locates SSD. (out-of-band)
  <slot>
 -nvme stoplocate <HDD      Stops locateing SSD. (in-band)
  name>
 -nvme stoplocate <aoc>     Stops locateing SSD. (out-of-band)
  <group> <slot>
 -nvme remove <HDD name>    Removes NVME device. (in-band)
  [option1] [option2]       option1: 0 | Do eject after remove (Default)
                            option1: 1 | Do not eject after remove
                            option2:-p | Bypass warning message
 -nvme remove <aoc> <group> Removes NVME device. (out-of-band)
  <slot> [option]           option: -p | Bypass warning message
 -nvme smartdata [HDD name] NVME S.M.A.R.T data.
 -tas info                  Gets TAS information.
 -tas pause                 Pauses a TAS service.
 -tas resume                Resumes a TAS service.
 -tas refresh               Triggers TAS to recollect data.
 -tas clear                 Clears collected TAS data in BMC.
 -tas period <sec>          Sets the time length of a TAS update <limit 1 to 60
                             sec>.
 -tp info                   Gets MCU information.
 -tp info <type>            Gets information of MCU type. (type: 1 - 3)
 -tp nodeid                 Gets a node ID.
 -tp systemname [value]     Gets/Sets a system name.
 -tp systempn [value]       Gets/Sets a system P/N.
 -tp systemsn [value]       Gets/Sets a system S/N.
 -tp chassispn [value]      Gets/Sets a chassis P/N.
 -tp chassissn [value]      Gets/Sets a chassis S/N.
 -tp backplanepn [value]    Gets/Sets a backplane P/N.
 -tp backplanesn [value]    Gets/Sets a backplane S/N.
 -tp nodepn [value]         Gets/Sets node P/N.
 -tp nodesn [value]         Gets/Sets node S/N.
 -summary                   Displays FW and BIOS information.
 -hostname [value]          Gets/Sets a host name.
 -dcmi cap                  Lists information of DCMI capabilities.
 -dcmi power                Gets the DCMI power readings.
 -dcmi ctl [value]          Gets/Sets the DCMI management controller ID string.
 -mel list [option]         Shows BMC maintenance event log.
                              -y <n years>  | Filter event logs within n years
                              -m <n months> | Filter event logs within n months
                              -d <n days>   | Filter event logs within n days
 -mel download <file>       Downloads a BMC maintenance event log to a file.
 -mel clear                 Clears a BMC maintenance event log.
 -addrptl [option]          Gets/Sets IP address protocol.
                            option:  1 | IPv4
                            option:  2 | IPv6
                            option:  3 | Dual
 -lockdown                  Checks the system's lockdown mode.
 -lani [option]             Gets/Sets LAN interface.
 -linkstatus                Shows network link status.

[/collapse]