使用Libvirt API查看虚拟机(C语言版)
1、使用virsh的交互模式查看管理虚拟机
(1) 使用virt-manager创建虚拟机后,会在“/etc/libvirt/qemu”目录下生成相应的配置文件ubuntu16.04.xml。
使用“cat ubuntu16.04.xml
”查看该配置文件。
(2) 使用命令“service libvirt-bin status
”或命令“ps –el|grep libvirtd
”查看libvirtd进程是否启动。
(3) 复制“/etc/libvirt/qemu
”目录下的“ubuntu16.04.xml
”文件,改名为“demo.xml
”,命令为“cp ubuntu16.04.xml demo.xml
”,然后使用“vim demo.xml”打开文件,修改如下内容:
修改标签内容,该标签内容表示虚拟机名;(第9行)
修改标签值,不要重复;(第10行)
修改标签内容,指定自己的虚拟机镜像文件;(第41行)
修改标签如下,使用vnc连接虚拟机。(第82行)
其中“port=’-1’”表示不设置端口,默认使用的是“5900”;
(4) virsh分为命令模式和交互模式。使用virsh命令的“-c
”参数来建立本地连接,查看本地运行的虚拟机,命令为“virsh –c qemu:///session
”(或直接使用“virsh
”命令)。进入virsh交互模式后,使用“list
”命令可以查看当前运行的虚拟机信息。
“list --all”命令可以查看当前全部,包括启动和未启动的虚拟机 。
(5) 使用virsh的“define demo.xml
”命令定义虚拟机(取消定义虚拟机的命令为“undefine
”),该命令执行后,虚拟机只是从指定的XML文件进行定义,并没有真正的启动。因此,再次执行“list --all
”命令同样没有任何虚拟机信息。使用virsh命令下的“start demo
”命令开启虚拟机,再使用“list --all
”进行查看。
(6) 在virsh中使用命令“vncdisplay demo
”可以查看vnc的端口号。
然后再打开一个终端输入命令“vncviewer :0
”,可以查看虚拟机demo的界面。
也可以在virt-manager
中查看虚拟机。
(7) 使用virsh查看虚拟机其他相关信息,使用“vcpui