查看: 1|回复: 0

使用libvirt在qemu中运行fedora coreos

[复制链接]

2

主题

0

回帖

0

积分

热心网友

金币
0
阅读权限
220
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2011-6-25
发表于 2025-6-26 22:39:00 | 显示全部楼层 |阅读模式

官方文档: https://docs.fedoraproject.org/en-US/fedora-coreos/provisioning-libvirt/

排坑

跟着做会遇到问题

权限问题,报错:

无法访问存储文件 '/home/yyx/.local/share/libvirt/images/fedora-coreos-42.20250609.3.0-qemu.x86_64.qcow2' 的后端文件 '/var/lib/libvirt/images/fcos-test-01.qcow2' (以 uid:107, gid:107 身份): 权限不够

这里使用的107是qemu,使用id 107可以找到uid = 107的用户。

这里qemu用户对于/var/lib/libvirt/images的权限和/home/yyx/.local/share/libvirt/images/fedora-coreos-42.20250609.3.0-qemu.x86_64.qcow2的权限都不足

首先qemu不能读取fedora-coreos-42.20250609.3.0-qemu.x86_64.qcow2文件。
其次qemu不能在/var/lib/libvirt/images/文件夹中以前面读取的文件作为backing_store创建一个新的文件fcos-test-01.qcow2

有两种方式解决这个方式,一种是修改/etc/libvirt/qemu.conf

找到user和group变量的设置,把user设置成自己的用户名,然后组替换成libvirt

# Some examples of valid values are:
#
#       user = "qemu"   # A user named "qemu"
#       user = "+0"     # Super user (uid=0)
#       user = "100"    # A user named "100" or a user with uid=100
#
#user = "qemu"
user = "yyx"

# The group for QEMU processes run by the system instance. It can be
# specified in a similar way to user.
#group = "qemu"
group = "libvirt"

然后重启libvirtd

systemctl restart libvirtd

第二种方式设置acl权限,让qemu可以访问fedora-coreos-42.20250609.3.0-qemu.x86_64.qcow2文件,然后将qemu加入到libvirt组,让它可以访问/var/lib/libvirt/images/

把qemu加到libvirt组的命令

sudo usermod -aG qemu libvirt

似乎不把qemu加到libvirt组也可以

把qemu从libvirt组移除的命令

sudo gpasswd -d qemu libvirt

如果运行的时候发现报错"打开接口MTU失败:无法找到设备",需要检查一下libvirtd服务是不是启动了

使用
systemctl status libvirtd
查看是否启动

如果没启动,使用
systemctl start libvirtd
打开

然后就可以直接创建一个libvirt虚拟机

参考文档

解决文档: https://cn.linux-terminal.com/?p=4593

拓展

libvirt的一些常用操作
使用virt管理虚拟机

virsh list

virsh shutdown

virsh undefine 默认不会删除qcow2文件,需要去/var/lib/libvirt/images下面删掉

virsh 连接到默认的hypervisor管理驱动,比如qemu:///system

virsh console <域的名字> 连接到域
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部