您的位置:首页 > 编程语言 > Python开发

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

2016-12-27 09:33 921 查看
环境: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 ubuntu