ESXi 6 and VMware best practices for SAS® software


This SAS KB article explains ESXi 6 and VMware best practices for SAS. It contains the following sections:

Table of Contents

Generic Overview of VM Farms

VM Farms are thinly provisioned, shared, movable, commodity resources. They are designed for thin applications that can subsist well in shared resource environments. Virtual Farms are thin, but SAS is thick.

Environment Considerations

Resource Provisioning

vSphere Version: SAS always recommends using the latest stable release. (SAS tends to avoid *.0 releases.)

System Tuning – Hypervisor versus Host

Many RHEL host tunable settings can be set on the physical host via UDEV profiles, tuned rules, and so on that cover items such as Power Management, IO Elevators, VMM Dirty Page Handling, OS Readahead, LVM construction, and so on. VMware administrators typically prefer to control these items via ESXi at the hypervisor layer. 

There are scenarios that are exceptions (such as VM Host-Striped LVM LUN Construction) when the underlying hardware cannot provide the performance from default hypervisor-set configurations and settings. In these scenarios, do the following:

VM Placement

Here are some details to help you configure VM placement.

  1. Are the SAS VMs in the same ESXi cluster?
    • This configuration is optimal. 
    • Crossing clusters involves highly potential performance degradations.

  2. Are the SAS Virtual Machine hosts contained within the same local network subnet?
    • It is best to configure the hosts like this if possible.
    • Note: In a large, commodity VM Farm, this configuration might not be feasible.

  3. NUMA Avoidance:
    • Are the SAS Virtual Machine hosts and memory for each individual VM contained within the same single socket? If not, NUMA problems can persist despite VMware attempts to control it.
    • The VMware CPU Hot Add setting can influence NUMA alignment if it adds a CPU outside the current socket. It should be disabled, if possible, for SAS.
    • 2- or 4-Socket VM Placement: 2-socket hosts are easier to tune and less risky for NUMA issues. However, most VM farms utilize larger 4-socket hosts to aid vMotion placement of resources as needed in workload fluctuation.

  4. Are there adequate NIC/FC card resources to support each VM when multiple VMs share an underlying physical host?
    • Each VM also needs enough NIC or FC card bandwidth (end-to-end to external storage) to permit at least 100 MB/sec/core IO Bandwidth.
    • This is primarily true for SAS GRID COMPUTE NODEs, and the CAS Controller for Serial Path CAS Table Loads. 

  5. For Fiber Channel Adapters, SAS recommends dedicated ASICs (no sharing), PVSCSI Adapters with a minimum QDepth of 1024:
    • Has the queue depth and ring page count within the virtual machine been increased? https://kb.vmware.com/s/article/2053145: The following command is specific to paravirtual SCSI adapters (recommended for SAS usage) and tends to help with queue depth issues on Single LUN VMDKs: 
         vmw_pvscsi.cmd_per_lun=254
         vmw_pvscsi.ring_pages=32
    • The second line ensures persistence after a reboot as described in https://kb.vmware.com/s/article/2150431.

  6. For Network Interface Cards, SAS recommends the use of VMXNet3 Adapters:
    • Configure the Network Adapter Settings for Large Send Offload (LSO)/Large Receive Offload (LRO) in guest host.

VM Subscription

Here are some details to help you configure VM subscription.

  1. Are the VMs statically reserved or vMotioned? 
    • If vMotion runs during a SAS process, the disruption is disabling.
    • PETs nodes in SAS Viya cannot be live vMotioned without quorum and cluster failure.

  2. Thin vs. Thick Provisioning
    • Are the VMs sharing/borrowing/stealing resources (CPU/Memory)?
    • SAS prefers them to be thickly provisioned and as static as possible (not being vMotioned).

SAS Application Roles for VMs & Underlying Physical Host Sharing

Watch the CPU count and bandwidth required to support IO. On SAS Viya systems networks, follow the precepts in (5. Network) below.

 

VM Host Backups

Here are some details to help you configure VM host backups.

CPU

CPU ratios from physical hosts to VMs will typically be: 1 PCPU=.85 VCPU. Consider this ratio when you provision VM CPU. If a shared file system is employed, it can drop the ratio by another .05.

Network 

Here are some details to help you configure the network.

Storage

Here are some details to help you configure storage.

VM Disks

Most modern all flash storage arrays can employ single LUN VMDKs for SAS File Systems. There are many considerations about how to arrange and tune these. When they aren’t performant enough due to underlying storage, there are fallbacks to use host created striped LVMs, employing multiple VMDKs in a host stripe.

FC versus NIC vs. Host -attached storage

LUN Queue Depths for VMDKs or LVMS can be underlying storage brand/model specific. Customers should consult with their storage vendor to set this maximally.

Dedicated SAS versus Shared Storage

Performance can be affected if customer storage arrays or Network Storage Appliances are shared with non SAS applications. Noisy neighbors and non-sequential workloads can impact the SAS storage performance experience.

IO and Storage Tuning Precepts

If you have questions about storage under VMware, contact SAS for help with these settings and subjects:

SAS Viya Specific Considerations (SAS Viya 3.5)

This section provides more information about SAS Viya 3.5.

Network

Host IO Bandwidth Notes