通过 libvirt 远程管理虚拟机

2019-04-16 geekspeng 更多博文 » 博客 » GitHub »

Linux 虚拟化

原文链接 http://geekspeng.cn/2019/04/16/%E9%80%9A%E8%BF%87-libvirt-%E8%BF%9C%E7%A8%8B%E7%AE%A1%E7%90%86%E8%99%9A%E6%8B%9F%E6%9C%BA.html
注:以下为加速网络访问所做的原文缓存,经过重新格式化,可能存在格式方面的问题,或偶有遗漏信息,请以原文为准。


通过qemu+ssh方式

通过qemu+ssh连接方式比较简单,只要能通过ssh远程访问,命令如下:

# virsh -c qemu+ssh://root@192.168.1.166/system

如果2个节点设置了互信,免密钥登录,可直接执行virsh相关命令,

# virsh -c qemu+ssh://root@192.168.1.166/system list
 Id    名称                         状态
----------------------------------------------------
 3     vm01                           running

<!-- more -->

通过qemu+tcp方式

被控端上:

修改/etc/sysconfig/libvirtd,开启以下2个配置项:

# egrep -v "^#|^$" /etc/sysconfig/libvirtd
LIBVIRTD_CONFIG=/etc/libvirt/libvirtd.conf
LIBVIRTD_ARGS="--listen

修改配置文件

# vim /etc/libvirt/libvirtd.conf
listen_tls = 0              #禁用tls登录
listen_tcp = 1              #启用tcp方式登录
tcp_port = "16509"          #tcp端口16509
listen_addr = "0.0.0.0"     #监听地址
auth_tcp = "none"           #TCP不使用认证

重启libvirtd并查看监听的端口

# systemctl restart libvirtd
# netstat -anltp|grep 16509
tcp   0      0 0.0.0.0:16509    0.0.0.0:*      LISTEN      28843/libvirtd

主控端上远程访问(需要确保可以访问被控端的16509 tcp端口)

# virsh -c qemu+tcp://192.168.1.166/system list
 Id    名称                         状态
----------------------------------------------------
 3     vm01                           running