Not all problems can be solved with better hardware, but choosing the right hardware is an absolute necessity for large scale deployments.
The minimum requirements for the Uyuni Server are:
Eight or more recent x86-64 CPU cores.
32 GiB RAM. For installations with thousands of clients, use 64 GB or more.
Fast I/O storage devices, such as locally-attached SSDs. For PostgreSQL data directories, we recommend locally-attached RAID-0 SSDs.
If the Uyuni Server is virtualized, enable the
elevator=noop kernel command line option, for the best input/output performance.
You can check the current status with
This command will display a list of available schedulers with the currently active one in brackets.
To change the scheduler before a reboot, use
echo noop > /sys/block/<DEVICE>/queue/scheduler.
The minimum requirements for the Uyuni Proxy are:
One Uyuni Proxy per 500-1000 clients, depending on available network bandwidth.
Two or more recent x86-64 CPU cores.
16 GB RAM, and sufficient storage for caching.
Clients should never be directly attached to the Uyuni Server in production systems.
In large scale installations, the Uyuni Proxy is used primarily as a local cache for content between the server and clients. Using proxies in this way can substantially reduce download time for clients, and decrease Server egress bandwidth use.
The number of clients per proxy will affect the download time. Always take network structure and available bandwidth into account.
We recommend you estimate the download time of typical usage to determine how many clients to connnect to each proxy. To do this, you will need to estimate the number of package upgrades required in every patch cycle. You can use this formula to calculate the download time:
Size of updates * Number of clients / Theoretical download speed / 60
For example, the total time needed to transfer 400 MB of upgrades through a physical link speed of 1 GB/s to 3000 clients:
400 MB * 3000 / 119 MB/s / 60 = 169 min