春风得意马蹄疾 记录技术,分享生活
随笔: 34 分类: 15 评论: 1 阅读: 2,195

iBMC 远程管理:无需物理接触即可开关服务器

📅 发表于 2026-06-18 19:56:58 👁 阅读 20 次 💬 评论 0

背景

家里有一台华为 RH2288V3 服务器,通过路由器拨号上网。由于服务器没有连接显示器和键盘,每次需要开关机都要跑到机房去按电源键,非常不方便。

好在华为服务器自带了 iBMC(集成管理控制器),可以通过网络远程管理服务器,包括开关机、查看状态等。iBMC 独立于主系统运行,只要服务器接通电源,iBMC 就一直在线。

环境信息

服务器型号 华为 RH2288V3
iBMC 管理口 IP 10.10.10.43
iBMC 用户名/密码 root / 067212
服务器 IP 10.10.10.42

iBMC 常用命令

通过 SSH 连接到 iBMC 管理口后,可以使用以下命令:

1. 查看电源状态

ssh root@10.10.10.43
ipmcget -d powerstate

输出示例:

Power state   : On     # 已开机
Power state   : Off    # 已关机

2. 远程开机

ssh root@10.10.10.43
ipmcset -d powerstate -v 1

执行后会提示确认,输入 Y 即可。输出 Control fru0 power on successfully. 表示开机成功。

参数说明:

  • -v 0:正常关机
  • -v 1:开机
  • -v 2:强制关机

3. 远程关机

ssh root@10.10.10.43
ipmcset -d powerstate -v 0

4. 强制关机(相当于长按电源键)

ssh root@10.10.10.43
ipmcset -d powerstate -v 2

⚠️ 强制关机会导致未保存的数据丢失,仅在系统无响应时使用。

一键开关机脚本

为了方便使用,可以写一个简单的 Python 脚本来操作:

开机脚本

import subprocess

IP = "10.10.10.43"
USER = "root"
PASS = "你的iBMC密码"

cmd = [
    r"C:\Program Files\PuTTY\plink.exe",
    "-ssh", "-pw", PASS,
    "-no-antispoof",
    f"{USER}@{IP}",
    "ipmcset -d powerstate -v 1"
]
result = subprocess.run(cmd, input="y\n", capture_output=True, text=True)
print(result.stdout)

查看状态脚本

cmd = [
    r"C:\Program Files\PuTTY\plink.exe",
    "-ssh", "-pw", PASS,
    "-no-antispoof",
    f"{USER}@{IP}",
    "ipmcget -d powerstate"
]
result = subprocess.run(cmd, input="y\n", capture_output=True, text=True)
print(result.stdout)

注意事项

  • iBMC 的 SSH 服务使用旧版加密算法,部分新版本 SSH 客户端可能需要添加兼容参数:-o KexAlgorithms=+diffie-hellman-group14-sha1
  • Windows 下推荐使用 PuTTY 自带的 plink.exe 命令行工具来连接 iBMC
  • 服务器从按下开机到系统完全启动大约需要 2-3 分钟
  • 建议在服务器系统内先执行 shutdown -h now 正常关机,再通过 iBMC 断电,避免数据损坏
  • 如果 iBMC Web 界面无法访问,可以尝试用 SSH 命令行方式,更稳定可靠

总结

有了 iBMC 远程管理,可以随时随地对服务器进行开关机操作,不需要物理接触服务器。配合之前配置的 DDNS 自动更新域名解析,整个服务器已经实现了完全远程管理。

📂 分类:服务器维护
评论 (0)
技术分享者 · 记录成长的每一步
✨ 特效 ON