Hardware Requirements

This table outlines hardware and software requirements for the SUSE Manager Server and Proxy, on x86-64, ARM and s390x architecture.

For SUSE Manager for Retail hardware requirements, see Retail Requirements.

1. Server Requirements

By default the SUSE Manager 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.

Table 1. Server Hardware Requirements
Hardware Details Recommendation

CPU

x86-64, ARM, s390x

Minimum 4 dedicated 64-bit CPU cores

RAM

Minimum

16 GB

Recommended

32 GB

Disk Space

/ (root directory)

Minimum 40 GB

/var/lib/containers/storage/volumes/var-pgsql

Minimum 50 GB

/var/lib/containers/storage/volumes/var-spacewalk

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

/var/lib/containers/storage/volumes/var-cache

Minimum 10 GB. Add 100 MB per SUSE product, 1 GB per Red Hat or other product. Double the space if the server is an ISS Master.

SUSE Manager 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 SUSE Manager 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

Table 2. Proxy Hardware Requirements
Hardware Details Recommendation

CPU

x86-64, ARM

Minimum 2 dedicated 64-bit CPU cores

RAM

Minimum

2 GB

Recommended

8 GB

Disk Space

/ (root directory)

Minimum 40 GB

/var/lib/containers/storage/volumes/srv-www

Minimum 100 GB

* Storage requirments should be calculated for the number of ISO distribution images, containers, and bootstrap repositories you will use.

/var/lib/containers/storage/volumes/var-cache (Squid)

Minimum 100 GB

By default the SUSE Manager 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 SUSE Manager 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 SUSE Manager 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 SUSE Manager 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 SUSE Manager.

Because of potential performance issues, running a PostgreSQL database remotely from SUSE Manager 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.

SUSE might not be able to provide assistance in such cases.

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 SUSE Manager 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.

SUSE Manager 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 SUSE Manager. See the tables in this section for guides to estimate the size required.

On the SUSE Manager 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 suma-storage command with the device names to set up the external disks as the locations for the database and repositories:

suma-storage <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 suma-storage with a single device name parameter.

If you are installing a proxy, the suma-storage 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 SUSE Manager 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