How to performance test Nutanix on AWS with X-ray
By: Date: August 18, 2020 Categories: X-Ray Tags: , ,

Jump to a Section of the video using the links below:

  1. Create and launch a Nutanix Cluster on AWS
  2. Connect to Prism on the Nutanix cluster running in AWS
  3. Download and create an X-ray disk image on the cluster
  4. Create Subnets and routing for the X-ray VM and its workers in AWS
  5. Connect the AWS subnet to AHV via Prism
  6. Create the X-ray VM in Prism
  7. Create a load balancer in AWS to allow outside access to the X-ray VM
  8. Configure VM security group to allow access to the X-ray VM from the load balancer
  9. Create the Prism Virtual IP address
  10. Connect to the X-ray VM via the Load Balancer URL
  11. Create and validate the test target on the X-ray server
  12. Run the Four Corners performance test
  13. X-Ray Test execution and results IOPS
  14. X-Ray Test execution and results Throughput

Step By Step

  1. Navigate to my.nutanix.com and select Launch on the Nutanix Clusters Chiclet.
  2. Click on Create Cluster
  3. Complete the details in the Create Cluster dialog. On the second page of “Create Cluster”, Select “Public” for Prism Access and “Restricted” for Management Services Access. Make sure to add the current IP addres for the management services if you are not otherwise connected to AWS. (I created and downloaded a new ssh key, although it is not required for this demo)
  4. Click the “Create Cluster” button. You should receive a popup showing “Initialize cluster initiated. AWS will now provision a bare metal cluster for us. This usually takes 20-30 minutes
  5. Once the Status changes from “Creating” to “Running” click on the “Cluster name”. You will be taken to the “Cluster details” page where you can connect to Prism. At this point I suggest taking a note of the VPC ID
  6. Launch Prism by clicking on “Go to Prism Element”. Login to Prism, change passwords etc.
  7. Get the nutanix X-ray image from nutanix.com/xray and follow the prompts to download, and uese the three dots on the right to grab the URL
  8. Back in Prism supply the X-ray image URL to the image service.
  9. NOW switch to your AWS console – we will setup some networking for the X-ray and worker VMS to run on.
  10. Navigate to the VPC section of the consule and fins the “Subnets” section. Create a new subnet as part of the 10.0.0.0/16 network. In the example I create a subnet 10.0.10.0/24
  11. This network needs to be reachable from the outside, since I want to connect to the X-ray server from my laptop. To make that work, change from the default network route, to the alternate table where the outside world is reached by an internet gateway. This is done by using the ‘Edit route table association” button. Then hit the “Create Subnet” button.
  12. Now go back to Prism and create the same network in AHV/Prism. Simply create the same network in the Settings/Network configuration tab with the same values (10.0.10.0/24). The names do not need to match. Also create a pool of IP’s that AHV can allocate. I chose .64 <-> .128
  13. Create the X-Ray VM. Use the X-Ray image that we uploaded earlier as the basis for a cloned disk, and put the VM on the Network that we created in Prism in the previous step
  14. Power on the X-Ray VM and identify the IP address of the VM
  15. Create a load balancer in AWS to forward traffic to the X-ray VM
  16. Create a TCP/UDP Load Balancer Internet-facing , and listen on Port 443. Select the correct VPC and Subnet where the X-ray VM will reside (the Subnet we created earlier). We don’t need a static IP address, we can simply use theURL of the load balancer, so we will allow AWS to assign it.
  17. Create a target group (this will point to the X-Ray IP address inside the cluster).
  18. Click through to enter the IP address of the X-Ray VM that we want the load balancer to connect to.
  19. Click “Create”. It will take a few minutes to register the load balancer and Target Groups.
  20. After initialization the status will report as “unhealthy”. We need to fix this in the security group settings for the UVMs in this Nutanix cluster. The Load Balancer cannot access the X-ray VM.
  21. Go to VPC, Security Groups find the right VPC and find the security group named “Nutanix Cluster NNNXXX UVM”. Add an inbound rule to allow the load balancer to connect to the X-ray UVM. In the example I add an override of any traffic on any port from any location.
  22. Eventually the status will change from unhealthy to healthy.
  23. While we wait for the status to change, add a virtual IP address. We can chose any unused IP address on the subnet that the CVM’s are on. In my example, the UVMs are on 10.0.128.0/24 so we can choose any unused IP in that range. I have chosen 10.0.128.101
  24. While we wait for the status to change, add a virtual IP address. We can chose any unused IP address on the subnet that the CVM’s are on. In my example, the UVMs are on 10.0.128.0/24 so we can choose any unused IP in that range. I have chosen 10.0.128.101
  25. Take the DNS name of the Load Balance and prepend https:// and append :443 in a browser
  26. We can now login to the X-ray server running in the cluster on AWS. Set. password on the x-ray server and accept the EULA.
  27. Now we can add an X-ray target using the virtual IP address we added previously. Provide the credentials that you used to login to Prism.
  28. Run the validation step to ensure X-ray can create and access its worker VMs on the cluser.
  29. If the validation comes back as “Completed” then you can proceed to run whatever X-ray tests you would like, except the failure tests since we do not have access to IPMI ports in AWS.
  30. We can now run any X-ray test that we want e.g. the four corners benchmark.
  31. And we can observe performance from X-ray or Prism….

Visually

1. Navigate to my.nutanix.com and Select Launch.
2. Create Cluster
3. Complete the Create Cluster Dialog
Create Cluster Dialog Continued
Click “Create” to start the creation of a bare metal cluster in AWS.

Once the Status changes from “Creating” to “Running” click on the “Cluster name”. You will be taken to the “Cluster details” page where you can connect to Prism. At this point I suggest taking a note of the VPC ID
Launch Prism by clicking on “Go to Prism Element”
Navigate to nutanix.com/xray and click the arrow above
Use the three dots to copy the Download link/URL
In Prism supply the X-ray image URL to the image service.
Navigate to the VPC section of the consule and fins the “Subnets” section. Create a new subnet as part of the 10.0.0.0/16 network. In the example I create a subnet 10.0.10.0/24
This network needs to be reachable from the outside, since I want to connect to the X-ray server from my laptop. To make that work, change from the default network route, to the alternate table where the outside world is reached by an internet gateway. This is done by using the ‘Edit route table association” button. Then hit the “Create Subnet” button.
Now go back to Prism and create the same network in AHV/Prism. Simply create the same network in the Settings/Network configuration tab with the same values (10.0.10.0/24). The names do not need to match. Also create a pool of IP’s that AHV can allocate. I chose .64 <-> .128
Create the X-Ray VM. Use the X-Ray image that we uploaded earlier as the basis for a cloned disk, and put the VM on the Network that we created in Prism in the previous step
Power on the X-Ray VM and identify the IP address of the VM
Create a TCP/UDP Load Balancer Internet-facing , and listen on Port 443. Select the correct VPC and Subnet where the X-ray VM will reside (the Subnet we created earlier). We don’t need a static IP address, we can simply use theURL of the load balancer, so we will allow AWS to assign it.
Create a Load Balancer that will listen on port 443
Forward to the IP address of the X-ray VM
Click “Create”. It will take a few minutes to register the load balancer and Target Groups.
After initialization the status will report as “unhealthy”. We need to fix this in the security group settings for the UVMs in this Nutanix cluster. The Load Balancer cannot access the X-ray VM.
Go to VPC, Security Groups find the right VPC and find the security group named “Nutanix Cluster NNNXXX UVM”. Add an inbound rule to allow the load balancer to connect to the X-ray UVM. In the example I add an override of any traffic on any port from any location.
Eventually the status will change from unhealthy to healthy.
While we wait for the status to change, add a virtual IP address. We can chose any unused IP address on the subnet that the CVM’s are on. In my example, the UVMs are on 10.0.128.0/24 so we can choose any unused IP in that range. I have chosen 10.0.128.101

Once the target is healthy we can continue
Take the DNS name of the Load Balance and prepend https:// and append :443 in a browser
Like this..
We can now login to the X-ray server running in the cluster on AWS. Set. password on the x-ray server and accept the EULA.


Now we can add an X-ray target using the virtual IP address we added previously. Provide the credentials that you used to login to Prism,
Run the validation step to ensure X-ray can create and access its worker VMs on the cluster.
If the validation comes back as “Completed” then you can proceed to run whatever X-ray tests you would like, except the failure tests since we do not have access to IPMI ports in AWS.
Now run any test e.g. Run the four corners test
We can observe performance from X-ray or Prism….
Here is the Prism side – almost 700,000 IOPS from a three node cluster. not bad
As we would expect – X-ray shows us about the same number…

Leave a Comment