|
| 1 | +--- |
| 2 | +date: 2025-04-07 |
| 3 | +title: virt-v2v Windows VM migration pre-requisite |
| 4 | +authors: |
| 5 | + - pram0596 |
| 6 | +description: > |
| 7 | + This document describes the pre-requisites needed to complete a windows VM machine migration from VMware cloud to OpenStack. |
| 8 | +categories: |
| 9 | + - virt-v2v |
| 10 | + - openstack |
| 11 | + - migration |
| 12 | +--- |
| 13 | +# `virt-v2v` `Windows` VM migration pre-requisite |
| 14 | + |
| 15 | +This article explains the prerequisites for migrating a `Windows2019` VM from `VMware cloud` to `OpenStack`. These are additional requirements that needs to be setup before completing a `Windows` VM migration. If you do not complete it, you may see following error while completing a `Windows` VM migration. |
| 16 | + |
| 17 | +```shell |
| 18 | +virt-v2v: error: One of rhsrvany.exe or pvvxsvc.exe is missing in /usr/share/virt-tools. |
| 19 | +One of them is required in order to install Windows firstboot scripts. |
| 20 | +You can get one by building rhsrvany (https://github.com/rwmjones/rhsrvany) |
| 21 | +``` |
| 22 | +## Pre-requisite |
| 23 | + |
| 24 | ++ `virt-v2v` appliance must be configured as per [VMware to OpenStack Migration using virt-v2v](https://blog.rackspacecloud.com/blog/2025/04/01/vmware_to_openstack_migration_using_virt-v2v/) |
| 25 | + |
| 26 | +## Environment |
| 27 | + |
| 28 | +Kindly refer below details which is used in this documentation. IP can be different in your environment. |
| 29 | + |
| 30 | ++ **virt-v2v Virtual appliance** - `192.168.11.11` |
| 31 | + |
| 32 | +## Steps |
| 33 | +Perform all below listed steps on virtual appliance to confiure it to be able to migrate `windows` VM. |
| 34 | + |
| 35 | +### Download virtio iso image |
| 36 | + |
| 37 | +Download `virtio` iso image on virtual appliance. `virtio` image version can differ for different `windows` OS flavor so please check `virtio` compatibility matrix before downloading. Here I am using version `0.1.248` which is compatible with `windows19`. |
| 38 | +```shell |
| 39 | +wget https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/virtio-win-0.1.248-1/virtio-win-0.1.248.iso |
| 40 | +``` |
| 41 | + |
| 42 | +### Mount downloaded image to `/mnt` directory |
| 43 | + |
| 44 | +Mount iso image to `/mnt` directory. |
| 45 | +```shell |
| 46 | +mount virtio-win-0.1.248.iso /mnt |
| 47 | +``` |
| 48 | +### Create `virtio-win` directory |
| 49 | + |
| 50 | +Create `virtio-win` directory under `/usr/share` |
| 51 | +```shell |
| 52 | +mkdir /usr/share/virtio-win |
| 53 | +``` |
| 54 | +### Copy image data |
| 55 | + |
| 56 | +Switch to `/mnt` directory and copy data to `/usr/share/virtio-win`. |
| 57 | +```shell |
| 58 | +cd /mnt |
| 59 | +cp -rpv * /usr/share/virtio-win/ |
| 60 | +cd |
| 61 | +umount /mnt |
| 62 | +ls -l /usr/share/virtio-win/ |
| 63 | +``` |
| 64 | +Check if you can see below files under `/usr/share/virtio-win/` |
| 65 | + |
| 66 | +!!! example "Example output" |
| 67 | + |
| 68 | + ```shell |
| 69 | + total 749040 |
| 70 | + dr-xr-xr-x 16 root root 4096 Feb 28 2024 Balloon |
| 71 | + dr-xr-xr-x 16 root root 4096 Feb 28 2024 NetKVM |
| 72 | + dr-xr-xr-x 13 root root 4096 Feb 28 2024 amd64 |
| 73 | + dr-xr-xr-x 2 root root 4096 Feb 28 2024 cert |
| 74 | + dr-xr-xr-x 2 root root 4096 Feb 28 2024 data |
| 75 | + dr-xr-xr-x 11 root root 4096 Feb 28 2024 fwcfg |
| 76 | + dr-xr-xr-x 2 root root 4096 Feb 28 2024 guest-agent |
| 77 | + dr-xr-xr-x 6 root root 4096 Feb 28 2024 i386 |
| 78 | + dr-xr-xr-x 14 root root 4096 Feb 28 2024 pvpanic |
| 79 | + dr-xr-xr-x 7 root root 4096 Feb 28 2024 qemufwcfg |
| 80 | + dr-xr-xr-x 14 root root 4096 Feb 28 2024 qemupciserial |
| 81 | + dr-xr-xr-x 5 root root 4096 Feb 28 2024 qxl |
| 82 | + dr-xr-xr-x 9 root root 4096 Feb 28 2024 qxldod |
| 83 | + dr-xr-xr-x 5 root root 4096 Feb 28 2024 smbus |
| 84 | + dr-xr-xr-x 11 root root 4096 Feb 28 2024 sriov |
| 85 | + dr-xr-xr-x 11 root root 4096 Feb 28 2024 viofs |
| 86 | + dr-xr-xr-x 11 root root 4096 Feb 28 2024 viogpudo |
| 87 | + dr-xr-xr-x 13 root root 4096 Feb 28 2024 vioinput |
| 88 | + dr-xr-xr-x 14 root root 4096 Feb 28 2024 viorng |
| 89 | + dr-xr-xr-x 14 root root 4096 Feb 28 2024 vioscsi |
| 90 | + dr-xr-xr-x 16 root root 4096 Feb 28 2024 vioserial |
| 91 | + dr-xr-xr-x 16 root root 4096 Feb 28 2024 viostor |
| 92 | + -r-xr-xr-x 1 root root 4539904 Feb 28 2024 virtio-win-gt-x64.msi |
| 93 | + -r-xr-xr-x 1 root root 2573312 Feb 28 2024 virtio-win-gt-x86.msi |
| 94 | + -r-xr-xr-x 1 root root 27447293 Feb 28 2024 virtio-win-guest-tools.exe |
| 95 | + -r-xr-xr-x 1 root root 1598 Feb 28 2024 virtio-win_license.txt |
| 96 | + ``` |
| 97 | +### Install additional packages |
| 98 | + |
| 99 | +Run below commands to install few more packages needed for `windows` migration. |
| 100 | +```shell |
| 101 | +apt install -y rpm2cpio |
| 102 | +wget -nd -O srvany.rpm https://kojipkgs.fedoraproject.org//packages/mingw-srvany/1.1/4.fc38/noarch/mingw32-srvany-1.1-4.fc38.noarch.rpm |
| 103 | +rpm2cpio srvany.rpm | cpio -idmv \ |
| 104 | + && mkdir /usr/share/virt-tools \ |
| 105 | + && mv ./usr/i686-w64-mingw32/sys-root/mingw/bin/*exe /usr/share/virt-tools/ |
| 106 | +``` |
| 107 | +Appliance is ready to perform `windows` vm migration. Switch back to doc [VMware to OpenStack Migration using virt-v2v](https://blog.rackspacecloud.com/blog/2025/04/01/vmware_to_openstack_migration_using_virt-v2v/) for further steps to perform actual disk migration. |
0 commit comments