Ubuntu 11.10如何start/stop libvirtd daemon

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

使用virsh连接到别的服务器时,使用的是tcp连接
virsh -c qemu+tcp://host/system

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

如果目标服务器没有开启libvirtd的tcp端口监听时,会出现
error: unable to connect to server at ‘host:16509’: Connection refused
error: failed to connect to the hypervisor

如果通过源码编译的方式,作为开发用途,可以./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找不到。

Ubuntu下解决方法
sed -i ‘s/#listen_tls = 0/listen_tls = 0/g’
/etc/libvirt/libvirtd.conf
sed -i ‘s/#listen_tcp = 1/listen_tcp = 1/g’
/etc/libvirt/libvirtd.conf
sed -i ‘s/#auth_tcp = “sasl”/auth_tcp = “none”/g’
/etc/libvirt/libvirtd.conf

如果要跟系统通过诸如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的官网
#./configure –prefix=/usr; make; make install”才解决。

vi /etc/default/libvirt-bin
修改为libvirt_opts = “-d -l” 
增加-l监听tcp

图片 1

service libvirt-bin restart

CentOS下解决方法
sed -i ‘s/#listen_tls = 0/listen_tls = 0/g’
/etc/libvirt/libvirtd.conf
sed -i ‘s/#listen_tcp = 1/listen_tcp = 1/g’
/etc/libvirt/libvirtd.conf
sed -i ‘s/#auth_tcp = “sasl”/auth_tcp = “none”/g’
/etc/libvirt/libvirtd.conf
sed -i ‘s/#LIBVIRTD_ARGS=”–listen”/LIBVIRTD_ARGS=”–listen”/g’
/etc/sysconfig/libvirtd

service libvirtd restart

本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-08/121572.htm

图片 2

相关文章