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
- Log in to the database server as
root
. For Embedded Databases, this is the same server as the Red Hat Satellite. - Create the
postgres
user.# useradd -d /var/lib/pgsql -M -r -s /bin/bash -U postgres
- 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. - Mount the partition to
/var/opt/rh/rh-postgresql95/lib/pgsql/data
and change ownership topostgres: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.