On Wed, May 09, 2018 at 01:45:53PM +0800, Fei Li wrote:
Hi,
When I do live migration using virsh command line based on NFS shared
storage between two systems
having the same security mechanism and having the same kvm/qemu/libvirt
version, I encounter the
following error:
debug : qemuMonitorJSONIOProcessLine:193 : Line [{"timestamp":
{"seconds": 1524893525, "microseconds": 522686},
"event": "BLOCK_IO_ERROR", "data": {"device":
"drive-virtio-disk0", "nospace": false, "node-name":
"#block120",
"reason": "Permission denied", "operation":
"write", "action": "report"}}]
...
error: internal error: qemu unexpectedly closed the monitor:
qemu-system-x86_64: load of migration failed: Input/output error
...
According to the "Permission denied" && "write" information,
I find the
below 2 ways can fix this error:
- Change the mode of guest's .qcow2 file from 644 to 646
Absolutely no - any process or user that can access the mount can
then compromise your disk images
- Keep qemu's uid the same one between src host and dst host
(They are not
same before I change them)
You *must* have the same uid+gid between source and dest hosts
After confirming that keeping qemu's uid identical between src
host and dst
host can fix such issue,
my question is whether a fix in libvirt should be pursued or just document
the requirement for same
uid:gid across host systems in a migration cluster is ok?
In Fedora and RHEL at least the system is setup so that these users get
a fixed uid:gid upon installation to avoid this kind of problem.
Regards,
Daniel
--
|:
https://berrange.com -o-
https://www.flickr.com/photos/dberrange :|
|:
https://libvirt.org -o-
https://fstop138.berrange.com :|
|:
https://entangle-photo.org -o-
https://www.instagram.com/dberrange :|