> For the complete documentation index, see [llms.txt](https://docs.trilio.io/rhv/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.trilio.io/rhv/deployment-guide/requirements.md).

# General requirements

Trilio is a pure software solution and is composed of 3 elements:

1. Trilio Controller Cluster
2. Trilio RHV-M Web-GUI extension
3. Trilio Datamover

## System requirements Trilio Controller Cluster

The Trilio Controller Cluster consists of multiple containers:

* rhv-configurator - this container contains all configuration UI used to configure the Trilio solution after deployment
* config-api - this container is responsible to deploy and configure the actual Trilio solution after all values are provided through the configuration UI
* wlm-api - this container provides the api used by the RHV-M integration to work with workloads, backups and restores
* wlm-scheduler - this container takes jobs from the wlm-api and schedules them on a wlm-workloads container. It hereby chooses the wwlm-workloads container with the lowest load
* MariaDB - this container provides the Trilio database
* RabbitMQ - this container provides the RabbitMQ service used internally by the Trilio solution

The Trilio Controller Cluster consists of 3 VMs fulfilling the following base requirements

| Ressource        | Value  |
| ---------------- | ------ |
| vCPU             | 6      |
| RAM              | 16 GB  |
| Disk             | 100 GB |
| Operating System | RHEL 8 |

## System requirements Trilio datamover

Trilio is installing the Trilio datamover service next to the ovirt-imageio-proxy service running on the RHV-Manager and ovirt-imageio-daemon running on the RHV-Hosts.

The Trilio datamover doesn't have any hardware-related requirements, but they require specific versions of the ovirt-imageio services.

Please check the [Support Matrix](/rhv/tvr-support-matrix.md) for further information.

{% hint style="info" %}
The installed versions of the ovirt-imageio-proxy and the ovirt-imageio-daemon need to be the same.
{% endhint %}
