虚拟化系列之三--Libvirt+java管理虚拟机

libvirt提供了一套API供我们对虚拟机进行管理。官方给出了各种连接的示例http://libvirt.org/uri.html#URI_xen ,我最终选择用TLS方式进行远程连接,因为配置完服务器和和管理机的证书后,就不需要输入密码了,官方对于证书的配置也有说明,这有一篇关于如何配置证书的文章,很简洁,照的做就可以了证书配置。


然后就是写代码了,官方最新是libvirt-0.5.1.jar,但是开发过程中发现一些api没有实现,只能替换成之前的jar包,

官网有源码,用ant编译一下就可以了,现在项目中用的是libvirt-0.4.6.jar。


package com.test;

import org.libvirt.Connect;
import org.libvirt.Domain;
import org.libvirt.LibvirtException;

public class VMmain {

	public static void main(String[] args) {
		try {
			Connect conn = new Connect("xen+tls://[email protected]");
			for(int id : conn.listDomains()){
				Domain dom = conn.domainLookupByID(id);
				System.out.println(dom.getID() + ":" + dom.getName());
			}
			
			
		} catch (LibvirtException e) {
			e.printStackTrace();
		}

	}

}


注:以上代码是运行在linux环境下的,安装了libvirt和virt-manager,程序会自动调用libvirt的c组件的,windows下要自己配置下。

你可能感兴趣的:(虚拟化)