virtualbmc 介绍
通常情况下,我们要使用 IPMI来管理具有带外管理功能的物理机。但是在很多测试环境中,我们使用的是虚拟机。virtualbmc是一个可以使用 IPMI命令来控制虚机的openstack 组件。
virtualbmc 使用最多的常见是用于ironic 的裸机部署测试。
virtualbmc 安装
pip install virtualbmc
virtualbmc 使用
1、查看环境中的虚拟机
$ virsh list --all
2、将虚机添加到 vbmc 中,同时指定虚机的 ipmi 端口
$ vbmc add centos7.0-3 --port 6233
3、查看 vbmc 中的虚机信息
$ vbmc list
4、启动vbmc中的虚机
$ vbmc start
其中,domain 为该虚机的名称,启动之后用vbmc show 查看,Status 会变成 running 状态。
5、通过 ipmi 控制虚机
这里 ipmi 的默认用户名和密码分别为 admin 和 password, 用户可以在vbmc add的时候通过--username 和 --password 来指定自己的用户名和密码。
$ ipmitool -I lanplus -H -U -P -p power status
常用命令
# 查看帮助
$ vbmc --help
# 添加虚机到vbmc
$ vbmc add {domain\_name }
其中,domain_name 为kvm虚机的名称,可用virsh list --all 查看,如:
# 启动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 --address --port --username --password
其中:
domain:虚拟机的名称,可以用virsh 命令查看
ipmi_address:为管理该虚拟机的地址。如果需要填写,一定要填写本机的某个ip地址,则vbmc就只通过该ip地址来管理虚拟机,而无法通过其他ip地址来管理该虚拟机;如果不填写,默认可以使用本机的任意ip地址。
ipmi_port:为该虚拟机的虚拟ipmi端口
ipmi_user: 为该虚拟机的虚拟ipmi用户
ipmi_password:为该虚拟机的虚拟ipmi密码
这样,virtualbmc 就将kvm虚机纳管过来了,此时虚机的virtualBMC尚未启动,所以状态为down。例如: