1.3. Storage Guidelines
Consider the following guidelines when installing Satellite Server to increase efficiency.
-
If you mount the
/tmpdirectory as a separate file system, you must use theexecmount option in the/etc/fstabfile. If/tmpis already mounted with thenoexecoption, you must change the option toexecand re-mount the file system. This is a requirement for thepuppetserverservice to work. -
Because most Satellite Server data is stored in the
/vardirectory, mounting/varon LVM storage can help the system to scale. -
Using the same volume for the
/var/cache/pulp/and/var/lib/pulp/directories can decrease the time required to move content from/var/cache/pulp/to/var/lib/pulp/after synchronizing. -
The
/var/lib/qpidd/directory uses slightly more than 2 MB per Content Host managed by thegoferdservice. For example, 10 000 Content Hosts require 20 GB of disk space in/var/lib/qpidd/. -
Use high-bandwidth, low-latency storage for the
/var/lib/pulp/and/var/lib/mongodb/directories. As Red Hat Satellite has many operations that are I/O intensive, using high latency, low-bandwidth storage causes performance degradation. Ensure your installation has a speed in the range 60 - 80 Megabytes per second. You can use thefiotool to get this data. See the Red Hat Knowledgebase solution Impact of Disk Speed on Satellite Operations for more information on using thefiotool.
File System Guidelines
-
Use the XFS file system for Red Hat Satellite 6 because it does not have the inode limitations that
ext4does. Because Satellite Server uses a lot of symbolic links it is likely that your system might run out of inodes if usingext4and the default number of inodes. -
Do not use NFS with MongoDB because MongoDB does not use conventional I/O to access data files and performance problems occur when both the data files and the journal files are hosted on NFS. If required to use NFS, mount the volume with the following options in the
/etc/fstabfile:bg,nolock, andnoatime. - Do not use NFS for Pulp data storage. Using NFS for Pulp has a negative performance impact on content synchronization.
- Do not use the GFS2 file system as the input-output latency is too high.
Log File Storage
Log files are written to /var/log/messages/, /var/log/httpd/, and /var/lib/foreman-proxy/openscap/content/. You can manage the size of these files using logrotate. For more information, see Log Rotation in the Red Hat Enterprise Linux 7 System Administrator’s Guide.
The exact amount of storage you require for log messages depends on your installation and setup.
SELinux Considerations for NFS Mount
When the /var/lib/pulp directory is mounted using an NFS share, SELinux blocks the synchronization process. To avoid this, specify the SELinux context of the /var/lib/pulp directory in the file system table by adding the following lines to /etc/fstab:
nfs.example.com:/nfsshare /var/lib/pulp/content nfs context="system_u:object_r:httpd_sys_rw_content_t:s0" 1 2
nfs.example.com:/nfsshare /var/lib/pulp/content nfs context="system_u:object_r:httpd_sys_rw_content_t:s0" 1 2
If NFS share is already mounted, remount it using the above configuration and enter the following command:
chcon -R system_u:object_r:httpd_sys_rw_content_t:s0 /var/lib/pulp
# chcon -R system_u:object_r:httpd_sys_rw_content_t:s0 /var/lib/pulp
Duplicated Packages
Packages that are duplicated in different repositories are only stored once on the disk. Additional repositories containing duplicate packages require less additional storage. The bulk of storage resides in the /var/lib/mongodb/ and /var/lib/pulp/ directories. These end points are not manually configurable. Ensure that storage is available on the /var file system to prevent storage problems.
Temporary Storage
The /var/cache/pulp/ directory is used to temporarily store content while it is being synchronized. After a full synchronization task is completed, the content is moved to the /var/lib/pulp/ directory.
For content in RPM format, each RPM file is moved to the /var/lib/pulp directory after it is synchronized. A maximum of 5 RPM files are stored in the /var/cache/pulp/ directory at any time. Up to 8 RPM content synchronization tasks can run simultaneously by default, with each using up to 1 GB of metadata.
Software Collections
Software collections are installed in the /opt/rh/ and /opt/theforeman/ directories.
Write and execute permissions by the root user are required for installation to the /opt directory.
Symbolic links
You cannot use symbolic links for /var/lib/pulp/ and /var/lib/mongodb/.
ISO Images
For content in ISO format, all ISO files per synchronization task are stored in /var/cache/pulp/ until the task is complete, after which they are moved to the /var/lib/pulp/ directory.
If you plan to use ISO images for installing or updating, you must provide external storage or allow space in /var/tmp for temporarily storing ISO files.
For example, if you are synchronizing four ISO files, each 4 GB in size, this requires a total of 16 GB in the /var/cache/pulp/ directory. Consider the number of ISO files you intend synchronizing because the temporary disk space required for them typically exceeds that of RPM content.