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>
其中,domain 为该虚机的名称,启动之后用vbmc show <domain>查看,Status 会变成 running 状态。
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
常用命令
# 查看帮助
$ 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 <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。例如:
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。