Appendix A. Using an NFS Share for Content Storage
Your environment requires adequate hard disk space to fulfill content storage. In some situations, it is useful to use an NFS share to store this content. This appendix shows how to mount the NFS share on your Satellite Server’s content management component.
Do not mount the full /var/lib/pulp
on an NFS share. Use high-bandwidth, low-latency storage for the /var/lib/pulp
file system. Red Hat Satellite has many I/O-intensive operations; therefore, high-latency, low-bandwidth storage might have issues with performance degradation. Only use the NFS share for the /var/lib/pulp/content
directory.
-
Create the NFS share. This example uses a share at
nfs.example.com:/satellite/content
. Ensure this share provides the appropriate permissions to Satellite Server and itsapache
user. Stop the
satellite-maintain
services on the Satellite host:Copy to Clipboard Copied! Toggle word wrap Toggle overflow satellite-maintain service stop
# satellite-maintain service stop
Ensure Satellite Server has the
nfs-utils
package installed:Copy to Clipboard Copied! Toggle word wrap Toggle overflow satellite-maintain packages install nfs-utils
# satellite-maintain packages install nfs-utils
You need to copy the existing contents of
/var/lib/pulp/content
to the NFS share. First, mount the NFS share to a temporary location:Copy to Clipboard Copied! Toggle word wrap Toggle overflow mkdir /mnt/temp mount -o rw nfs.example.com:/satellite/content /mnt/temp
# mkdir /mnt/temp # mount -o rw nfs.example.com:/satellite/content /mnt/temp
Copy the existing contents of
/var/lib/pulp/content
to the temporary location:Copy to Clipboard Copied! Toggle word wrap Toggle overflow cp -r /var/lib/pulp/content/* /mnt/temp/.
# cp -r /var/lib/pulp/content/* /mnt/temp/.
-
Set the permissions for all files on the share to use the
apache
user. This ID of this user is usually 48. Unmount the temporary storage location:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow umount /mnt/temp
# umount /mnt/temp
Remove the existing contents of
/var/lib/pulp/content
:Copy to Clipboard Copied! Toggle word wrap Toggle overflow rm -rf /var/lib/pulp/content/*
# rm -rf /var/lib/pulp/content/*
Edit the
/etc/fstab
file and add the following line:Copy to Clipboard Copied! Toggle word wrap Toggle overflow nfs.example.com:/satellite/content /var/lib/pulp/content nfs rw,hard,intr,context="system_u:object_r:httpd_sys_rw_content_t:s0"
nfs.example.com:/satellite/content /var/lib/pulp/content nfs rw,hard,intr,context="system_u:object_r:httpd_sys_rw_content_t:s0"
This makes the mount persistent across system reboots. Ensure to include the SELinux context.
Enable the mount:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow mount -a
# mount -a
Confirm the NFS share mounts to
var/lib/pulp/content
:Copy to Clipboard Copied! Toggle word wrap Toggle overflow df
# df Filesystem 1K-blocks Used Available Use% Mounted on ... nfs.example.com:/satellite/content 309506048 58632800 235128224 20% /var/lib/pulp/content ...
Also confirm that the existing content exists at the mount on
var/lib/pulp/content
:Copy to Clipboard Copied! Toggle word wrap Toggle overflow ls /var/lib/pulp/content
# ls /var/lib/pulp/content
Start the
satellite-maintain
services on the Satellite host:Copy to Clipboard Copied! Toggle word wrap Toggle overflow satellite-maintain service start
# satellite-maintain service start
Satellite Server now uses the NFS share to store content. Run a content synchronization to ensure the NFS share works as expected. For more information, see Section 5.2, “Content Synchronization Overview”.