1、环境确认
查看系统版本:nkvers

2、按装相关依赖
yum -y install gcc* glibc* bison java-1.8* autoconf automake libtool git make cmake openssl* ncurses-devel zlib zlib-devel bzip2* readline readline-devel libaio

3、安装相关组件
yum -y install qemu* libvirt* virt-install bridge-utils net-tools

4、创建qemu-kvm软链接
ln -sv /usr/libexec/qemu-kvm /usr/bin/
![]()
5、开启libvirtd服务
systemctl start libvirtd
systemctl enable libvirtd
systemctl status libvirtd

6、验证环境:virsh version

出现如下报错排查方法:
错误:连接管理程序(即虚拟化层)失败
错误:将插件连接到 '/var/run/libvirt/libvirt-sock' 失败:没有那个文件或目录
这通常意味着 libvirtd 服务未启动或未正确配置。以下是可能的原因和解决方法
✅ 原因分析
-
libvirtd服务未启动:libvirtd是 libvirt 的守护进程,负责管理虚拟机。如果该服务未启动,virsh将无法连接到它。
-
权限问题:
- 用户可能没有足够的权限访问
/var/run/libvirt/libvirt-sock文件。
- 用户可能没有足够的权限访问
-
文件路径不正确:
libvirt-sock文件的路径可能与预期不符,或者文件被删除或移动了。
-
依赖项缺失:
- 可能缺少某些必要的库或配置文件,导致
libvirtd无法正常启动。
- 可能缺少某些必要的库或配置文件,导致
-
SELinux 或防火墙限制:
- SELinux 策略或防火墙规则可能阻止了对
libvirt-sock的访问。
- SELinux 策略或防火墙规则可能阻止了对
✅ 解决步骤
1. 启动并启用 libvirtd 服务
# 检查 libvirtd 服务状态
sudo systemctl status libvirtd
# 如果未运行,启动服务
sudo systemctl start libvirtd
# 设置开机自启
sudo systemctl enable libvirtd
2. 检查 libvirt-sock 文件是否存在
ls -l /var/run/libvirt/libvirt-sock
如果文件不存在,可能是由于 libvirtd 服务未完全启动或配置问题。确保 libvirtd 正常运行后,再次检查该文件。
3. 检查用户权限
确保当前用户有权限访问 libvirt-sock 文件。可以将用户添加到 libvirt 组:
sudo usermod -aG libvirt $USER
然后注销并重新登录以应用更改。
4. 检查日志文件
查看 libvirtd 的日志文件,了解更详细的错误信息:
sudo journalctl -u libvirtd
5. 配置 SELinux 和防火墙
如果你使用 SELinux,确保其策略允许 libvirtd 运行:
sudo setenforce 0 # 临时禁用 SELinux
如果问题解决,你可以调整 SELinux 策略:
sudo semanage permissive -a virt_use_nfs_t
对于防火墙,确保允许相关端口和服务:
sudo firewall-cmd --permanent --add-service=libvirt
sudo firewall-cmd --reload
6. 重新安装 libvirt
如果以上方法无效,尝试重新安装 libvirt 相关包:
sudo yum remove -y libvirt libvirt-daemon-system libvirt-clients
sudo yum install -y libvirt libvirt-daemon-system libvirt-clients
✅ 验证安装
完成上述步骤后,再次运行 virsh version 命令进行验证:
virsh version
如果一切正常,你应该能看到版本信息而不会出现连接错误。
对于鲲鹏服务器可能原因还有BIOS中如下两个参数未开启导致,按指导进行开启对应参数
|
BIOS配置项 |
选项含义 |
建议配置值 |
修改路径 |
|---|---|---|---|
|
SRIOV |
启用或禁用Single Root Input/Output Virtualization(SRIOV)。 |
Enabled |
BIOS > Advanced > PCIe Config > SRIOV |
|
Support Smmu |
启用或禁用SMMU功能。 |
Enabled |
BIOS > Advanced > MISC Config > Support Smmu |
1万+

被折叠的 条评论
为什么被折叠?



