<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On 13 Jun 2016, at 11:48, Colin Coe &lt;<a href="mailto:colin.coe@gmail.com" class="">colin.coe@gmail.com</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class=""><p dir="ltr" class="">Initially we only saw this on VMs with 2 or more disks. Subsequently we confirmed that it does happen on single disk VMs also. </p></div></blockquote>Sounds like an issue with snapshots, "backing filename too long” should be&nbsp;<a href="https://bugzilla.redhat.com/show_bug.cgi?id=1333627" class="">https://bugzilla.redhat.com/show_bug.cgi?id=1333627</a></div><div>Tal, can you confirm?</div><div><br class=""></div><div>Thanks,</div><div>michal<br class=""><blockquote type="cite" class=""><div class=""><p dir="ltr" class="">CC<br class=""></p><p dir="ltr" class="">---</p><p dir="ltr" class="">Sent from my Nexus 5</p>
<div class="gmail_quote">On Jun 13, 2016 5:12 PM, "gregor" &lt;<a href="mailto:gregor_forum@catrix.at" class="">gregor_forum@catrix.at</a>&gt; wrote:<br type="attribution" class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">The VM has two disks both are VirtIO. During testing its now clear that<br class="">
the problem occur only with two disks. When I select only one disk for<br class="">
the snapshost it works.<br class="">
Is this a problem of oVirt or is it not possible to use two disks on a<br class="">
VM in oVirt?<br class="">
<br class="">
Have you also two or more disks on your VM?<br class="">
<br class="">
Here are the Testresults:<br class="">
-------------------------<br class="">
What does not work:<br class="">
- Export the VM: Failed with error "ImageIsNotLegalChain and code 262"<br class="">
- Clone the VM: Failed with error "IRSErrorException: Image is not a<br class="">
legal chain" with the ID of the second Disk.<br class="">
<br class="">
After removing the second Disk:<br class="">
- Create offline snapshot: Works<br class="">
- Remove offline snapshot: After two hours I run "engine-setup<br class="">
--offline" to clean the looked snapshot !!!<br class="">
- Export the VM: Works<br class="">
- Import the exported VM: Works<br class="">
- Add Disk to the imported VM: Works<br class="">
- Create offline snapshot of the imported VM: Failed<br class="">
- Clone the VM: Works<br class="">
- Add Disk to the cloned VM: Works<br class="">
- Create offline snapshot of the cloned VM: Failed<br class="">
<br class="">
What works:<br class="">
- Make offline snapshot only with the system disk: Works<br class="">
- Remove offline snapshot of the system disk: Works<br class="">
- Make online snapshot only with the system disk: Works<br class="">
- Remove online snapshot of the system disk: Works<br class="">
<br class="">
cheers<br class="">
gregor<br class="">
<br class="">
On 12/06/16 19:42, gregor wrote:<br class="">
&gt; Hi,<br class="">
&gt;<br class="">
&gt; I solved my problem, here are the steps but be carefully if you don't<br class="">
&gt; know what the commands did and how to restore from backup don't follow this:<br class="">
&gt;<br class="">
&gt; - ssh to the host<br class="">
&gt; - systemctl stop ovirt-engine<br class="">
&gt; - backup the database with "engine-backup"<br class="">
&gt; - navigate to the image files<br class="">
&gt; - backup the images: sudo -u vdsm rsync -av &lt;uuid&gt; &lt;uuid_backup&gt;<br class="">
&gt; - check which one is the backing file: qemu-img info &lt;file&gt;<br class="">
&gt; - check for damages: qemu-img check &lt;file&gt;<br class="">
&gt; - qemu-img commit &lt;snapshot file&gt;<br class="">
&gt; - rename the &lt;snapshot file&gt; + .lease and .meta so it can't be accessed<br class="">
&gt;<br class="">
&gt; - vmname=srv03<br class="">
&gt; - db=engine<br class="">
&gt; - sudo -u postgres psql $db -c "SELECT b.disk_alias, s.description,<br class="">
&gt; s.snapshot_id, i.creation_date, s.status, i.imagestatus, i.size,<br class="">
&gt; i.image_group_id, i.vm_snapshot_id, i.image_guid, i.parentid, i.active<br class="">
&gt; FROM images as i JOIN snapshots AS s ON (i.vm_snapshot_id =<br class="">
&gt; s.snapshot_id) LEFT JOIN vm_static AS v ON (s.vm_id = v.vm_guid) JOIN<br class="">
&gt; base_disks AS b ON (i.image_group_id = b.disk_id) WHERE v.vm_name =<br class="">
&gt; '$vmname' ORDER BY creation_date, description, disk_alias"<br class="">
&gt;<br class="">
&gt; - note the image_guid and parent_id from the broken snapshot and the<br class="">
&gt; active snapshot, the active state is the image_guuid with the parentid<br class="">
&gt; 00000000-0000-0000-0000-000000000000<br class="">
&gt; - igid_active=&lt;active uuid&gt;<br class="">
&gt; - igid_broken=&lt;broken uuid&gt;<br class="">
&gt; - the parentid of the image_guuid of the broken snapshot must be the<br class="">
&gt; same as the activ snapshots image_guuid<br class="">
&gt; - note the snapshot id<br class="">
&gt; - sid_active=&lt;id of the active snapshot with parrent id 000000&gt;<br class="">
&gt; - sid_broken=&lt;id of the broken shapshot&gt;<br class="">
&gt;<br class="">
&gt; - delete the broken snapshot<br class="">
&gt; - sudo -u postgres psql $db -c "DELETE FROM snapshots AS s WHERE<br class="">
&gt; s.snapshot_id = '$sid_broken'"<br class="">
&gt;<br class="">
&gt; - pid_new=00000000-0000-0000-0000-000000000000<br class="">
&gt; - sudo -u postgres psql $db -c "SELECT * FROM images WHERE<br class="">
&gt; vm_snapshot_id = '$sid_active' AND image_guid = '$igid_broken'"<br class="">
&gt; - sudo -u postgres psql $db -c "DELETE FROM images WHERE vm_snapshot_id<br class="">
&gt; = '$sid_broken' AND image_guid = '$igid_active'"<br class="">
&gt; - sudo -u postgres psql $db -c "SELECT * FROM image_storage_domain_map<br class="">
&gt; WHERE image_id = '$igid_broken'"<br class="">
&gt; - sudo -u postgres psql $db -c "DELETE FROM image_storage_domain_map<br class="">
&gt; WHERE image_id = '$igid_broken'"<br class="">
&gt; - sudo -u postgres psql $db -c "UPDATE images SET image_guid =<br class="">
&gt; '$igid_active', parentid = '$pid_new' WHERE vm_snapshot_id =<br class="">
&gt; '$sid_active' AND image_guid = '$igid_broken'"<br class="">
&gt; - sudo -u postgres psql $db -c "SELECT * FROM image_storage_domain_map"<br class="">
&gt; - storid=&lt;storage_domain_id&gt;<br class="">
&gt; - diskprofileid=&lt;disk_profile_id&gt;<br class="">
&gt; - sudo -u postgres psql $db -c "INSERT INTO image_storage_domain_map<br class="">
&gt; (image_id, storage_domain_id, disk_profile_id) VALUES ('$igid_broken',<br class="">
&gt; '$stor_id', '$diskprofileid')"<br class="">
&gt;<br class="">
&gt; - check values<br class="">
&gt; - sudo -u postgres psql $db -c "SELECT b.disk_alias, s.description,<br class="">
&gt; s.snapshot_id, i.creation_date, s.status, i.imagestatus, i.size,<br class="">
&gt; i.image_group_id, i.vm_snapshot_id, i.image_guid, i.parentid, i.active<br class="">
&gt; FROM images as i JOIN snapshots AS s ON (i.vm_snapshot_id =<br class="">
&gt; s.snapshot_id) LEFT JOIN vm_static AS v ON (s.vm_id = v.vm_guid) JOIN<br class="">
&gt; base_disks AS b ON (i.image_group_id = b.disk_id) WHERE v.vm_name =<br class="">
&gt; '$vmname' ORDER BY creation_date, description, disk_alias"could not<br class="">
&gt; change directory to "/root/Backups/oVirt"<br class="">
&gt;<br class="">
&gt; - check for errors<br class="">
&gt; - engine-setup --offline<br class="">
&gt; - systemctl start ovirt-engine<br class="">
&gt;<br class="">
&gt; Now you should have a clean state and a working VM ;-)<br class="">
&gt;<br class="">
&gt; What was tested:<br class="">
&gt; - Power up and down the VM<br class="">
&gt;<br class="">
&gt; What does not work:<br class="">
&gt; - Its not possible to make offline snapshots, online was not tested<br class="">
&gt; because I will not getting into such trouble again. It took many hours<br class="">
&gt; after the machine is up again.<br class="">
&gt;<br class="">
&gt; PLEASE be aware and don't destroy your Host and VM !!!<br class="">
&gt;<br class="">
&gt; cheers<br class="">
&gt; gregor<br class="">
&gt;<br class="">
&gt; On 12/06/16 13:40, Colin Coe wrote:<br class="">
&gt;&gt; We've seen this with both Linux and Windows VMs.&nbsp; I'm guessing that<br class="">
&gt;&gt; you've had failures on this VM in both snapshot create and delete<br class="">
&gt;&gt; operations.&nbsp; oVirt/RHEV 3.5 seems particularly affected.&nbsp; I'm told that<br class="">
&gt;&gt; oVirt 3.6.7 has the last of the fixes for these known snapshot problems.<br class="">
&gt;&gt;<br class="">
&gt;&gt; My original email was eorded wrong.&nbsp; I meant that qemu-img gives<br class="">
&gt;&gt; "backing filename too long" errors.&nbsp; You may have seen this in your logs.<br class="">
&gt;&gt;<br class="">
&gt;&gt; Note also that you may be seeing an entirely un-related problem.<br class="">
&gt;&gt;<br class="">
&gt;&gt; You may wish to post you're VDSM logs and the qemu log from<br class="">
&gt;&gt; /var/lib/libvirt/qemu/&lt;vm_name&gt;.log<br class="">
&gt;&gt;<br class="">
&gt;&gt; Hope this helps<br class="">
&gt;&gt;<br class="">
&gt;&gt; CC<br class="">
&gt;&gt;<br class="">
&gt;&gt;<br class="">
&gt;&gt; On Sun, Jun 12, 2016 at 4:45 PM, gregor &lt;<a href="mailto:gregor_forum@catrix.at" class="">gregor_forum@catrix.at</a><br class="">
&gt;&gt; &lt;mailto:<a href="mailto:gregor_forum@catrix.at" class="">gregor_forum@catrix.at</a>&gt;&gt; wrote:<br class="">
&gt;&gt;<br class="">
&gt;&gt;&nbsp; &nbsp; &nbsp;Sound's bad. Recreating the VM is no way because this is a productive<br class="">
&gt;&gt;&nbsp; &nbsp; &nbsp;VM. During testing I need to recreate it more than once. oVirt works<br class="">
&gt;&gt;&nbsp; &nbsp; &nbsp;perfect which Linux VM's but when it comes to Windows VM's we get lots<br class="">
&gt;&gt;&nbsp; &nbsp; &nbsp;of problems.<br class="">
&gt;&gt;<br class="">
&gt;&gt;&nbsp; &nbsp; &nbsp;Which OS you used on the problematic VM?<br class="">
&gt;&gt;<br class="">
&gt;&gt;&nbsp; &nbsp; &nbsp;cheers<br class="">
&gt;&gt;&nbsp; &nbsp; &nbsp;gregor<br class="">
&gt;&gt;<br class="">
&gt;&gt;&nbsp; &nbsp; &nbsp;On 11/06/16 19:22, Anantha Raghava wrote:<br class="">
&gt;&gt;&nbsp; &nbsp; &nbsp;&gt; Hi,<br class="">
&gt;&gt;&nbsp; &nbsp; &nbsp;&gt;<br class="">
&gt;&gt;&nbsp; &nbsp; &nbsp;&gt; Even I observed this behaviour.<br class="">
&gt;&gt;&nbsp; &nbsp; &nbsp;&gt;<br class="">
&gt;&gt;&nbsp; &nbsp; &nbsp;&gt; When we take the snapshot, the main VM using which the snapshot was<br class="">
&gt;&gt;&nbsp; &nbsp; &nbsp;&gt; taken is shutdown and a new VM with external-&lt;VMName&gt; comes to<br class="">
&gt;&gt;&nbsp; &nbsp; &nbsp;life. We<br class="">
&gt;&gt;&nbsp; &nbsp; &nbsp;&gt; cannot get the original VM back to life, but a clone starts<br class="">
&gt;&gt;&nbsp; &nbsp; &nbsp;functioning.<br class="">
&gt;&gt;&nbsp; &nbsp; &nbsp;&gt;<br class="">
&gt;&gt;&nbsp; &nbsp; &nbsp;&gt; We cannot remove the snapshot whether or not the VM is running. I<br class="">
&gt;&gt;&nbsp; &nbsp; &nbsp;had to<br class="">
&gt;&gt;&nbsp; &nbsp; &nbsp;&gt; remove the entire VM that came to life with snapshot and recreate the<br class="">
&gt;&gt;&nbsp; &nbsp; &nbsp;&gt; entire VM from scratch. Luckily the VM was still not in production,<br class="">
&gt;&gt;&nbsp; &nbsp; &nbsp;&gt; hence could afford it.<br class="">
&gt;&gt;&nbsp; &nbsp; &nbsp;&gt;<br class="">
&gt;&gt;&nbsp; &nbsp; &nbsp;&gt; First I could not understand, why, when a snapshot is created, the VM<br class="">
&gt;&gt;&nbsp; &nbsp; &nbsp;&gt; with snapshot comes to life and starts running and not the<br class="">
&gt;&gt;&nbsp; &nbsp; &nbsp;original VM.<br class="">
&gt;&gt;&nbsp; &nbsp; &nbsp;&gt;<br class="">
&gt;&gt;&nbsp; &nbsp; &nbsp;&gt; Is it necessary that we shutdown the VM before taking snapshots?<br class="">
&gt;&gt;&nbsp; &nbsp; &nbsp;&gt; Snapshot is supposed to be a backup of original VM, that unless we<br class="">
&gt;&gt;&nbsp; &nbsp; &nbsp;&gt; restore by cloning should not come to life as I understand.<br class="">
&gt;&gt;&nbsp; &nbsp; &nbsp;&gt;<br class="">
&gt;&gt;&nbsp; &nbsp; &nbsp;&gt; --<br class="">
&gt;&gt;&nbsp; &nbsp; &nbsp;&gt;<br class="">
&gt;&gt;&nbsp; &nbsp; &nbsp;&gt; Thanks &amp; Regards,<br class="">
&gt;&gt;&nbsp; &nbsp; &nbsp;&gt;<br class="">
&gt;&gt;&nbsp; &nbsp; &nbsp;&gt; Anantha Raghava<br class="">
&gt;&gt;&nbsp; &nbsp; &nbsp;&gt;<br class="">
&gt;&gt;&nbsp; &nbsp; &nbsp;&gt;<br class="">
&gt;&gt;&nbsp; &nbsp; &nbsp;&gt; On Saturday 11 June 2016 08:09 PM, gregor wrote:<br class="">
&gt;&gt;&nbsp; &nbsp; &nbsp;&gt;&gt; Hi,<br class="">
&gt;&gt;&nbsp; &nbsp; &nbsp;&gt;&gt;<br class="">
&gt;&gt;&nbsp; &nbsp; &nbsp;&gt;&gt; a VM has snapshots which are unable to remove during when the VM<br class="">
&gt;&gt;&nbsp; &nbsp; &nbsp;is up.<br class="">
&gt;&gt;&nbsp; &nbsp; &nbsp;&gt;&gt; Therefore I power down the Windows Server 2012 VM. The snapshots are<br class="">
&gt;&gt;&nbsp; &nbsp; &nbsp;&gt;&gt; still unable to remove and the VM can't boot anymore !!!<br class="">
&gt;&gt;&nbsp; &nbsp; &nbsp;&gt;&gt;<br class="">
&gt;&gt;&nbsp; &nbsp; &nbsp;&gt;&gt; This is the message from engine.log<br class="">
&gt;&gt;&nbsp; &nbsp; &nbsp;&gt;&gt;<br class="">
&gt;&gt;&nbsp; &nbsp; &nbsp;&gt;&gt; ------------------<br class="">
&gt;&gt;&nbsp; &nbsp; &nbsp;&gt;&gt; Message: VM srv03 is down with error. Exit message: Bad volume<br class="">
&gt;&gt;&nbsp; &nbsp; &nbsp;specification<br class="">
&gt;&gt;&nbsp; &nbsp; &nbsp;&gt;&gt; ------------------<br class="">
&gt;&gt;&nbsp; &nbsp; &nbsp;&gt;&gt;<br class="">
&gt;&gt;&nbsp; &nbsp; &nbsp;&gt;&gt; Clone is not possible I get:<br class="">
&gt;&gt;&nbsp; &nbsp; &nbsp;&gt;&gt; ------------------<br class="">
&gt;&gt;&nbsp; &nbsp; &nbsp;&gt;&gt; Message: VDSM command failed: Image is not a legal chain<br class="">
&gt;&gt;&nbsp; &nbsp; &nbsp;&gt;&gt; ------------------<br class="">
&gt;&gt;&nbsp; &nbsp; &nbsp;&gt;&gt;<br class="">
&gt;&gt;&nbsp; &nbsp; &nbsp;&gt;&gt; All others VM's can be powered down and start without any problem.<br class="">
&gt;&gt;&nbsp; &nbsp; &nbsp;&gt;&gt; What can I do?<br class="">
&gt;&gt;&nbsp; &nbsp; &nbsp;&gt;&gt; This is very important because now no one can work :-( !!!<br class="">
&gt;&gt;&nbsp; &nbsp; &nbsp;&gt;&gt;<br class="">
&gt;&gt;&nbsp; &nbsp; &nbsp;&gt;&gt; cheers<br class="">
&gt;&gt;&nbsp; &nbsp; &nbsp;&gt;&gt; gregor<br class="">
&gt;&gt;&nbsp; &nbsp; &nbsp;&gt;&gt; _______________________________________________<br class="">
&gt;&gt;&nbsp; &nbsp; &nbsp;&gt;&gt; Users mailing list<br class="">
&gt;&gt;&nbsp; &nbsp; &nbsp;&gt;&gt; <a href="mailto:Users@ovirt.org" class="">Users@ovirt.org</a> &lt;mailto:<a href="mailto:Users@ovirt.org" class="">Users@ovirt.org</a>&gt;<br class="">
&gt;&gt;&nbsp; &nbsp; &nbsp;&gt;&gt; <a href="http://lists.ovirt.org/mailman/listinfo/users" rel="noreferrer" target="_blank" class="">http://lists.ovirt.org/mailman/listinfo/users</a><br class="">
&gt;&gt;&nbsp; &nbsp; &nbsp;&gt;<br class="">
&gt;&gt;&nbsp; &nbsp; &nbsp;_______________________________________________<br class="">
&gt;&gt;&nbsp; &nbsp; &nbsp;Users mailing list<br class="">
&gt;&gt;&nbsp; &nbsp; &nbsp;<a href="mailto:Users@ovirt.org" class="">Users@ovirt.org</a> &lt;mailto:<a href="mailto:Users@ovirt.org" class="">Users@ovirt.org</a>&gt;<br class="">
&gt;&gt;&nbsp; &nbsp; &nbsp;<a href="http://lists.ovirt.org/mailman/listinfo/users" rel="noreferrer" target="_blank" class="">http://lists.ovirt.org/mailman/listinfo/users</a><br class="">
&gt;&gt;<br class="">
&gt;&gt;<br class="">
&gt; _______________________________________________<br class="">
&gt; Users mailing list<br class="">
&gt; <a href="mailto:Users@ovirt.org" class="">Users@ovirt.org</a><br class="">
&gt; <a href="http://lists.ovirt.org/mailman/listinfo/users" rel="noreferrer" target="_blank" class="">http://lists.ovirt.org/mailman/listinfo/users</a><br class="">
&gt;<br class="">
</blockquote></div>
_______________________________________________<br class="">Users mailing list<br class=""><a href="mailto:Users@ovirt.org" class="">Users@ovirt.org</a><br class="">http://lists.ovirt.org/mailman/listinfo/users<br class=""></div></blockquote></div><br class=""></body></html>