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.

Contact a Delphix representative to request this capability. Delphix will assist in assuring that all KVM requirements are met to successfully run a Delphix Engine with the most appropriate configurations for the use case.

The Delphix Engine is intensive from both a 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 is announcing general support for KVM, but will forgo any formal certification for specific versions and rather will focus on declared support for specific Linux Kernels.

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 the Ubuntu 18.04/20.04 kernel 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 explicitly state support for the Ubuntu kernel versions used in the supported Linux Delphix versions (either 18.04 currently, or 20.04 in the future), Delphix cannot support the KVM provider.

As an example, RedHat Linux (a KVM hypervisor provider), provides a publicly accessible guest operating system support matrix. As of December 2021, this matrix does not include support for any Ubuntu guest OS, and therefore Delphix would also not support deployment on RedHat Linux KVM. Oracle Linux (a different KVM hypervisor provider) also provides a publicly accessible guest operating system support matrix, which declares support for Ubuntu 16.04, 18.04, and 20.04. In this case, since the hypervisor provider declares support for the Delphix Ubuntu kernel(s), Delphix will support deployment on Oracle Linux KVM.

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 required 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.