Nutanix on AMD Processors

Working in IT can have it's challenges, especially when it comes to hardware compatibility and different operating systems or hypervisors. I ran into an instance recently that I wanted to test out Nutanix on my commodity hardware that runs on the Ryzen platform. My current system is configured as below:
  • Ryzen 7 1800x
  • 32GB of 3200Mhz RAM
  • 1TB Samsung 960 EVO NVME
  • AMD Radeon Vega 64
  • MSI Gaming X 1080ti
Good enough specs to run just about any task and do it well enough, especially for home labbing. Right? Well, yes, mostly...

Enter hardware compatibility issues...

Nutanix has been around for a few years now and is a great solution for HCI. It provides some great tools to really help leverage your own private cloud, while giving you the ability to easily migrate to full cloud solutions like Azure, AWS or Google Cloud.

Because AMD only really became serious about computing again recently with their Epyc, Threadripper and Ryzen line of processors, Nutanix really has been a one trick pony when it comes to hardware that they support, natively, out of the box, ie. Intel.

Well, that is all changing now and Nutanix is bringing AMD support in the future, but it's not quite ready... So for now, we'll do a simple workaround to get the image booting and installed using nested virtualization in KVM.

This post will be simple and will assume the following:
  • You have KVM setup on your host operating system and have nested virtualization configured and working, and a bridged network for direct access to your router.
  • You have downloaded Nutanix CE.
  • You have experience working with the Linux command line and KVM tools.
  • You know how to install Nutanix CE properly.
Step 1... Copy the image file to your image store
  • Uncompress the gzip file that you download with the image in it.
  • Copy it to the image store:
     cp ce-*.img /var/lib/libvirt/images/nutanix-install.img

Step 2... Prep image to allow AMD hardware
  • Associate image with regular file:
     losetup -f -P /var/lib/libvirt/images/nutanix-install.img
     lsblk -f

     You should get a new ext4 partition available to mount, similar to below:

     loop15
     └─loop15p1          ext4              6e28729c-5954-44c8-87a9-70efa532e7d2

Step 3... Mount the image

     mount /dev/loop15p1 /mnt
  • Verify it was mounted, replace with your loop device:
     mount|grep -i loop15
     /dev/loop15p1 on /mnt type ext4 (rw,relatime,stripe=256)

Step 4... Modify installer scripts to allow AMD devices

     /mnt/home/install/phx_iso/phoenix/minimum_reqs.py

         Go to line 52:

     if not "vmx" in match.group(1):

         Replace vmx with svm. It should now look like:

     if not "svm" in match.group(1):

         Go to line 70:

           if not "Intel" in model:

         Replace Intel with AMD. It should now look like:

           if not "AMD" in model:

         Save the file
  • Unmount the image:
     umount /mnt

Step 5... Disassociate image with file
  • Substitute your loopback device with device file:
     losetup -d /dev/loop15

Step 6... Create new virtual machine
  • Launch Virtual Machine Manager (VMM)
  • Click, Create a new virtual machine
  • Select, Import existing disk image
  • Browse to select the modified image:
     /var/lib/libvirt/images/nutanix-install.img
  • Click, Choose Volume
  • Click, Forward
  • Enter an operating system, you can use Cent OS or Generic default
  • Enter the following memory and CPU at a minimum:
  • Click, Forward
  • Give it a name
  • Tick: Customize configuration before install
  • Click Finish
  • Click Add Hardware
  • Click Storage
  • Select: Create a disk image for the virtual machine
  • Enter: 200GiB
  • Click Finish


  • Click Add Hardware
  • Click Storage
  • Select: Create a disk image for the virtual machine
  • Enter: 500GiB
  • Click Finish
  • It's important to note the following in regards to your disk order:
         <IDE|SATA|SCSI> Disk 1 - is the install/boot disk
         <IDE|SATA|SCSI> Disk 2 - is the hot storage
         <IDE|SATA|SCSI> Disk 3 - is the cold storage
  • Set CPU host configuration to:
         host-passthrough

         This is required for nested virtualization to work on the VM.


Step 6... Install Nutanix

You should now be able to boot successfully to the installer and should see the following. Just proceed through the install and check out the Nutanix Bible on how to work with and manage the virtual appliance. Happy learning and good luck out there!


Comments

Popular posts from this blog

About the new site...