2015-05-28 02:06:54
来 源
中存储网
Ubuntu
libvirtd daemon这厮此前我一直以为是类似service libvirtd start/stop来做的,害我查了好多资料。今晚才知道其实是libvirt-bin来做这事的,这也太变态了吧: #service libvirt-bin start #servcie libvirt-bin stop 然后我发现libvirt-bin是一个符号链接/et

libvirtd daemon这厮此前我一直以为是类似service libvirtd start/stop来做的,害我查了好多资料。今晚才知道其实是libvirt-bin来做这事的,这也太变态了吧:

#service libvirt-bin start
#servcie libvirt-bin stop

然后我发现libvirt-bin是一个符号链接/etc/init.d/libvirt-bin -> /lib/init/upstart-job,后者是一个shell脚本。

一旦通过源码编译的方式,作为开发用途,可以./configure --prefix=/home/myvirt,然后make; make install.不过这种情况下,一旦使用新编译出来的virsh,比如/home/myvirt/virsh -c qemu:///system,那么必须先停掉系统中原来的libvirtd daemon,因为libvirtd daemon必须和virsh相互匹配,否则会提示cann't connect hypervisor. #servcie libvirt-bin stop之后,可以手动启动刚编译出来的libvirtd:“#/home/myvirt/sbin/libvirtd -d”就好了,不过如何用virtual manager来创建一个虚拟机呢,因为virtual manager缺省使用的是系统原来的libvirtd,这种情形下它会抱怨libvirtd daemon没有起来,虽然大家已经起来一个刚编译的libvirtd了,但是manager找不到。

一旦要跟系统通过诸如apt-get install安装的那一坨东西相匹配,可以通过"#./autogen.sh --system CFLAGS=-g; make ;make install"来做,之前需要将系统原来的libvirtd可停掉。当然这个过程会要求装很多其他的包,安装就是了,实在找不到的,可以google。

不过有一个问题,google也很难有结果,(因为很少有人会想到用libvirt的东西去connect IBM公司 PowerVM的hypervisor),那就是在enable phyp driver(这个跟IBM公司的PowerVM hypervisor有关), 也即--with-phyp选项存在的情形下,libvirt 0.9.12会在configure阶段抱怨说:“configure: error: libssh2 >= 1.0 is required for Phyp driver” ,即便将所有可能与libssh相关的包都安装上,问题依然存在。

后来的解决办法是到libssh2的官网http://www.libssh2.org上下载一个.tar.gz源码包,通过:#./configure --prefix=/usr; make; make install"才解决。

声明: 此文观点不代表本站立场;转载须要保留原文链接;版权疑问请联系我们。