1.4. Prerequisites
Important
1.4.1. Base Operating System
Important
#subscription-manager register#subscription-manager list --available --all#subscription-manager subscribe --pool=Red_Hat_Enterprise_Linux_Pool_Id
Important
- Red Hat Satellite Server requires Red Hat Enterprise Linux installations with the @Base package group with no other package-set modifications, and without third-party configurations or software that is not directly necessary for the direct operation of the server. This restriction includes hardening or other non-Red Hat security software. If such software is required in your infrastructure, install and verify a complete working Satellite Server first, then create a backup of the system before adding any non-Red Hat software.
- Your subscription-manager 'Release' field must be set to 6Server or 7Server in order to receive the latest version of Red Hat Enterprise Linux and Red Hat Satellite during the installation. Set the field by using the command:
# subscription-manager release --set=Release
Only release versions 6Server and 7Server are supported by Red Hat Satellite. - Update the system to the latest set of packages in Red Hat Enterprise Linux after setting the release:
#
yum update - Red Hat recommends that the Satellite Server be a freshly provisioned system that serves no other function except as a Satellite Server.
- Red Hat Satellite requires a networked base system with the following minimum specifications:
- 64-bit architecture
- The latest version of Red Hat Enterprise Linux 6 Server or 7 Server
- A minimum of two CPU cores, but four CPU cores are recommended.
- A minimum of 12 GB memory but ideally 16 GB of memory for each instance of Satellite. A minimum of 4 GB of swap space is recommended.
- A unique hostname. The hostname can contain lower-case letters, numbers, dots (.) and hyphens (-).
- No Java virtual machine installed on the system, remove any if they exist.
- No Puppet RPM files installed on the system.
- No third-party unsupported yum repositories enabled. Third-party repositories may offer conflicting or unsupported package versions that may cause installation or configuration errors.
- A current Red Hat Network subscription.
- Administrative user (
root) access. - Full forward and reverse DNS resolution using a fully qualified domain name. Ensure that
hostnameandlocalhostresolve correctly, using the following commands:# ping -c1 localhost # ping -c1 `hostname -f` # my_system.domain.com
Important
1.4.2. Supported Browsers
- Level 1: Fully supported preferred browsers for ideal experience.
- Level 2: Mostly supported. The interface functions but some design elements may not align correctly, UI controls and layout may be misaligned and there maybe degraded performance experienced.
- Level 3: Design elements may not align correctly.
- Level 4: Unsupported
Table 1.1. Supported Browser Matrix
| Browser | Version | Support Level |
|---|---|---|
| Firefox | 3.6 | L3 |
| Firefox | 17, 18, 19, 20 | L4 |
| Firefox | 21 | L2 |
| Firefox | 22, 23, 24 | L1 |
| Firefox | Latest | L1 |
| Chrome | 19, 20 | L4 |
| Chrome | 21, 27 | L2 |
| Chrome | Latest | L1 |
| Internet Explorer | 7, 8 | L4 |
| Internet Explorer | 9, 10, 11 | L2 |
| Safari | ALL | L4 |
Note
1.4.3. Storage
- A minimum of 6 GB storage for base operating system installation of Red Hat Enterprise Linux.
- A minimum of 400 MB storage for the Red Hat Satellite 6 software installation.
- A minimum of 20 GB storage for each unique software repository. Packages that are duplicated in different repositories are only stored once on the disk. Additional repositories containing duplicate packages will require less additional storage. The bulk of storage resides on the
/var/lib/mongodband/var/lib/pulpdirectories. These end points are not manually configurable. Make sure that storage is available on the/varfile system to prevent storage issues. - A minimum of 2 GB of available storage in
/var/lib/pgsqlwith the ability to grow the partition containing this directory as data storage requirements grow. - If you are using a disconnected installation, a copy of the repositories used in the installation are stored in the
/opt/directory. Ensure you have a minimum of 2GB of space for this file system and directory.
Note
Note
Table 1.2. Recommended Storage Considerations
| Directory | Installation Size Requirement | Runtime Requirement with Red Hat Enterprise Linux 5/6/7 synchronized |
|---|---|---|
| /var/lib/pulp | 1 MB | 200 GB |
| /var/lib/mongodb | 3.5 GB | 15 GB |
| /var/log | 10 MB | 100 MB |
| /var/lib/pgsql | 100 MB | 250 MB |
Important
1.4.4. Application Specifications
ntpd service and have it persist across restarts:
# service ntpd start # chkconfig ntpd on
chronyd service and have it persist across restarts:
# systemctl start chronyd # systemctl enable chronyd
1.4.5. Network Ports Required for Satellite Communications
Table 1.3. Ports for Browser-based User Interface Access to Satellite
| Port | Protocol | Service | Required for |
|---|---|---|---|
| 443 | TCP | HTTPS | For Browser-based UI Access to Satellite |
| Optional | |||
| 80 | TCP | HTTP | To enable redirection to HTTPS for web UI Access to Satellite |
Table 1.4. Ports for Satellite to Red Hat CDN Communication
| Port | Protocol | Service | Required for |
|---|---|---|---|
| 443 | TCP | HTTPS | Subscription Management Services, connecting to the Red Hat CDN |
Table 1.5. Ports for Client to Satellite Communication
| Port | Protocol | Service | Required for |
|---|---|---|---|
| 53 | TCP and UDP | DNS | Queries to the Satellite's integrated DNS service |
| 67 | UDP | DHCP | For Client provisioning from the integrated Capsule |
| 69 | UDP | TFTP | Downloading PXE boot image files from the integrated Capsule |
| 80 | TCP | HTTP | Anaconda, yum, for obtaining Katello certificates, templates, and for downloading iPXE firmware |
| 443 | TCP | HTTPS | Subscription Management Services, yum, Telemetry Services, and for connection to the Katello Agent |
| 5647 | TCP | amqp | The Katello agent to communicate with the Satellite's Qpid dispatch router |
| 8140 | TCP | HTTPS | Puppet agent to Puppet master connections |
Table 1.6. Optional Network Ports
| Port | Protocol | Service | Required for |
|---|---|---|---|
| 8443 | TCP | HTTP | Capsule to Client "reboot" command to a discovered host during provisioning |
| 7911 | TCP | DHCP | Capsule originated, for orchestration of DHCP records (local or external)[a] |
| 5000 | TCP | HTTP | Satellite originated, for compute resources in OpenStack or for running Docker containers |
| 22, 16514 | TCP | SSH/TLS | Satellite originated, for compute resources in libvirt |
| 389, 636 | TCP | SSH/TLS | Satellite originated, for LDAP and secured LDAP authentication sources |
| from 5910 to 5930 | TCP | SSH/TLS | Satellite originated, for NoVNC console in Web UI to hypervisors |
[a]
If the DHCP service is provided by an external service, opening this port is required on the external server.
| |||
Note
Note
Connections from Client to Satellite
- On a Red Hat Enterprise Linux 6 Satellite, execute as
root:#
iptables -A INPUT -m state --state NEW -p udp --dport 53 -j ACCEPT \&& iptables -A INPUT -m state --state NEW -p tcp --dport 53 -j ACCEPT \&& iptables -A INPUT -m state --state NEW -p udp --dport 67 -j ACCEPT \&& iptables -A INPUT -m state --state NEW -p udp --dport 69 -j ACCEPT \&& iptables -A INPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT \&& iptables -A INPUT -m state --state NEW -p tcp --dport 443 -j ACCEPT \&& iptables -A INPUT -m state --state NEW -p tcp --dport 5647 -j ACCEPT \&& iptables -A INPUT -m state --state NEW -p tcp --dport 8140 -j ACCEPT \&& service iptables saveMake sure theiptablesservice is started and enabled:#
service iptables start#chkconfig iptables on - On a Red Hat Enterprise Linux 7 Satellite, execute as
root:#
firewall-cmd --add-port="53/udp" --add-port="53/tcp" \--add-port="67/udp" \--add-port="69/udp" --add-port="80/tcp" \--add-port="443/tcp" --add-port="5647/tcp" \--add-port="8140/tcp" \&& firewall-cmd --permanent --add-port="53/udp" --add-port="53/tcp" \--add-port="67/udp" \--add-port="69/udp" --add-port="80/tcp" \--add-port="443/tcp" --add-port="5647/tcp" \--add-port="8140/tcp"
1.4.6. SELinux Policy on Satellite 6
Note
Table 1.7. SELinux Commands to Change Default Port Assignments
| Default Port | SELinux Command |
|---|---|
| 80, 443, 8443 | semanage port -a -t http_port_t -p tcp 99999 |
| 8080 | semanage port -a -t http_cache_port_t -p tcp 99999 |
| 8140 | semanage port -a -t puppet_port_t -p tcp 99999 |
| 9090 | semanage port -a -t websm_port_t -p tcp 99999 |
| 69 | semanage port -a -t tftp_port_t -p udp 99999 |
| 53 (TCP) | semanage port -a -t dns_port_t -p tcp 99999 |
| 53 (UDP) | semanage port -a -t dns_port_t -p udp 99999 |
| 67, 68 | semanage port -a -t dhcpd_port_t -p udp 99999 |
| 5671 | semanage port -a -t amqp_port_t -p tcp 99999 |
| 8000 | semanage port -a -t soundd_port_t -p tcp 99999 |
| 7911 | semanage port -a -t dhcpd_port_t -p tcp 99999 |
| 5000 on Red Hat Enterprise Linux 6 | semanage port -a -t commplex_port_t -p tcp 99999 |
| 5000 on Red Hat Enterprise Linux 7 | semanage port -a -t commplex_main_port_t -p tcp 99999 |
| 22 | semanage port -a -t ssh_port_t -p tcp 99999 |
| 16514 (libvirt) | semanage port -a -t virt_port_t -p tcp 99999 |
| 389, 636 | semanage port -a -t ldap_port_t -p tcp 99999 |
| 5910 to 5930 | semanage port -a -t vnc_port_t -p tcp 99999 |
httpd server, you need to add this port to the virt_port_t SELinux type, as follows:
# semanage port -a -t virt_port_t -p tcp 99999
Important
# foreman-selinux-enable # foreman-selinux-relabel
semanage command if you need to disassociate the previously used port number and port type. For example:
# semanage port -d -t virt_port_t -p tcp 99999
1.4.7. Considerations for Large Deployments
qpidd message broker can reach several system-level limits, resulting in Satellite's failure to operate. To avoid this, one or more of these limits must be increased before deploying a large number of content hosts.
Table 1.8. Limits to be Increased for Large Deployments
| Number of Content Hosts | Client Connections | File Descriptors | Parallel Asynchronous I/O Operations | Concurrent Locks | Memory Map Areas |
|---|---|---|---|---|---|
| More than 225 | ✔ | ||||
| More than 500 | ✔ | ✔ | |||
| More than 1900 | ✔ | ✔ | ✔ | ||
| More than 30,000 | ✔ | ✔ | ✔ | ✔ | |
| More than 32,900 | ✔ | ✔ | ✔ | ✔ | ✔ |
Increasing the Maximum Number of Client Connections
qpidd reaches the maximum number of client connections. To increase it, first establish the new value of the limit that is calculated as:
(number_of_content_hosts x 2) + 100
/etc/qpid/qpidd.conf:
max-connections=value
Increasing the Maximum Number of File Descriptors
qpidd reaches the maximum number of file descriptors. To increase it, first establish the new value of the limit that is calculated as:
(number_of_content_hosts x 4) + 500
- On Red Hat Enterprise Linux 6, add the following line to
/etc/security/limits.conf:qpidd x nofile value
- On Red Hat Enterprise Linux 7, add the following line to
/usr/lib/systemd/system/qpidd.serviceat the end of the [Service] section:LimitNOFILE=value
Increasing the Maximum Number of Parallel Asynchronous I/O Operations
qpidd reaches the kernel limit of maximum parallel asynchronous I/O operations. To increase it, first establish the new value of the limit that is calculated as:
33 x number_of_content_hosts
/etc/sysctl.conf:
fs.aio-max-nr=value
# sysctl -p
Increasing the Maximum Number of Concurrent Locks
qpidd might reach the maximum number of concurrent locks. To increase this limit, create a configuration file in the directory where the exchanges.db file is stored. The directory location can vary. Confirm its location by searching the /var/lib/qpidd/ directory:
# find /var/lib/qpidd -name exchanges.db /var/lib/qpidd/qls/dat/exchanges.db
exchanges.db is stored in the /var/lib/qpidd/qls/dat/ directory. In this directory, create a DB_CONFIG file that must be owned and readable by the qpidd user. Add the following content to DB_CONFIG:
set_lk_max_locks 10000 set_lk_max_objects 10000
Increasing the Maximum Number of Memory Map Areas
qpidd reaches the kernel limit of maximum number of memory map areas per process. This problem occurs only on Red Hat Enterprise Linux 7.
/etc/sysctl.conf:
vm.max_map_count = 655300
# sysctl -p
Important
qpidd to apply any changes to the aforementioned limits:
- On Red Hat Enterprise Linux 6:
# service qpidd restart
- On Red Hat Enterprise Linux 7:
# systemctl restart qpidd
1.4.8. Troubleshooting
sosreport command that collects configuration and diagnostic information from a Red Hat Enterprise Linux system and is used to provide the initial analysis of a system required when opening a service request with Red Hat Technical Support. For more information on using sosreport, refer to the What is a sosreport and how to create one in Red Hat Enterprise Linux 4.6 and later? article on Red Hat Customer Portal[5].
# yum install sos

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.