CentOS 7 virt-manager 无法连接本地的hypervisor

OS : CentOS 7 Gnome Desktop


问题描述:

CentOS 7 下使用yum install virt-manager之后,使用virt-manager无法连接本地的hypervisor。


使用lsmod 可以查看到kvm-intel模块已经加入至内核中。


使用命令行工具virsh

[root@localhost qemu]# virsh define CCnode.xml

error: failed to connect to the hypervisor

error: no valid connection

error: no connection driver available for <null>

error: Failed to reconnect to the hypervisor


重启libvirtd服务,查看日志记录/var/log/messages

Aug 10 11:15:57 localhost systemd: Starting Virtualization daemon...

Aug 10 11:15:57 localhost journal: libvirt version: 1.2.8, package: 16.el7_1.3 (CentOS BuildSystem <http://bugs.centos.org>, 2015-05-12-20:12:58, worker1.bsys.centos.org)

Aug 10 11:15:57 localhost journal: failed to load module /usr/lib64/libvirt/connection-driver/libvirt_driver_storage.so /usr/lib64/libvirt/connection-driver/libvirt_driver_storage.so: symbol dm_task_get_info_with_deferred_remove, version Base not defined in file libdevmapper.so.1.02 with link time reference

Aug 10 11:15:57 localhost journal: failed to load module /usr/lib64/libvirt/connection-driver/libvirt_driver_qemu.so /usr/lib64/libvirt/connection-driver/libvirt_driver_qemu.so: undefined symbol: virStorageFileCreate

Aug 10 11:15:57 localhost journal: Module /usr/lib64/libvirt/connection-driver/libvirt_driver_lxc.so not accessible

Aug 10 11:15:57 localhost systemd: Started Virtualization daemon.


日志记录错误关键部分:

journal: failed to load module /usr/lib64/libvirt/connection-driver/libvirt_driver_storage.so /usr/lib64/libvirt/connection-driver/libvirt_driver_storage.so: symbol dm_task_get_info_with_deferred_remove, version Base not defined in file libdevmapper.so.1.02 with link time reference

Aug 10 11:15:57 localhost journal: failed to load module /usr/lib64/libvirt/connection-driver/libvirt_driver_qemu.so /usr/lib64/libvirt/connection-driver/libvirt_driver_qemu.so: undefined symbol: virStorageFileCreate


经过Google,解决此问题只需更新软件包


查看包版本:

yum info device-mapper-libs          


更新软件包:

yum update device-mapper-libs        


参考:

http://blog.163.com/liyinhu_86/blog/static/4177704420153254114521/

https://bugzilla.redhat.com/show_bug.cgi?id=1164773

https://bugzilla.redhat.com/show_bug.cgi?id=842068



 

### 使用 Virt-Manager 创建虚拟机 Virt-manager 是一款功能强大的图形化工具,用于管理基于 KVM/QEMU 的虚拟机。以下是关于如何使用 virt-manager 创建虚拟机的具体方法: #### 准备工作 在开始之前,请确保已安装并配置好 QEMU-KVM 和 virt-manager 工具[^1]。可以通过以下命令检查是否已经安装: ```bash virsh --version virt-manager --version ``` 如果未安装,则可以运行以下命令完成安装(适用于大多数 Linux 发行版): ```bash sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virtinst cpu-checker virt-manager # Ubuntu/Debian sudo yum install qemu-kvm libvirt virt-install virt-viewer virt-manager # CentOS/RHEL/Fedora ``` #### 创建虚拟机的步骤 1. **打开 Virt-Manager** 启动 `virt-manager` 图形界面应用程序。通常可以在桌面环境中找到该程序或者通过终端输入 `virt-manager` 命令启动。 2. **连接到主机** 如果尚未建立与本地或远程 Libvirt 主机的连接,在初始窗口中点击“新建连接”,选择要使用的 Hypervisor 类型(通常是 QEMU/KVM),并设置为自动连接模式。 3. **创建新虚拟机** 在主界面上方菜单栏选择“文件 -> 新建虚拟机”选项来开启向导对话框。 4. **选择安装方式** - 可以选择从 ISO 映像、网络引导或其他介质进行操作系统安装。 - 对于标准情况,“本地安装媒体 (ISO)”是最常用的选择之一。 5. **指定镜像位置** 浏览至目标操作系统的 ISO 文件所在路径,并确认其可用性。这一步会直接影响后续虚拟机初始化过程中的 OS 安装环节。 6. **分配资源** 设置 CPU 数量、内存大小以及磁盘空间容量等硬件参数。这些数值应依据实际需求合理规划,同时注意宿主机剩余资源状况以免造成性能瓶颈。 7. **存储配置** 提供两种主要类型的磁盘格式支持——raw 或者 qcow2。推荐采用后者因为它具备更优特性比如压缩、快照等功能。在此处定义新的 QCOW 文件作为虚拟硬盘设备。 8. **网络适配器设定** 默认情况下会启用 NAT 模式的桥接网卡模拟方案以便让 VM 能够访问外部互联网环境。如有特殊联网要求可自定义调整相应属性。 9. **最后审查与启动** 综合核验上述各项配置无误之后即可按下“完成”按钮正式构建实例并随即进入初次开机画面加载所选的操作系统安装程序流程之中。 ```python # 示例 Python 脚本调用 virsh CLI 实现部分自动化任务 import subprocess def create_vm(name, vcpu_count, ram_mb, disk_size_gb): result = subprocess.run([ 'virt-install', '--name', name, '--vcpus', str(vcpu_count), '--ram', str(ram_mb), '--disk', f'size={disk_size_gb},format=qcow2,bus=virtio', '--network', 'default', '--graphics', 'spice', '--os-type', 'linux', '--cdrom', '/path/to/os.iso' ], capture_output=True) create_vm('testvm', 2, 2048, 20) ``` 以上脚本仅作演示用途,具体实现需根据实际情况修改相关变量值及路径等内容。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值