kvm热迁移使用nfs共享存储报错

基于共享存储进行热迁移的如下报错可供参考

报错:

[root@kvm01 ~]# virsh start vm01
错误:开始域 vm01 失败
错误:internal error: process exited while connecting to monitor: 2023-07-04T07:52:31.136061Z qemu-kvm: -drive file=/kvm/vm01.img,format=qcow2,if=none,id=drive-virtio-disk0: could not open disk image /kvm/vm01.img: Could not open ‘/kvm/vm01.img’: Permission denied

原因:

根据报错可以看出是权限问题,但通过修改实则不然。最后发现是没有关闭kvm宿主机selinux防火墙导致。。。但后面我依然会给出权限解决方式

解决:

这里给几个解决的方式,尝试能否解决你的困境、
方式一:关闭所有防火墙(nfs和kvm宿主机)
关闭防火墙
systemctl stop firewalld
systemctl disable firewalld		//禁止开机自启

查看防火墙状态
systemctl status firewalld		
关闭selinux防火墙
setenforce 0
禁止开机自启需修改配置文件
vi /etc/selinux/config
--SELINUX=enforcing	 //二者存一,另一个注释掉,这个是允许开机自启
--SELINUX=disabled	//禁止开机自启

查看防火墙状态
getenforce
--Permissive	//此状态为关闭
方式二:修改nfs配置的挂载权限,然后修改文件夹内用户和组为qemu

1.在nfs服务器内修改配置文件

vi /etc/exports
(rw,sync,no_root_squash)

–no_root_squash 禁止给root做用户映射,挂载nfs的宿主机就可以执行root权限,从而修改文件权限
–all_squash 将远程访问的所有普通用户及所属组映射为匿名用户或用户组(nfsnobody,默认65534为nfsnobody的uid和gid),无修改权限
2.让配置文件生效

exportfs -r

3.稳一点重启一下nfs服务

systemctl restart rpcbind nfs

4.kvm宿主机修改用户组

chown -R qemu.qemu /kvm
//	/kvm是kvm宿主机mount nfs的目录
方式三:

1.修改libvirt配置文件

vi /etc/libvirt/qemu.conf

2.在配置文件末尾添加,或者直接取消配置文件内的注释。

user = "root"
group = "root"

3.重启服务

systemctl restart libvirtd

猜你喜欢

转载自blog.csdn.net/shoujoai/article/details/131536895
今日推荐