2.3. General Database Requirements

The following section contains database requirements applicable to all installation scenarios.

2.3.1. Database Sizing

A single 12 GB tablespace is recommended for most installations, although many customers will find it possible to function with a smaller tablespace. Use the following formula to determine the required size of your database:
  • 250 KiB per client system
  • 500 KiB per channel, plus 230 KiB per package in the channel (so a channel with 5000 packages would require 1.1 Gib)
For example, a Red Hat Satellite serving 10,000 systems with four channels each containing 12,000 packages would require 2.5 GiB for its clients and 11 GiB for its channels. If establishing custom channels for testing and staging of packages, include them in this formula.
Keep in mind that the database storage needs may grow rapidly, depending upon the variance of the following factors:
  • The number of public Red Hat packages imported (typical: 5000)
  • The number of private packages to be managed (typical: 500)
  • The number of systems to be managed (typical: 1000)
  • The number of packages installed on the average system (typical: 500)
Be generous in database sizing estimates but also consider that size affects the time to conduct backups and adds load to other system resources. If the database is shared, hardware and spacing are entirely dependent on what else is using it.
Ensure block sizes are a minimum of 8 KB for Red Hat Satellite to install properly.
Ensure also the partition containing /var/opt/rh/rh-postgresql95/lib/pgsql/data contains an amount of free space equal to the tablespace size. This free space is used for the db-control restore command. For example, ensure 12 GB of free space exists for a 12 GB tablespace.

Important

Due to an updated version of the PostgreSQL Embedded Database, the database location has changed to /var/opt/rh/rh-postgresql95/lib/pgsql/data in Red Hat Satellite 5.8. Make sure to allocate enough hard disk space to this location.

2.3.2. Database Partitioning

A mounted database partition provides various benefits such as scaling storage to accomodate a growing database, easy backup and transfer through replication, and encryption for added security.
To set up a database partition mount point, follow this procedure prior to installation.

Procedure 2.1. Creating and Mounting a Database Partition

  1. Log in to the database server as root. For Embedded Databases, this is the same server as the Red Hat Satellite.
  2. Create the postgres user.
    # useradd -d /var/lib/pgsql -M -r -s /bin/bash -U postgres
    
  3. Add the mount point in /etc/fstab. For example:
    UUID="xxxxxxxx-xxxx-xxxx" /var/opt/rh/rh-postgresql95/lib/pgsql/data  ext4  defaults  0 0
    

    Important

    Red Hat does not support storing the database on a network filesystem.
  4. Mount the partition to /var/opt/rh/rh-postgresql95/lib/pgsql/data and change ownership to postgres:postgres:
    # mkdir -p /var/opt/rh/rh-postgresql95/lib/pgsql/data
    # mount /var/opt/rh/rh-postgresql95/lib/pgsql/data
    # chown postgres:postgres /var/opt/rh/rh-postgresql95/lib/pgsql/data
    # chmod 700 /var/opt/rh/rh-postgresql95/lib/pgsql/data
    # restorecon -Rv /var/opt/rh/rh-postgresql95/lib/pgsql/data
    
The Red Hat Satellite Installation Script will install the database to the partition mounted at /var/opt/rh/rh-postgresql95/lib/pgsql/data.

Important

Due to an updated version of the PostgreSQL Embedded Database, the database location has changed to /var/opt/rh/rh-postgresql95/lib/pgsql/data in Red Hat Satellite 5.8. Make sure to allocate enough hard disk space to this location.