说明:Ubuntu12.04和Ubuntu14.04 server版测试通过
1.相关包的安装
1)官网获取源码(http://www.libvirt.org/sources),当前我们使用的版本是1.2.5
2)在libvirt配置和编译前先安装部分相关包
sudo apt-get install qemu-kvm libvirt-bin bridge-utils
sudo apt-get install ubuntu-vm-builder
sudo apt-get install virt-manager(可选) virtinst
其中,qemu-kvm提供了KVM必需的用户空间管理工具,libvirt-bin就是提供libvirt API和virsh管理工具,bridge-utils提供了管理网桥的brctl工具,Ubuntu-vm-builder提供了一个Ubuntu优化过的构建客户机的强大的命令行工具,virt-manager提供了图形界面下管理KVM的工具,virtinst提供了命令行下安装客户机的工具。
sudo apt-get installlibvirt-dev libxml2 libxml2-dev gnutls-bin libneon27-gnutls libcurl4-gnutls-devlibnl-dev python-dev libyajl-dev libdevmapper-devlibpciaccess-dev uuid-dev
3)将已获取的源码解压,tar �Czxvf libvirt-1.2.5.tar.gz
进入源码目录:cd libvirt-1.2.5
配置: ./configure (在配置过程中,可能会由于缺少编译时需要依赖的软件包而导致配置失败,这时只需要按照提示安装对应的软件包,然后重新运行”./configure”命令配置即可。)
编译:make �Cj 4
安装:make install (在配置和编译时都不需要root权限,但是在安装libvirt时一般都需要root用户权限。)
检查已安装的libvirt(以下四个命令如果能够正常显示相关目录及版本信息,则说明安装成功):
which libvirtd
libvirtd �Cversion
which virsh
virsh �Cversion
可能问题Q1:
autotest@autotest:~/libvirt-1.2.5$ sudo libvirtd --version
libvirtd: error while loading shared libraries: libvirt-lxc.so.0: cannot open shared object file: No such file or directory
A1:修改系统动态链接库配置文件,方法:
进入目录/etc/ld.so.conf.d
添加一个文件libvirt.conf,内容是:
# libvirt default configuration
/usr/local/lib
更新动态链接库缓存:sudo ldconfig
2.环境配置
libvirtd.conf是libvirt的守护进程libvirtd的配置文件,被修改后需要让libvirtd重新加载配置文件(或重启libvirtd)才会生效。下面几个配置项表示关闭TLS安全认证的连接(默认值是打开的)、打开TCP连接(默认是关闭TCP连接的),设置TCP监听的端口,TCP连接不使用认证授权方式,设置UNIX Domain socket的保存目录等。
sudo vi /usr/local/etc/libvirt/libvirtd.conf修改(配置)如下选项:
listen_tls = 0
listen_tcp = 1
tcp_port = “16509”
unix_sock_dir= “/var/run/libvirt”
auth_tcp = “none”
3.启动libvirtd
sudo /usr/local/sbin/libvirtd -d �Cl
4.实际操作
sudo virsh list
可能问题Q2:
autotest@autotest0019:/etc/ld.so.conf.d$ sudo /usr/local/sbin/libvirtd -d
2014-07-29 11:20:46.858+0000: 31037: info : libvirt version: 1.2.5
2014-07-29 11:20:46.858+0000: 31037: warning : virGetHostname:654 : getaddrinfo failed for 'autotest0019': Temporary failure in name resolution
A2:sudo ln -s/var/run/libvirt/libvirt-sock /usr/local/var/run/libvirt/libvirt-sock