1

virtualbmc 介绍
通常情况下,我们要使用 IPMI来管理具有带外管理功能的物理机。但是在很多测试环境中,我们使用的是虚拟机。virtualbmc是一个可以使用 IPMI命令来控制虚机的openstack 组件。

virtualbmc 使用最多的常见是用于ironic 的裸机部署测试。

virtualbmc 安装

pip install virtualbmc

virtualbmc 使用

1、查看环境中的虚拟机

$ virsh list --all

image.png

2、将虚机添加到 vbmc 中,同时指定虚机的 ipmi 端口

$ vbmc add centos7.0-3 --port 6233

image.png

3、查看 vbmc 中的虚机信息

$ vbmc list

image.png

4、启动vbmc中的虚机

$ vbmc start <domain>

其中,domain 为该虚机的名称,启动之后用vbmc show <domain>查看,Status 会变成 running 状态。
image.png

5、通过 ipmi 控制虚机
这里 ipmi 的默认用户名和密码分别为 admin 和 password, 用户可以在vbmc add的时候通过--username 和 --password 来指定自己的用户名和密码。

$ ipmitool -I lanplus -H <host-ip> -U <ipmi_user> -P <ipmi_password> -p <ipmi_port> power status

image.png

常用命令

# 查看帮助

$ vbmc --help

# 添加虚机到vbmc

$ vbmc add {domain\_name }

其中,domain_name 为kvm虚机的名称,可用virsh list --all 查看,如:
image.png

# 启动vbmc中的某个虚机

$ vbmc start {domain\_name }

# 停止vbmc中的某个虚机

$ vbmc stop {domain\_name }

# 查看vbmc 管理的虚机列表

$ vbmc list

# 查看vbmc中某个虚机的信息

$ vbmc show {domain\_name }

说明

  • vbmc 使用不同的端口号来映射到不同的虚机;
  • 使用vbmc add 命令时,是在用户的$HOME/.vbmc/node_name/config 里记录 vbmc 的映射信息,vbmc list 也是查看当前用户的 vbmc信息。虽然不同用户记录文件在不同的地方,但是端口号不能重复,ipmitool 命令本身不区分
  • vbmc 支持大部分的 IPMI 命令,但任然有部分命令不支持, 例如 sol;

注:

1、添加虚机到vbmc的命令如下:

vbmc add <domain> --address <ipmi\_address> --port <ipmi\_port> --username <ipmi\_user> --password  <ipmi\_password>

其中:

  • domain:虚拟机的名称,可以用virsh 命令查看
  • ipmi_address:为管理该虚拟机的地址。如果需要填写,一定要填写本机的某个ip地址,则vbmc就只通过该ip地址来管理虚拟机,而无法通过其他ip地址来管理该虚拟机;如果不填写,默认可以使用本机的任意ip地址。
  • ipmi_port:为该虚拟机的虚拟ipmi端口
  • ipmi_user:  为该虚拟机的虚拟ipmi用户
  • ipmi_password:为该虚拟机的虚拟ipmi密码

这样,virtualbmc 就将kvm虚机纳管过来了,此时虚机的virtualBMC尚未启动,所以状态为down。例如:
image.png


王伟
1 声望0 粉丝