Public Cloud Requirements

You can run Uyuni Server on a public cloud instance from a third-party provider such as Amazon EC2, or Microsoft Azure.

This section details the requirements for using Uyuni on a public cloud instance.

Public clouds provide Uyuni under a Bring Your Own Subscription (BYOS) model. This means that you must register instances with the SUSE Customer Center. For more information about registering Uyuni with SUSE Customer Center, see General Requirements.

Depending on the public cloud framework you are using, you can locate the Uyuni images by searching for the keywords suse, manager, proxy, or BYOS.

Instance Requirements

Select a public cloud instance type that meets the hardware requirements in Hardware Requirements.

Before you begin, here are some other considerations:

  • The Uyuni setup procedure performs a forward-confirmed reverse DNS lookup. This must succeed in order for the setup procedure to complete and for Uyuni to operate as expected. It is important to perform hostname and IP configuration before you set up Uyuni.

  • Uyuni Server and Proxy instances need to run in a network configuration that provides you control over DNS entries, but cannot be accessed from the internet at large.

  • Within this network configuration DNS resolution must be provided: hostname -f must return the fully-qualified domain name (FQDN).

  • DNS resolution is also important for connecting clients.

  • DNS is dependent on the cloud framework you choose. Refer to the cloud provider documentation for detailed instructions.

  • We recommend that you locate software repositories, the server database, and the proxy squid cache on an external virtual disk. This prevents data loss if the instance is unexpectedly terminated. This section includes instructions for setting up an external virtual disk.

If you are attempting to bootstrap traditional clients, check that you can resolve the host name of the server while you are logged in to the client. You might need to add the FQDN of the server to /etc/hosts local resolution file on the client. Check using the hostname -f command with the local IP address of the server.

Network Requirements

When you use Uyuni on a public cloud, you must use a restricted network. We recommend using a VPC private subnet with an appropriate firewall setting. Only machines in your specified IP ranges must be able to access the instance.

When you run Uyuni on public clouds, you must apply security measures to limit access to the instance. A world-accessible Uyuni instance violates the terms of the Uyuni EULA, and is not supported by SUSE.

To access the Uyuni Web UI, allow HTTPS when configuring the network access controls.

Separate Storage Volumes

We recommend that the repositories and the database for Uyuni are stored on separate storage devices. This will help to avoid data loss in cases when the Uyuni instance is terminated. You must set up the storage devices before you run the YaST Uyuni setup procedure.

Provision two disk devices in the public cloud environment, according the cloud provider’s documentation. The size of the disk for repositories storage is dependent on the number of distributions and channels you intend to manage with Uyuni. For recommended minimum sizes for the database volume (/var/lig/pgsql) and channel volume (/var/lib/spacewalk), see Hardware Requirements.

When you attach the virtual disks, they will appear in your instance as Unix device nodes. The names of the device nodes will vary depending on your provider, and the instance type selected.

On your 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. Choose the name that matches with the size of the virtual disk you are looking for.

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