PDA

View Full Version : SLES 12 SP1 Converting SLES VMs from VMWare to Hyper-V



matt
19-May-2016, 19:07
Hello,
I have a site in the process of converting from a VMWare 5.5 environment to a Microsoft 2012 R2 Hyper-V environment. We are using Microsoft Virtual Machine Converter 3.1 to handle the conversion. We have both SLES 11 SP3/SP4 VMs and SLES 12 VMs to convert.

For the SLES 11 VMs, as long as I add "hv_storvsc" to the INITRD_MODULES in /etc/sysconfig/kernel BEFORE the migration, it works perfectly.

For the SLES 12 though, I've been struggling. After the conversion, the VMs won't boot because they cannot find the disks. In SLES 12 the disks are all mounted by-uuid. I tried adding the hv_vss_daemon, hv_fcopy_daemon, and hv_kvp_daemon to the VM before the conversion, but that made no difference. I'm not sure what the best way to rectify this would be. Has anyone done this and can you provide any pointers? Thanks.

Matt

jmozdzen
23-May-2016, 15:05
Hi Matt,

while I have no experience with Hyper-V, your description sounds as if not knowing the disks' UUIDs prior to migration is the root issue. If that's true, you might just convert to mounting by label prior to conversion.

On the other hand, I'm surprised that the UUID of the *file system* changed - can you check via maintenance login (after migration) that the system can actually access the virtual disks and is really just looking for the wrong device?

Regards,
J.

matt
24-May-2016, 02:03
Well after many trials and tribulations, I finally figured out a procedure to prep the SLES 12 VMs before the migration. Here is what I've found that works:

1. Install the Hyper-V support modules: zypper in hyper-v

2. Enable the Hyper-V support modules:

systemctl enable hv_vss_daemon.service
systemctl enable hv_fcopy_daemon.service
systemctl enable hv_kvp_daemon.service


3. Edit /etc/dracut.conf and change the add_drivers line to this:

add_drivers+="hv_vmbus hv_netvsc hv_storvsc"


4. Run the following command to rebuild initramfs:

dracut -f -v



I have been installing all current patches and making sure the VM still boots under VMware before the migration as well. You also have to permit root login over SSH so the Microsoft converter can login.

So far, if I do all that the conversions seem to work fine. I took a lot of this from RedHat info as I could find absolutely nothing talking about SuSE on Hyper-V.

Hope this helps someone!

Matt

jmozdzen
25-May-2016, 14:04
Hi Matt,

thank you a lot for providing this contribution! At least people searching for this info *now* have something to read.

BTW, since your steps to success basically enable the Hyper-V services in a SLES12-compatible way, it supports the earlier assumption that not the use of UUIDs was the source of your trouble, but already access to the virtual device itself was missing. Good to known, too!

Regards,
Jens

matt
25-May-2016, 14:54
Hi Matt,

thank you a lot for providing this contribution! At least people searching for this info *now* have something to read.


Yes, it was very frustrating not finding anything. I thought Microsoft and SuSE had this strong relationship?



BTW, since your steps to success basically enable the Hyper-V services in a SLES12-compatible way, it supports the earlier assumption that not the use of UUIDs was the source of your trouble, but already access to the virtual device itself was missing. Good to known, too!


I thought about changing the mount type to by name, but I wasn't sure what impact that would have. I'm still kinda new to SLES 12 and it seems UUID is the preferred method. I figured it was more of a driver issue. I had the same problem with the SLES 11 boxes, just had to make sure I added the storage driver before the conversion.


Overall they are working fine, but the Hyper-V admin is questioning whether we have all the "proper" tools installed for Hyper-V support. The SLES VMs don't report their tools version like the Cent OS and Windows servers do. Here is a screen shot:


153


I'm not sure what "Detected" means for the SLES VMs.

Matt

jmozdzen
25-May-2016, 15:28
Hi Matt,

as already mentioned, I'm no Hyper-V person, so I can only guess that the drivers you installed do not report their versions, for whatever reason. And quoting from https://technet.microsoft.com/de-de/library/dn531027.aspx :

LIS are included as part of this Linux distribution. The Microsoft-provided LIS download package does not work for this distribution, so do not install it. The kernel module version numbers for the built in LIS (as shown by lsmod, for example) are different from the version number on the Microsoft-provided LIS download package. A mismatch does not indicate that the built in LIS is out of date.

If you need more technical details, I'd suggest to open a service request to have some SUSE support engineer find out applicable and correct answers. Unless, of course, someone else chimes in here and fills the gaps I'm leaving in my answers :)

Regards,
Jens