Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

A.19.2.2. 无法通过 'host:16509' 连接到服务器:连接已拒绝

症状
虽然 libvirtd 应该侦听连接的 TCP 端口,但连接会失败:
# virsh -c qemu+tcp://host/system
error: failed to connect to the hypervisor
error: unable to connect to server at 'host:16509': Connection refused
即使在更改 /etc/ libvirt /libvirtd.conf 中的配置后,libvirt 守护进程不会在 TCP 端口上侦听 TCP 端口:
# grep listen_ /etc/libvirt/libvirtd.conf
listen_tls = 1
listen_tcp = 1
listen_addr = "0.0.0.0"
但是,在更改配置后,libvirt 的 TCP 端口仍会打开:
# netstat -lntp | grep libvirtd
#
正在调查
libvirt 守护进程在没有 --listen 选项的情况下启动。运行以下命令验证:
# ps aux | grep libvirtd
root     10749  0.1  0.2 558276 18280 ?        Ssl  23:21   0:00 /usr/sbin/libvirtd
输出中不包含 --listen 选项。
解决方案
使用 --listen 选项启动守护进程。
要做到这一点,修改 /etc/sysconfig/libvirtd 文件并取消注释以下行:
# LIBVIRTD_ARGS="--listen"
然后,使用以下命令重启 libvirtd 服务:
# /bin/systemctl restart libvirtd.service