Bug 1265588 - Windows guest with dynamic disk cannot show RAID(E:) Disk on rhev after conversion by virt-p2v
Summary: Windows guest with dynamic disk cannot show RAID(E:) Disk on rhev after conve...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: libguestfs
Version: 7.2
Hardware: x86_64
OS: Unspecified
medium
medium
Target Milestone: rc
: ---
Assignee: Richard W.M. Jones
QA Contact: Virtualization Bugs
Jiri Herrmann
URL:
Whiteboard: P2V
Depends On:
Blocks: 1288337
TreeView+ depends on / blocked
 
Reported: 2015-09-23 09:54 UTC by zhoujunqin
Modified: 2017-08-02 08:13 UTC (History)
8 users (show)

Fixed In Version: libguestfs-1.36.3-1.el7
Doc Type: Bug Fix
Doc Text:
Converting Windows guests with non-system dynamic disks using *virt-v2v* now works correctly Previously, using the *virt-v2v* utility to convert a Windows guest virtual machine with non-system dynamic disks did not work correctly, and the guest were not usable after the conversion. This update fixes the underlying code and thus prevents the described problem. Note that the conversion of Windows guests using dynamic disks on the system disk (C: drive) is still not supported.
Clone Of:
Environment:
Last Closed: 2017-08-01 22:08:55 UTC
Target Upstream Version:


Attachments (Terms of Use)
p2v debug log (410.00 KB, application/x-tar)
2015-09-23 09:54 UTC, zhoujunqin
no flags Details
screenshot-1 of host (201.13 KB, image/png)
2015-09-23 09:55 UTC, zhoujunqin
no flags Details
screenshot-2 of host (118.57 KB, image/png)
2015-09-23 09:55 UTC, zhoujunqin
no flags Details
screenshot-3 of host (161.26 KB, image/png)
2015-09-23 09:56 UTC, zhoujunqin
no flags Details
screenshot-4 of guest on rhev (251.22 KB, image/png)
2015-09-23 09:57 UTC, zhoujunqin
no flags Details
screenshot-5 of guest on rhev (288.93 KB, image/png)
2015-09-23 09:58 UTC, zhoujunqin
no flags Details
w2k8r2-disk on rhev (65.62 KB, image/png)
2015-09-30 08:23 UTC, mxie@redhat.com
no flags Details
w2k8r2-disk-virt-v2v log (390.56 KB, text/plain)
2015-09-30 08:24 UTC, mxie@redhat.com
no flags Details
w2k8r2-disk-2 (59.45 KB, image/png)
2015-09-30 08:41 UTC, mxie@redhat.com
no flags Details
win2008r2-p2v-1.36.3-1 (174.63 KB, image/png)
2017-04-10 06:47 UTC, mxie@redhat.com
no flags Details


Links
System ID Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2017:2023 normal SHIPPED_LIVE libguestfs bug fix and enhancement update 2017-08-01 19:32:01 UTC

Description zhoujunqin 2015-09-23 09:54:23 UTC
Created attachment 1076140 [details]
p2v debug log

Description of problem:
Windows guest with dynamic disk cannot show RAID(E:) Disk on rhev after conversion by virt-p2v

Version-Release number of selected component (if applicable):
virt-p2v-1.28.1-1.51.3.el7.1
virt-v2v-1.28.1-1.55.el7.x86_64

How reproducible:
100%

Steps to Reproduce:
1. Install W2K8R2 on physical machine(Disk 0).
Detail: Both Disk (C:) and System reserve are all this Disk 0.
Please see screenshot-1

2. Create dynamic disk with Disk 1 and Disk 2, named RAID (E:).
Detail:
2.1 Right click Unallocated Disk 1 which you want included in your RAID and select new spanned volume.
2.2 New Spanned Volume Wizard in Windows opened, Click next and then select which disks you want included in your new volume (a.k.a. software RAID).
2.3 Assign the new volume a mount letter or mount point, such as "E":
2.4 Name and format the volume and click next.
File system:          NTFS
Allocation unit size: Default
Volume Label:         RAID
2.5 The final step just reviews all of your settings before the disks are formatted and the new volume is mounted.

Please see screenshot-2 and screenshot-3

3. Use virt-p2v to convert the host to rhev.

4. After conversion, import the guest and boot the guest.

5. Login guest and check.

Actual results:
After step5, RAID (E:) cannot show on "Computer" and "Disk Management"
Please see screenshot-4 and screenshot-5.

Expected results:
All disk should show after conversion.

Additional info:
I will attach all p2v logs and i find some information in virt-v2v-conversion-log.txt

...
lvm lvs -o vg_name,lv_name --noheadings --separator /
  /run/lvm/lvmetad.socket: connect failed: No such file or directory
  WARNING: Failed to connect to lvmetad. Falling back to internal scanning.
libguestfs: trace: lvs = []
libguestfs: trace: list_filesystems = ["/dev/sda1", "ntfs", "/dev/sda2", "ntfs", "/dev/sdb1", "unknown", "/dev/sdc1", "unknown"]
libguestfs: trace: umount_all
guestfsd: main_loop: proc 11 (lvs) took 0.07 seconds
guestfsd: main_loop: new request, len 0x28
...

Comment 1 zhoujunqin 2015-09-23 09:55:10 UTC
Created attachment 1076141 [details]
screenshot-1 of host

Comment 2 zhoujunqin 2015-09-23 09:55:52 UTC
Created attachment 1076142 [details]
screenshot-2 of host

Comment 3 zhoujunqin 2015-09-23 09:56:35 UTC
Created attachment 1076143 [details]
screenshot-3 of host

Comment 4 zhoujunqin 2015-09-23 09:57:36 UTC
Created attachment 1076144 [details]
screenshot-4 of guest on rhev

Comment 5 zhoujunqin 2015-09-23 09:58:29 UTC
Created attachment 1076145 [details]
screenshot-5 of guest on rhev

Comment 7 Richard W.M. Jones 2015-09-29 13:12:21 UTC
The problem seems to be that disks 2 & 3 were not actually
imported into RHEV.

The disks are present in the OVF, and it seems as if they got
written to the export storage domain.

Can we get the engine.log from RHEV?  (If you PM me the IP address
of the server, I may be able to get it).

Comment 8 Richard W.M. Jones 2015-09-29 13:13:02 UTC
Another thing it would be good to test, separately, is whether
virt-v2v conversions to RHEV with multiple disks work.  Do we test
that now?

Comment 10 tingting zheng 2015-09-30 04:10:37 UTC
(In reply to Richard W.M. Jones from comment #8)
> Another thing it would be good to test, separately, is whether
> virt-v2v conversions to RHEV with multiple disks work.  Do we test
> that now?

Yes,we have such test cases.
In order to make this issue clear,mxie will try the latest virt-v2v to convert a windows guests with multiple disks to rhev,she will paste the result later.

I remember when I use virt-p2v-1.28.1-1.49.1.el7 to convert host with dynamic disks to rhev,the dynamic disk with the second and third disk can be showed correctly on rhev,so not sure whether the way juzhou create dynamic disk is different with mine or there is some regression.

Comment 11 mxie@redhat.com 2015-09-30 08:23:35 UTC
Created attachment 1078562 [details]
w2k8r2-disk on rhev

Comment 12 mxie@redhat.com 2015-09-30 08:24:34 UTC
Created attachment 1078563 [details]
w2k8r2-disk-virt-v2v log

Comment 13 mxie@redhat.com 2015-09-30 08:35:30 UTC
I can't reproduce this bug with virt-v2v-1.28.1-1.55.el7.x86_64

Version-Release number of selected component
virt-v2v-1.28.1-1.55.el7.x86_64
libguestfs-1.28.1-1.55.el7.x86_64
libvirt-1.2.17-11.el7.x86_64
qemu-kvm-1.5.3-104.el7.x86_64

Steps to Reproduce:
1.Add two disks to guest xen-hvm-win2008r2-x86_64 on virt-manager
  Hardware details > add hardware > select "create a disk image on the computer's hard drive " > finish
2. Create dynamic disk with Disk 1 and Disk 2, named RAID (D:).
  Right click Unallocated Disk 1 > select new spanned volume > next > select disk2 and click add option > next > assign the drive letter, such as "D" > next > modify volume label as "RAID" > finish >  RAID D which contain disk1 and disk2 will be created after Disks are formatted

3. Use virt-v2v to convert guest to rhev.
# virt-v2v -ic xen+ssh://10.66.106.64 -o rhev -os 10.66.90.115:/vol/v2v_auto/auto_export -n rhevm xen-hvm-win2008r2-x86_64 -on win2k8r2-disk -of qcow2
[   0.0] Opening the source -i libvirt -ic xen+ssh://10.66.106.64 xen-hvm-win2008r2-x86_64
[   1.0] Creating an overlay to protect the source from being modified
[   3.0] Opening the overlay
[  23.0] Initializing the target -o rhev -os 10.66.90.115:/vol/v2v_auto/auto_export
virt-v2v: warning: cannot write files to the NFS server as 36:36, even 
though we appear to be running as root. This probably means the NFS client 
or idmapd is not configured properly.

You will have to chown the files that virt-v2v creates after the run, 
otherwise RHEV-M will not be able to import the VM.
[  24.0] Inspecting the overlay
[  37.0] Checking for sufficient free disk space in the guest
[  37.0] Estimating space required on target for each disk
[  37.0] Converting Windows Server 2008 R2 Standard to run on KVM
virt-v2v: This guest has virtio drivers installed.
[  57.0] Mapping filesystem data to avoid copying unused and blank areas
[  58.0] Closing the overlay
[  60.0] Checking if the guest needs BIOS or UEFI to boot
[  60.0] Copying disk 1/3 to /tmp/v2v.n07ptH/f2ab9c04-e53f-4465-b2f0-8b28fb5905cc/images/0a3d5807-911b-4657-b35b-12aab34d318c/0b9a8c8d-09f4-41a4-8ecb-546f156cb594 (qcow2)
    (100.00/100%)
[ 454.0] Copying disk 2/3 to /tmp/v2v.n07ptH/f2ab9c04-e53f-4465-b2f0-8b28fb5905cc/images/81a462e0-59f9-4b14-aa1d-8528cfd01b36/c4ef2e0c-13b2-446c-83ed-f2491759d378 (qcow2)
    (100.00/100%)
[ 754.0] Copying disk 3/3 to /tmp/v2v.n07ptH/f2ab9c04-e53f-4465-b2f0-8b28fb5905cc/images/5febae23-cd4c-421c-bfc5-10c613c547e5/64f65f29-339b-4cb5-82e1-53712f4ca5b1 (qcow2)
    (100.00/100%)
[1063.0] Creating output metadata
[1064.0] Finishing off

4. After conversion, import the guest and boot the guest.check RADI D could be showed, please refer to screenshot "guest on rhev 6"and conversion log "w2k8-disk-virt-v2v.log"

Comment 14 mxie@redhat.com 2015-09-30 08:37:29 UTC
forgot to clear needinfo, pls miss this comment

Comment 15 Richard W.M. Jones 2015-09-30 08:41:08 UTC
I can't imagine there would be any difference between p2v and v2v.  But
anyway I'll try to reproduce this myself.  Thanks for testing v2v.

Comment 16 mxie@redhat.com 2015-09-30 08:41:44 UTC
Created attachment 1078564 [details]
w2k8r2-disk-2

Comment 18 mxie@redhat.com 2016-08-22 04:25:18 UTC
Convert win2012-MD host to libvirt by virt-p2v and I still could reproduce this bug on new builds:
libvirt-2.0.0-5.el7.x86_64
virt-p2v-1.32.7-2.el7.x86_64
libguestfs-1.32.7-2.el7.x86_64
virt-v2v-1.32.7-2.el7.x86_64
qemu-kvm-rhev-2.6.0-21.el7.x86_64
virtio-win-1.8.0-5.el7.noarch

Comment 19 Richard W.M. Jones 2017-02-16 15:34:43 UTC
(In reply to mxie@redhat.com from comment #18)
> Convert win2012-MD host to libvirt by virt-p2v and I still could reproduce
> this bug on new builds:
> libvirt-2.0.0-5.el7.x86_64
> virt-p2v-1.32.7-2.el7.x86_64
> libguestfs-1.32.7-2.el7.x86_64
> virt-v2v-1.32.7-2.el7.x86_64
> qemu-kvm-rhev-2.6.0-21.el7.x86_64
> virtio-win-1.8.0-5.el7.noarch

At some point could you try another conversion using the latest
components, and (assuming it still fails) supply the full virt-v2v
conversion logs.

May be best to wait until we finalize the RHEL 7.4 rebased package,
to make sure we have all the latest fixes.

Comment 20 mxie@redhat.com 2017-02-28 02:21:44 UTC
OK, I will verify this bug again when the RHEL 7.4 rebased package released

Comment 21 mxie@redhat.com 2017-04-10 06:46:49 UTC
Verify the bug with below builds:
libguestfs-1.36.3-1.el7.x86_64
virt-v2v-1.36.3-1.el7.x86_64
libvirt-3.1.0-2.el7.x86_64
qemu-kvm-rhev-2.8.0-6.el7.x86_64
virtio-win-1.9.0-3.el7.noarch
libguestfs-winsupport-7.2-2.el7.x86_64
virt-p2v-1.36.3-1.el7.iso


Steps:
1.Prepare a physical machine which has 3 disks
2.Install W2K8R2 on Disk 0.
3.After finishing os installation. Create dynamic disk with Disk 1 and Disk 2, named RAID D.
4.Use virt-p2v to convert the host to rhev.
5.After finishing conversion, import the guest from export domain to data domain
6.Power on the guest and check if RAID D is showing

Result:
The RAID D could be shown at disk management in guest,pls refer to screenshot "win2008r2-p2v-1.36.3-1", besides,checkpoints of guest are passed,so this bug has been fixed

Comment 22 mxie@redhat.com 2017-04-10 06:47:44 UTC
Created attachment 1270390 [details]
win2008r2-p2v-1.36.3-1

Comment 23 Richard W.M. Jones 2017-04-10 08:45:26 UTC
Looks good!  I'm dev-acking so we can add this bug to the erratum.

Comment 25 mxie@redhat.com 2017-04-10 09:23:04 UTC
According to comment21, move this bug from ON_QA to VERIFIED

Comment 27 errata-xmlrpc 2017-08-01 22:08:55 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2017:2023


Note You need to log in before you can comment on or make changes to this bug.