|
官方文档: 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 <域的名字> 连接到域
本文来自博客园,作者:yexuanyang,转载请注明原文链接:https://www.cnblogs.com/yexuanyang/p/18951023
来源:https://www.cnblogs.com/yexuanyang/p/18951023 |