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.
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.
Never allocate all available physical CPUs to virtual machines.
128 GB vRAM (recommended)
Memory for the KVM Server to perform hypervisor activities must be set aside before assigning memory to Delphix and other VMs.
Virtual ethernet adapter requirements.
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.
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 DB storage and ignore the controller placement of the system disk.
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.
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.
For more information refer to, Optimal storage configuration parameters for the Delphix engine.