[Libguestfs] oVirt import from VMware

Alan Daniels
Mon, 21 Jun 2021 04:27:46 -0000

To be clear, fast boot doesn't seem to be the problem / I'm still seeing
the issue. Are you able to boot the OVA and shift-shutdown to verify that
it resolves the issue or that fast boot is not the issue?

Could you let me know how to upgrade to a later version?

Thanks!
- Alan

On Fri, Jun 18, 2021 at 10:19 AM Alan Daniels <alan at softdrive.co>
wrote:

> When we powered off VMs through vCenter prior to exporting/importing,
> sometimes it would complain about failing to mount /dev/sda2:
>
> Failed to mount '/dev/sda2': Operation not permitted
> The NTFS partition is in an unsafe state. Please resume and shutdown
> Windows fully (no hibernation or fast restarting), or mount the volume
> read-only with the 'ro' mount option.
> ocaml_exn: 'mount' raised 'Failure' exception
> guestfsd: error: mount exited with status 14: The disk contains an unclean
> file system (0, 0).
> Metadata kept in Windows cache, refused to mount.
> Failed to mount '/dev/sda2': Operation not permitted
> The NTFS partition is in an unsafe state. Please resume and shutdown
> Windows fully (no hibernation or fast restarting), or mount the volume
> read-only with the 'ro' mount option.
> guestfsd: => mount (0x1) took 0.03 secs
> libguestfs: trace: v2v: mount = -1 (error)
> virt-v2v: error: unable to mount the disk image for writing. This has
> probably happened because Windows Hibernation or Fast Restart is being used
> in this guest. You have to disable this (in the guest) in order to use
> virt-v2v.
>
>
> After this, we started always shutting off the VMs inside the Guest OS via
> shift-shutdown. This resolved the error above.
>
> However, the guests do not support Hibernate / Fast Shutdown:
>
> PS C:\WINDOWS\system32> powercfg /a
> The following sleep states are not available on this system:
>     Standby (S1)
>         An internal system component has disabled this standby state.
>                 Graphics
>
>     Standby (S2)
>         The system firmware does not support this standby state.
>         An internal system component has disabled this standby state.
>                 Graphics
>
>     Standby (S3)
>         The system firmware does not support this standby state.
>         An internal system component has disabled this standby state.
>                 Graphics
>
>     Hibernate
>         The system firmware does not support hibernation.
>
>     Standby (S0 Low Power Idle)
>         The system firmware does not support this standby state.
>
>     Hybrid Sleep
>         Standby (S3) is not available.
>         Hibernation is not available.
>
>     Fast Startup
>         Hibernation is not available.
>
>
> Thanks!
> - Alan
>
> On Fri, Jun 18, 2021 at 6:27 AM Richard W.M. Jones <rjones at
redhat.com>
> wrote:
>
>> Thanks for sending the disk image across.
>>
>> With latest libguestfs and guestfs-tools I am able to inspect the image
>> fine:
>>
>>   $ rpm -q guestfs-tools libguestfs
>>   guestfs-tools-1.47.2-1.fc35.x86_64
>>   libguestfs-1.45.6-6.fc35.x86_64
>>
>>   $ tar xf SoftdriveTest.ova SoftdriveTest2-disk1.vmdk
>>   $ virt-inspector -a SoftdriveTest2-disk1.vmdk
>>   <?xml version="1.0"?>
>>   <operatingsystems>
>>     <operatingsystem>
>>       <root>/dev/sda2</root>
>>       <name>windows</name>
>>       <arch>x86_64</arch>
>>       <distro>windows</distro>
>>       <product_name>Windows 10 Home</product_name>
>>       <product_variant>Client</product_variant>
>>       <major_version>10</major_version>
>>       <minor_version>0</minor_version>
>>       <windows_systemroot>/Windows</windows_systemroot>
>>
>>
<windows_current_control_set>ControlSet001</windows_current_control_set>
>>       <osinfo>win10</osinfo>
>>       <mountpoints>
>>         <mountpoint
dev="/dev/sda2">/</mountpoint>
>>       </mountpoints>
>>       ...
>>
>> Recent virt-v2v gets further, but hits an issue because the guest is
>> using Fast Restart:
>>
>>   $ rpm -q virt-v2v
>>   virt-v2v-1.45.1-1.fc35.x86_64
>>
>>   $ virt-v2v -i ova SoftdriveTest.ova -o null
>>   [   0.0] Opening the source -i ova SoftdriveTest.ova
>>   [ 166.6] Creating an overlay to protect the source from being
modified
>>   [ 166.7] Opening the overlay
>>   [ 173.0] Inspecting the overlay
>>   virt-v2v: error: filesystem was mounted read-only, even though we
asked
>> for
>>   it to be mounted read-write.  This usually means that the filesystem
>> was
>>   not cleanly unmounted.  Possible causes include trying to convert a
>> guest
>>   which is running, or using Windows Hibernation or Fast Restart.
>>
>> (
>>
https://libguestfs.org/virt-v2v.1.html#windows-8-fast-startup-is-incompatible-with-virt-v2v
>> )
>>
>> Looking at the detailed log, the inspection step was fine.  Therefore
>> I think it should work fine if Fast Restart was disabled before
>> conversion.
>>
>> I went back to the old version of libguestfs you're using (1.40)
>> virt-inspector shows pretty similar output to your virt-v2v log.
>> However when I looked closer I found that guestfish cannot mount the
>> /dev/sda2 partition from this disk at all.  I'm not at all clear
why.
>> I guess it might be fast restart or something else (too old ntfs-3g?)
>>
>> Anyway since it works with recent libguestfs/virt-v2v, I would suggest
>> upgrading to a later version and disabling Fast Restart in Windows
>> guests before conversion, which together should solve the problem.
>>
>> Rich.
>>
>> --
>> Richard Jones, Virtualization Group, Red Hat
>> http://people.redhat.com/~rjones
>> Read my programming and virtualization blog: http://rwmj.wordpress.com
>> virt-top is 'top' for virtual machines.  Tiny program with many
>> powerful monitoring features, net stats, disk stats, logging, etc.
>> http://people.redhat.com/~rjones/virt-top
>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://listman.redhat.com/archives/libguestfs/attachments/20210621/da8985d6/attachment.htm>