python 实现libvirt管理(简单的几个功能)

环境:ubuntu

官方文档:http://libvirt.org/docs/libvirt-appdev-guide-python/en-US/pdf/Version-1.1-Libvirt_Application_Development_Guide_Using_Python-en-US.pdf

要懂一点python

python libvirt模块的安装:

apt-get install python-libvirt 或去python官网下载包,编译安装

前提得有以经创建好的域,可以利用virsh来创建,xml文件在网上可以找到。

这个代码是获得域的hostname。

from __future__ import print_functio
import sys
import libvirt
from xml.dom import minidom
domName = 'myubuntu1'
conn = libvirt.open('qemu:///system')
if conn == None:
    print('Failed to open connection to qemu:///system', file=sys.stderr)
    exit(1)
dom = conn.lookupByName(domName)
if dom == None:
    print('Failed to find the domain '+domName, file=sys.stderr)
    exit(1)
name = dom.hostname()
print('The hostname of the domain is ' + str(name))
conn.close()
exit(0)

这个搞懂再利用下面的函数就可以实现libvirt管理下面的几个小功能了。

常用的几个函数功能:

0.启动虚拟机
 dom.create()
1.定义一个永久的虚拟机
 xml = f.read()
 dom  = conn.defineXML(xml)
2.可以创建一个临时的,destroy时会撤销不存在 
 xml = f.read()
 conn.createXML(xml)
3.显示已经定义的所有domain但未运行
 conn.listDefinedDomains()
4.查看虚拟机的信息
 dom =conn.lookupByName('myubuntu1')
 dom...
5.暂停
 dom.suspend()
6.重新开始
 dom.resume()
7.列出已经定义的所有的虚拟机但未运行的
 conn.listDefinedDomains()
8.列出正在运行的虚拟机的ID
 conn.listDomainsID()
9.关闭虚拟机
 dom.destroy()
10.撤销(移除)已经定义的虚拟机
  dom.undefine()
11.获得所有正在运行的虚拟机的id
 domainIDs = conn.listDomainsID()



你可能感兴趣的:(Python学习,linux)