Benchmarking Disks On Nutanix Community Edition 2.1

Nutanix Community Edition

Disk performance is a crucial factor for the proper functioning of Nutanix Community Edition 2.1 (CE 2.1). Troubleshooting issues during installation or usage often requires verifying that your hardware meets performance expectations, even when using SSDs. Many issues in the Nutanix community forums are attributed to disk drive speed, and benchmarking can provide clarity and direction for resolving these issues.

This guide will walk you through benchmarking your Nutanix CE cluster nodes using the FIO tool, focusing on three areas:

  1. Local hypervisor drive.
  2. Local CVM drive.
  3. Storage drive from the CVM.

Why Benchmarking is Important

Benchmarking ensures your hardware’s performance aligns with Nutanix CE 2.1 requirements. Even with SSDs, variations in hardware quality, configuration, or tiering may lead to unexpected bottlenecks. Use this guide as a troubleshooting reference when seeking assistance in the Nutanix community forums.


Notes on Fio Installation and Full Command Output

Fio Packages for Enterprise Linux 8 — CE 2.1

  • The fio packages used in these tests are specifically tailored for EL8 environments, which is used in Community Edition 2.1.

Fio Command Context

  • The FIO commands in this post simulate a mixed read/write workload (70% reads and 30% writes) with random I/O, using an 8KB block size and 8 concurrent jobs with a queue depth of 16. 
  • Nutanix KB Article: Performance benchmarking with Fio on Nutanix

Full Output of Fio Command Example

  • To capture the full output of the fio command without filtering, remove the| grep -E 'read:|write:' section from the command. This ensures that all performance metrics, including detailed latency and I/O statistics, are visible:

Step-by-Step Benchmarking Process

If you have a multi-node Nutanix cluster, these tests will need to be run on each node.

Step 1: Benchmarking the Local Hypervisor Drive

  1. Log in to the hypervisor host via SSH.
ssh root@<Hypervisor_IP>

2. Install fio using the following command (EL8 Packages for CE2.1):

$ wget https://github.com/cragr/nutanix-install-fio/raw/refs/heads/main/install-fio.sh && \
    chmod +x install-fio.sh && ./install-fio.sh

3. Run the FIO benchmark using the following command:

fio --name=HYPERVISOR_balanced_test --filename=/var/log/test1 --size=16G --rw=randrw \
--bs=8k --direct=1 --numjobs=8 --ioengine=libaio --iodepth=16 \
--group_reporting --rwmixread=70 --runtime=120 --startdelay=60 \
| grep -E 'read:| write:' && rm -f /var/log/test1

4. Review the output, which includes performance metrics such as IOPS, bandwidth, and latency.


Step 2: Benchmarking the Local CVM Drive

  1. Log in to the CVM using SSH.
ssh nutanix@<CVM_IP>

2. Install FIO using the following command:

$ wget https://github.com/cragr/nutanix-install-fio/raw/refs/heads/main/install-fio.sh && chmod +x install-fio.sh && ./install-fio.sh

3. Run the FIO benchmark using the following command:

sudo fio --name=CVM_balanced_test --filename=/home/test1 --size=16G --rw=randrw \
--bs=8k --direct=1 --numjobs=8 --ioengine=libaio --iodepth=16 \
--group_reporting --rwmixread=70 --runtime=120 --startdelay=60 \
| grep -E 'read:| write:' && sudo rm -f /home/test1

4. Analyze the results to ensure the CVM disk meets the expected performance thresholds.


Step 3: Benchmarking the Storage Drive from the CVM

  1. Identify the storage disk and its mount point by running the following command:
lsblk

2. Modify the command to include the path to your specific disk, thhen execute the FIO benchmark with the updated command:

sudo fio --name=DATASTORE_DISK_balanced_test --filename=/home/nutanix/data/stargate-storage/disks/<DISK_NAME>/test1 --size=16G --rw=randrw \
--bs=8k --direct=1 --numjobs=8 --ioengine=libaio --iodepth=16 \
--group_reporting --rwmixread=70 --runtime=120 --startdelay=60 \
| grep -E 'read:| write:' && sudo /bin/rm -f /home/nutanix/data/stargate-storage/disks/<DISK_NAME>/test1

3. Analyze the results to ensure the Datastore disk meets the expected performance thresholds.

Interpreting Results

  • IOPS (Input/Output Operations per Second): Higher IOPS indicate better performance.
  • Throughput (Bandwidth): Measured in MB/s, this reflects the data transfer speed.

Compare your results against the results pictured or community benchmarks to identify potential issues.

Additional Tips

  • Monitor Health: Use the Prism Element dashboard to monitor disk health and performance in real-time.
  • Firmware Updates: Ensure all hardware components have the latest firmware updates.
  • Community Forums: Share your results and seek advice if your hardware underperforms.

Final Word

Benchmarking your disks is an essential step in diagnosing and resolving performance issues in Nutanix CE. By systematically testing your local hypervisor, CVM, and storage drives, you can identify bottlenecks and ensure your hardware meets the demands of Nutanix’s high-performance environment.

Leave a Reply

Your email address will not be published. Required fields are marked *