Skip to main content
Skip table of contents

Deployment for KVM

Overview

This article outlines the requirements for deploying the Delphix Engine via Linux KVM, as well as recommended configuration parameters.

The Delphix Engine is resource intensive from a compute, network, and storage perspective. If the Delphix Engine competes with other virtual machines on the same host for resources it will result in increased latency for all operations. As such, it is crucial that your KVM host is not over-subscribed, as this eliminates the possibility of a lack of resources for the Delphix Engine. This includes allowing a percentage of CPU resources for the hypervisor itself as it can de-schedule an entire VM if the hypervisor is needed for managing I/O or compute resources.

The KVM ecosystem includes many versions/variations. Delphix generally supports running on KVM, but does not explicitly qualify each vendor’s KVM hypervisor solution. Rather, as Delphix is based on Ubuntu 20.04, Delphix supports running on any KVM hypervisor whose vendor supports the Ubuntu 20.04 guest operating system.

Delphix is supported on Nutanix AHV. Because AHV is based on KVM, all of the KVM content on this page also applies to Nutanix AHV.

Delphix disk storage capabilities are based on the backend storage provided. Performance, redundancy, and stability characteristics are determined by the hypervisor or Cloud provisioned storage.

Pre-requisites

1. The KVM provider must explicitly state that Ubuntu 20.04 is supported by their variation of KVM.

Most, if not all, KVM hypervisor providers should have public facing documentation which include support matrices for guest OS compatibility. If the KVM hypervisor provider does not state support for the Ubuntu version on which Delphix is based (currently 20.04), then Delphix cannot support the KVM provider.

As an example, Nutanix provides a publicly accessible guest OS compatibility matrix for AHV. As of this writing, this matrix includes support for Ubuntu 20.04, and therefore Delphix supports deployment on Nutanix AHV. Oracle Linux also provides a publicly accessible guest operating system support matrix, which also declares support for Ubuntu 20.04. Because of that, Delphix does support deployment on Oracle Linux KVM. Another example is RedHat, which provides KVM virtualization support in a number of different contexts. While RedHat does not explicitly list Ubuntu in its certified guest OS support matrix, Ubuntu implicitly falls under RedHat’s third party support software policy, and Delphix will support deployments in that environment.

2. A check of the Delphix appliance on the variation/version of KVM.

It is required that a Delphix representative works with the organization to check the Delphix appliance (and/or use case) on the specified KVM variation/version. This check will ensure that the software is compatible.

Virtual CPUs

Requirements

Notes

8 vCPUs

  • CPU resource shortfalls can occur on an over-committed host as well as competition for host resources during high IO utilization.

  • CPU reservations are strongly recommended for the Delphix VM so that Delphix is guaranteed the full complement of CPUs even when resources are overcommitted.

  • It is suggested to use a single core per socket unless there are specific requirements for other VMs on the same KVM host.

Never allocate all available physical CPUs to virtual machines.

  • A CPU for the KVM Server to perform hypervisor activities must be set aside before assigning vCPUs to Delphix and other VMs.

  • We recommend that a minimum of 8-10% of the CPUs available are reserved for hypervisor operation. (e.g. 12 vCPUs on a 128 vCore system).

Memory

Requirements

Notes

128 GB vRAM (recommended)
64GB vRAM (minimum)

  • The Delphix Engine uses its memory to cache database blocks. More memory will provide better read performance.

  • Memory reservations are recommended for the Delphix VM. The performance of the Delphix Engine will be significantly impacted by the over-commitment of memory resources in the KVM Server. 

  • Reservations ensure that the Delphix Engine will not be forced to swap pages during times of memory pressure on the host. A swapped page will require orders of magnitude more time to be brought back to physical memory from the KVM swap device.

Memory for the KVM Server to perform hypervisor activities must be set aside before assigning memory to Delphix and other VMs. 

  • Failure to ensure sufficient memory for the host can result in a hard memory state for all VMs on the host which will result in a block for memory allocations.

Network

Requirements

Notes

Virtual ethernet adapter requirements.

  • Jumbo frames are highly recommended to reduce CPU utilization, decrease latency, and increase network throughput (typically 10-20% throughput improvement).

  • A 10GbE NIC/network is recommended for performance dSource and VDB operations.

If the network load in the KVM Server hosting the Delphix engine VM is high, dedicate one or more physical NICs to the Delphix Engine.

SCSI controller

Notes

When adding virtual disks, make sure that they are evenly distributing the load across the maximum of 4 virtual SCSI controllers. Spreading the disks across available SCSI controllers evenly will ensure optimal IO performance from the disks. For example, a VM with 4 SCSI controllers and 8 virtual disks should distribute the disks across the controllers as follows:

disk0 = SCSI(0:0) - System Disk on Controller 0 Port 0 

(ignore for purposes of load balancing)

disk1 = SCSI(0:1) - Data Disk on Controller 0 Port 1

disk2 = SCSI(1:1) - Data Disk on Controller 1 Port 1

disk3 = SCSI(2:1) - Data Disk on Controller 2 Port 1

disk4 = SCSI(3:1) - Data Disk on Controller 3 Port 1

disk5 = SCSI(0:2) - Data Disk on Controller 0 Port 2

disk6 = SCSI(1:2) - Data Disk on Controller 1 Port 2

disk7 = SCSI(2:2) - Data Disk on Controller 2 Port 2

disk8 = SCSI(3:2) - Data Disk on Controller 3 Port 2

For load purposes, we generally focus on the Delphix storage (data disks) and ignore the controller placement of the system disk.

IDE and SATA controllers are not supported on KVM platforms

General storage 

Delphix recommends using a minimum of four disks to run your Delphix Engine. One disk is used for the Delphix File System (DxFS) to ensure that its file systems are always consistent on disk without additional serialization. The other three or more equally sized disks will be used for data storage. This also enables the Delphix Engine to achieve higher I/O rates by queueing more I/O operations to its storage.

Requirements

Notes

Storage used for Delphix must be provisioned from storage that provides data protection.

For example, using RAID levels with data protection features, or equivalent technology. 

The Delphix Engine does not protect against data loss originating at the hypervisor or SAN layers.

When adding additional disks to the block storage pool, storage device initialization will not occur since it is not required on this hypervisor.

For more information refer to, Optimal storage configuration parameters for the Delphix engine.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.