Hardware Requirements
This table outlines hardware and software requirements for the Uyuni Server and Proxy on x86-64, and ARM architecture.
For Uyuni for Retail hardware requirements, see Retail Requirements.
1. Server Requirements
SLE Micro 5.5 is ths operation system of the container host and requires as free disk space:
-
Minimum for base installation 100 GB
-
Plus a minimum of 130 GB for repository data
By default the Uyuni Server container stores packages in the /var/lib/containers/storage/volumes/var-spacewalk/
directory.
Repository synchronization fails if this directory runs out of disk space.
Estimate how much space the /var/lib/containers/storage/volumes/var-spacewalk/
directory requires based on the clients and repositories you plan to mirror.
For more information about filesystem and partitioning details, see Persistent Storage and Permissions and the detailed installation instructions in the Installation and Deployment sections of this guide.
Hardware | Details | Recommendation |
---|---|---|
CPU |
x86-64, ARM, or s390x |
Minimum 4 dedicated 64-bit CPU cores |
RAM |
Minimum |
16 GB |
Recommended |
32 GB |
|
Disk Space |
|
20 GB |
|
Minimum 50 GB |
|
|
Minimum storage required: 100 GB (this will be verified by the implemented check) * 50 GB for each SUSE product and Package Hub * 360 GB for each Red Hat product |
|
|
Minimum 10 GB. Add 100 MB per SUSE product, 1 GB per Red Hat or other product. Consider to double the space if the server is used for Inter-Server Synchronization (ISS) |
The images by default have a 20 GB /
partition.
The cloud image of SLE Micro 5.5 has just a 5 GB /
partition. Both work flawlessly with Uyuni.
As long as external storage is mounted to /var/lib/containers/storage/volumes
, Uyuni does not need or use storage on the /
partition, but leaves that to the management of the container host itself.
Uyuni performance depends on hardware resources, network bandwidth, latency between clients and server, etc. Based on the experience and different deployments that are in use, the advice for optimal performance of Uyuni Server with an adequate number of proxies is to not exceed 10,000 clients per single server. It is highly recommended to move to the Hub setup and involve consultancy when you have more than 10,000 clients. Even with fine-tuning and an adequate number of proxies, such a large number of clients can lead to performance issues. For more information about managing a large number of clients, see Multiple Servers with Hub to Manage Large Scale Deployments. |
2. Proxy Requirements
Hardware | Details | Recommendation |
---|---|---|
CPU |
x86-64, ARM |
Minimum 2 dedicated 64-bit CPU cores |
RAM |
Minimum |
2 GB |
Recommended |
8 GB |
|
Disk Space |
|
Minimum 40 GB |
|
Minimum 100 GB * Storage requirments should be calculated for the number of ISO distribution images, containers, and bootstrap repositories you will use. |
|
|
Minimum 100 GB |
By default the Uyuni Proxy container caches packages in the /var/lib/containers/storage/volumes/var-cache/
directory.
If there is not enough space available, the proxy will remove old, unused packages and replace them with newer packages.
As a result of this behavior:
-
The larger
/var/lib/containers/storage/volumes/var-cache/
directory is on the proxy, the less traffic will be between the proxy and the Uyuni Server. -
By making the
/var/lib/containers/storage/volumes/var-cache/
directory on the proxy the same size as/var/lib/containers/storage/volumes/var-spacewalk/
on the Uyuni Server, you avoid a large amount of traffic after the first synchronization. -
The
/var/lib/containers/storage/volumes/var-cache/
directory can be small on the Uyuni Server compared to the proxy. For a guide to size estimation, see the Server Requirements section.
3. Database Requirement
PostgreSQL is the only supported database. Using a remote PostgreSQL database or remote file systems (such as NFS) with the PostgreSQL database is not supported. In other words, PostgreSQL should be on the fastest available storage device for Uyuni.
Because of potential performance issues, running a PostgreSQL database remotely from Uyuni is discouraged. While such an environment is possible and even stable in many cases, there is always a risk of data loss if something goes wrong. |
4. Persistent Storage and Permissions
Persistent volumes are created by default when deploying the container.
However, it is recommended that the repositories and the database for Uyuni are stored on separate storage devices. Such a setup helps avoid data loss in production environments.
Storage devices must be set up prior to deploying the container. For more details, see Persistent Container Volumes.
Uyuni requires three different volumes:
-
Database volume:
/var/lib/containers/storage/volumes/var-pgsql
-
Channel volume:
/var/lib/containers/storage/volumes/var-spacewalk
-
Cache:
/var/lib/containers/storage/volumes/var-cache
We recommend you use XFS as the filesystem type for all volumes. Additionally, for on-premise installations, consider using logical volume management (LVM) to manage the disks. The size of the disk for repositories storage is dependent on the number of distributions and channels you intend to manage with Uyuni. See the tables in this section for guides to estimate the size required.
On the Uyuni Server, use this command to find all available storage devices:
hwinfo --disk | grep -E "Device File:"
Use the lsblk
command to see the name and size of each device.
Use the mgr-storage-server
command with the device names to set up the external disks as the locations for the database and repositories:
mgr-storage-server <channel_devicename> [<database_devicename>]
The external storage volumes are set up as XFS partitions mounted at /manager_storage
and /pgsql_storage
.
It is possible to use the same storage device for both channel data and the database.
This is not recommended, as growing channel repositories might fill up the storage, which poses a risk to database integrity.
Using separate storage devices may also increase performance.
If you want to use a single storage device, run mgr-storage-server
with a single device name parameter.
If you are installing a proxy, the mgr-storage-proxy
command only takes a single device name parameter and will set up the external storage location as the Squid cache.
When you create disk partitions for the Uyuni Server and Proxy, ensure you set the permissions correctly.
For /var/lib/containers/storage/volumes/var-pgsql
:
-
Owner: Read, Write, Execute
-
Group: Read, Execute
-
User: None
For /var/lib/containers/storage/volumes/var-spacewalk
:
-
Owner: Read, Write, Execute
-
Group: Read, Write, Execute
-
User: Read, Execute
Check the permissions with this command:
ls -l /var/lib/containers/storage/volumes/var-pgsql /var/lib/containers/storage/volumes/var-spacewalk
The output should look like this:
/var/lib/containers/storage/volumes/var-pgsql: total 0 drwxr-x--- 1 10556 10556 48 Apr 19 14:33 _data /var/lib/containers/storage/volumes/var-spacewalk: total 0 drwxr-xr-x 1 10552 root 30 Apr 19 14:34 _data
If required, change the permissions with these commands:
chmod 750 /var/lib/containers/storage/volumes/var-pgsql chmod 775 /var/lib/containers/storage/volumes/var-spacewalk
And owners with:
chown postgres:postgres /var/lib/containers/storage/volumes/var-pgsql chown wwwrun:www /var/lib/containers/storage/volumes/var-spacewalk