Virsh命令能够经过ssh查看远程客户机上运行的虚拟机,virsh命令用的是python的libvirt库,其实使用libvirt库还有其余方法能够从远程查看客户机上运行的虚拟机,有时候须要查找某一台虚拟机运行在哪台客户机上,一台一台查看很麻烦,使用virsh走ssh也能够看,不过每次都要输入ssh密码,你能够设置成key模式来避免每次都要输入密码,不过我不想使用免key登录。还好libvirt还支持其余方式,好比tcp。 python
tcp方式通常采用下面的连接方式进行访问 ssh
qemu+tcp://example.com/system
要采用这种方式,须要需配置每台宿主机的配置文件 tcp
1 /etc/libvirt/libvirtd.conf spa
###/etc/libvirt/libvirtd.conf listen_tls = 0 #禁用tls登陆 listen_tcp = 1 #启用tcp方式登陆 tcp_port = "16509" #tcp端口16509 listen_addr = "0.0.0.0" unix_sock_group = "libvirtd" unix_sock_rw_perms = "0770" auth_unix_ro = "none" auth_unix_rw = "none" auth_tcp = "none" #TCP不使用认证 max_clients = 1024 #最大总的链接客户数1024 min_workers = 50 #libvirtd启动时,初始的工做线程数目 max_workers = 200 #同上,最大数目 max_requests = 1000 #最大同时支持的RPC调用,必须大于等于max_workers max_client_requests = 200 #每一个客户端支持的最大链接数2 /etc/default/libvirt-bin
###/etc/default/libvirt-bin start_libvirtd="yes" libvirtd_opts="-d -l"而后重启libvirt-bin
/etc/init.d/libvirt-bin restart
netstat -anpt就能看到libvirtd监听在TCP 16509端口。这时候就能够使用libvirt库建立本身的virsh命令了。 线程