Re: race condition? virsh migrate --copy-storage-all

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Peter,

Thanks.

On 19-04-2022 13:22, Peter Krempa wrote:
It would be helpful if you provide the VM XML file to see how your disks
are configured and the debug log file when the bug reproduces:

I created a random VM to show the effect. XML file attached.

Without that my only hunch would be that you ran out of disk space on
the destination which caused the I/O error.

... it's an LVM2 volume with exact the same size as the source machine, so that would be rather odd ;-)

I'm guessing that it's this weird message at the destination machine:

2022-04-19 13:31:09.394+0000: 1412559: error : virKeepAliveTimerInternal:137 : internal error: connection closed due to keepalive timeout

Source machine says:
2022-04-19 13:31:09.432+0000: 2641309: debug : qemuMonitorJSONIOProcessLine:220 : Line [{"timestamp": {"seconds": 1650375069, "microseconds": 432613}, "event": "BLOCK_JOB_ERROR", "data": {"device": "drive-virtio-disk2", "operation": "write", "action": "report"}}] 2022-04-19 13:31:09.432+0000: 2641309: debug : virJSONValueFromString:1822 : string={"timestamp": {"seconds": 1650375069, "microseconds": 432613}, "event": "BLOCK_JOB_ERROR", "data": {"device": "drive-virtio-disk2", "operation": "write", "action": "report"}} 2022-04-19 13:31:09.432+0000: 2641309: info : qemuMonitorJSONIOProcessLine:234 : QEMU_MONITOR_RECV_EVENT: mon=0x7f70080028a0 event={"timestamp": {"seconds": 1650375069, "microseconds": 432613}, "event": "BLOCK_JOB_ERROR", "data": {"device": "drive-virtio-disk2", "operation": "write", "action": "report"}} 2022-04-19 13:31:09.432+0000: 2641309: debug : qemuMonitorEmitEvent:1198 : mon=0x7f70080028a0 event=BLOCK_JOB_ERROR 2022-04-19 13:31:09.432+0000: 2641309: debug : qemuMonitorJSONIOProcessLine:220 : Line [{"timestamp": {"seconds": 1650375069, "microseconds": 432668}, "event": "BLOCK_JOB_ERROR", "data": {"device": "drive-virtio-disk2", "operation": "write", "action": "report"}}] 2022-04-19 13:31:09.432+0000: 2641309: debug : virJSONValueFromString:1822 : string={"timestamp": {"seconds": 1650375069, "microseconds": 432668}, "event": "BLOCK_JOB_ERROR", "data": {"device": "drive-virtio-disk2", "operation": "write", "action": "report"}} 2022-04-19 13:31:09.433+0000: 2641309: info : qemuMonitorJSONIOProcessLine:234 : QEMU_MONITOR_RECV_EVENT: mon=0x7f70080028a0 event={"timestamp": {"seconds": 1650375069, "microseconds": 432668}, "event": "BLOCK_JOB_ERROR", "data": {"device": "drive-virtio-disk2", "operation": "write", "action": "report"}} 2022-04-19 13:31:09.433+0000: 2641309: debug : qemuMonitorEmitEvent:1198 : mon=0x7f70080028a0 event=BLOCK_JOB_ERROR 2022-04-19 13:31:09.433+0000: 2641309: debug : qemuMonitorJSONIOProcessLine:220 : Line [{"timestamp": {"seconds": 1650375069, "microseconds": 432688}, "event": "BLOCK_JOB_ERROR", "data": {"device": "drive-virtio-disk2", "operation": "write", "action": "report"}}] 2022-04-19 13:31:09.433+0000: 2641309: debug : virJSONValueFromString:1822 : string={"timestamp": {"seconds": 1650375069, "microseconds": 432688}, "event": "BLOCK_JOB_ERROR", "data": {"device": "drive-virtio-disk2", "operation": "write", "action": "report"}} 2022-04-19 13:31:09.433+0000: 2641309: info : qemuMonitorJSONIOProcessLine:234 : QEMU_MONITOR_RECV_EVENT: mon=0x7f70080028a0 event={"timestamp": {"seconds": 1650375069, "microseconds": 432688}, "event": "BLOCK_JOB_ERROR", "data": {"device": "drive-virtio-disk2", "operation": "write", "action": "report"}} 2022-04-19 13:31:09.433+0000: 2641309: debug : qemuMonitorEmitEvent:1198 : mon=0x7f70080028a0 event=BLOCK_JOB_ERROR

... and more of these. XML file attached.

Does that show anything? Please note that there is no real "block error" anywhere, there is an exact LVM volume on the other side, I'm actually using a script to extract the name of the volume at source; then I'm reading the source volume size and I'm creating a destination volume with the exact size before I start the migration. Disks are RAID volumes and there are no read or write errors.

Best regards,

Valentijn
--
Durgerdamstraat 29, 1507 JL Zaandam; telefoon 075-7100071
<domain type='kvm' id='16'>
  <name>water</name>
  <uuid>959c1a50-5784-e3f4-1006-1bac01d513e5</uuid>
  <metadata>
    <libosinfo:libosinfo xmlns:libosinfo="http://libosinfo.org/xmlns/libvirt/domain/1.0";>
      <libosinfo:os id="http://ubuntu.com/ubuntu/20.04"/>
    </libosinfo:libosinfo>
  </metadata>
  <memory unit='KiB'>4194304</memory>
  <currentMemory unit='KiB'>1740804</currentMemory>
  <vcpu placement='static'>1</vcpu>
  <resource>
    <partition>/machine</partition>
  </resource>
  <os>
    <type arch='x86_64' machine='pc-1.1'>hvm</type>
    <boot dev='hd'/>
  </os>
  <features>
    <acpi/>
    <apic/>
    <pae/>
  </features>
  <cpu mode='custom' match='exact' check='full'>
    <model fallback='forbid'>Westmere</model>
    <feature policy='require' name='hypervisor'/>
  </cpu>
  <clock offset='utc'/>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <devices>
    <emulator>/usr/bin/kvm</emulator>
    <disk type='block' device='disk'>
      <driver name='qemu' type='raw' cache='none' io='native'/>
      <source dev='/dev/OpenOffice/water' index='2'/>
      <backingStore/>
      <target dev='vda' bus='virtio'/>
      <alias name='virtio-disk0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
    </disk>
    <disk type='block' device='disk'>
      <driver name='qemu' type='raw' cache='none' io='native'/>
      <source dev='/dev/OpenOffice/water.var.mail.img' index='1'/>
      <backingStore/>
      <target dev='vdc' bus='virtio'/>
      <alias name='virtio-disk2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x0'/>
    </disk>
    <controller type='usb' index='0' model='piix3-uhci'>
      <alias name='usb'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
    </controller>
    <controller type='pci' index='0' model='pci-root'>
      <alias name='pci.0'/>
    </controller>
    <interface type='bridge'>
      <mac address='52:54:00:70:c2:c4'/>
      <source bridge='br0'/>
      <target dev='vnet2'/>
      <model type='e1000'/>
      <alias name='net0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </interface>
    <interface type='bridge'>
      <mac address='52:54:00:16:2e:1f'/>
      <source bridge='br1'/>
      <target dev='vnet3'/>
      <model type='e1000'/>
      <alias name='net1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
    </interface>
    <input type='mouse' bus='ps2'>
      <alias name='input0'/>
    </input>
    <input type='keyboard' bus='ps2'>
      <alias name='input1'/>
    </input>
    <graphics type='vnc' port='5902' autoport='yes' listen='127.0.0.1'>
      <listen type='address' address='127.0.0.1'/>
    </graphics>
    <sound model='es1370'>
      <alias name='sound0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
    </sound>
    <video>
      <model type='cirrus' vram='16384' heads='1' primary='yes'/>
      <alias name='video0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    </video>
    <memballoon model='virtio'>
      <alias name='balloon0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
    </memballoon>
  </devices>
  <seclabel type='dynamic' model='apparmor' relabel='yes'>
    <label>libvirt-959c1a50-5784-e3f4-1006-1bac01d513e5</label>
    <imagelabel>libvirt-959c1a50-5784-e3f4-1006-1bac01d513e5</imagelabel>
  </seclabel>
  <seclabel type='dynamic' model='dac' relabel='yes'>
    <label>+111:+111</label>
    <imagelabel>+111:+111</imagelabel>
  </seclabel>
</domain>


[Index of Archives]     [Virt Tools]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [KDE Users]

  Powered by Linux