Migrate RHEL 7.X from VMware ESXi to Nutanix AHV

Today, next part from my Migration to Nutanix AHV series – this time migrate RHEL 7.x from VMware ESXi to Nutanix AHV.

NOTE: Below procedure is applicable for CentOS 7 (see comments 🙂 )

Software requirements:

  • Nutanix AOS or newer
  • Nutanix AHV – 20151109 or newer
  • vSphere 5.X or 6.0
  • Remove all snapshots form VM

Let’s get started. Check if you can see VirtIO modules in the system. As you can see on the snippet below, modules are in the system. No need to install and compile.
FYI. all modern Linux kernel (2.6.32 and above) version have VirtIO drivers available by default.

Next thing you want to do is to check there are any drivers baked in current kernel. If the output is like below – meaning you have to add VirtIO modules into kernel

For RHEL 6.5 and newer you use dracut to add kernel module. Command below adds virtIO scsi module (SCSI adapter drivers) , virtIO block module (disk driver), virtIO PCI module and virtIO_net (network module)

Make sure you have made backup of current kernel version before you go and execute below.

Let’s verify if we can see drivers in kernel.

Now we are good to storage vMotion of VMs VMDK to Nutanix AHV cluster. Once is done Power virtual machine down and log in into Prism –> Create new VM –> add disk, in the path specify UNC path to FLAT vmdk file of the VM –> add network adapter and connect it to correct portgroup.

[box type=”warning”] NOTE: use CLONE FROM ADSF FILE operation and with SCSI BUS type [/box]


Acropolis VM disk configuration

Now, power server on and wait to boot up, verify IP configuration, disk layout and server is ready to run

Migration Series

Artur Krzywdzinski

Artur is Consulting Architect at Nutanix. He has been using, designing and deploying VMware based solutions since 2005 and Microsoft since 2012. He specialize in designing and implementing private and hybrid cloud solution based on VMware and Microsoft software stacks, datacenter migrations and transformation, disaster avoidance. Artur holds VMware Certified Design Expert certification (VCDX #077).

  • John Estep

    Thanks much for this, I was looking all over and could not find the answer!!!
    I was doing Centos, but same thing basically 😛

    • I’m happy you have found it useful. In fact I should update this post with note it does apply to CentOS 7.

      • John Estep

        Yes, and you know I went back and forth many times disk IDE instead of scsi since I found that as a solution, and a few others.. You should put this up on the Nutanix site 😛

        • I’m are working on comprehensive migration guide. Soon should be out. I know that Nutanix is working on migration guide too.

        • What other systems you are migrating to Nutanix AHV? Anything I can help you with?

          • John Estep

            I have probably 1 Windows 2012 server, but that “seems” to be pretty straight forward. It is also VMWare right now. Otherwise I am looking at building new systems to replace outdated ones

          • Win2k12 is easy, same way as Win2k12R2. Very good decision, migration project are very good opportunity to do OS refresh. Anyway, if you end up in problems with migrations or Nutanix. feel free to reach out.

          • John Estep

            Thanks much!

          • John Estep

            Oh one thing I did notice, your zcat should be zcat /tmp/initramfs-uname -r.img | cpio -it | grep virtio not with the actual version name 😉

            And maybe sudo added to all the commands?

            Oh and one more:
            cp /boot/initramfs-‘uname -r’.img /tmp/initramfs-‘uname -r’.img.gz

            Has single quotes and not `

          • thanks, I will fix that. You can do both, either version name or uname -r

  • Darin Perusich

    A couple of comments…

    1. Instead of creating a copy of the initramfs and zcat’ing the image just use “lsinitrd |grep virtio” to see if the drivers are loaded, it’s what the tools is for.
    2. It isn’t necessary to specify the path to the initramfs image when adding the drivers
    3. These instructions apply to any Linux system using dracut, openSUSE, SUSE Enterprise, etc.

    Thanks for the nice write up!