Chapter 14. Maintaining Satellite Server
This chapter provides information on how to maintain Satellite Server, including information on how to recover Pulp from a full disk, how to work with audit records, and how to clean unused tasks.
14.1. Deleting audit records manually Copy linkLink copied to clipboard!
You can use the foreman-rake audits:expire
command to remove audit records at any time.
Procedure
Delete the audit records using the
foreman-rake audits:expire
command:foreman-rake audits:expire days=Number_Of_Days
# foreman-rake audits:expire days=Number_Of_Days
Copy to Clipboard Copied! Toggle word wrap Toggle overflow This command deletes all audit records older than
Number_Of_Days
.
14.2. Deleting audit records automatically Copy linkLink copied to clipboard!
You can automatically delete audit records using the Saved audits interval
setting. This setting is empty by default, meaning Satellite does not automatically delete the audit records.
Procedure
- In the Satellite web UI, navigate to Administer > Settings.
- On the General tab, find the Saved audits interval setting.
- Set the value of the setting to the number of days after which you want Satellite to delete the audit records.
14.3. Anonymizing audit records Copy linkLink copied to clipboard!
You can use the foreman-rake audits:anonymize
command to remove any user account or IP information while maintaining the audit records in the database. You can also use a cron job to schedule anonymizing the audit records at the set interval that you want.
By default, using the foreman-rake audits:anonymize
command anonymizes audit records that are older than 90 days. You can specify the number of days to keep the audit records by adding the days option and add the number of days.
For example, if you want to anonymize audit records that are older than seven days, enter the following command:
foreman-rake audits:anonymize days=7
# foreman-rake audits:anonymize days=7
14.4. Deleting report records Copy linkLink copied to clipboard!
Report records are created automatically in Satellite. You can use the foreman-rake reports:expire
command to remove reports at any time. You can also use a cron job to schedule report record deletions at the set interval that you want.
By default, using the foreman-rake reports:expire
command removes report records that are older than 90 days. You can specify the number of days to keep the report records by adding the days option and add the number of days.
For example, if you want to delete report records that are older than seven days, enter the following command:
foreman-rake reports:expire days=7
# foreman-rake reports:expire days=7
14.5. Configuring the cleaning unused tasks feature Copy linkLink copied to clipboard!
Satellite performs regular cleaning to reduce disc space in the database and limit the rate of disk growth. As a result, Satellite backup completes faster and overall performance is higher.
By default, Satellite executes a cron job that cleans tasks every day at 19:45. Satellite removes the following tasks during the cleaning:
- Tasks that have run successfully and are older than thirty days
- All tasks that are older than a year
You can configure the cleaning unused tasks feature using these options:
To configure the time at which Satellite runs the cron job, set the
--foreman-plugin-tasks-cron-line
parameter to the time you want in cron format. For example, to schedule the cron job to run every day at 15:00, enter the following command:satellite-installer --foreman-plugin-tasks-cron-line "00 15 * * *"
# satellite-installer --foreman-plugin-tasks-cron-line "00 15 * * *"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
To configure the period after which Satellite deletes the tasks, edit the
:rules:
section in the/etc/foreman/plugins/foreman-tasks.yaml
file. To disable regular task cleanup on Satellite, enter the following command:
satellite-installer --foreman-plugin-tasks-automatic-cleanup false
# satellite-installer --foreman-plugin-tasks-automatic-cleanup false
Copy to Clipboard Copied! Toggle word wrap Toggle overflow To reenable regular task cleanup on Satellite, enter the following command:
satellite-installer --foreman-plugin-tasks-automatic-cleanup true
# satellite-installer --foreman-plugin-tasks-automatic-cleanup true
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
14.6. Deleting task records Copy linkLink copied to clipboard!
Task records are created automatically in Satellite. You can use the foreman-rake foreman_tasks:cleanup
command to remove tasks at any time. You can also use a cron job to schedule Task record deletions at the set interval that you want.
For example, if you want to delete task records from successful repository synchronizations, enter the following command:
foreman-rake foreman_tasks:cleanup TASK_SEARCH='label = Actions::Katello::Repository::Sync' STATES='stopped'
# foreman-rake foreman_tasks:cleanup TASK_SEARCH='label = Actions::Katello::Repository::Sync' STATES='stopped'
14.7. Deleting a task by ID Copy linkLink copied to clipboard!
You can delete tasks by ID, for example if you have submitted confidential data by mistake.
Procedure
Connect to your Satellite Server using SSH:
ssh root@satellite.example.com
# ssh root@satellite.example.com
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Optional: View the task:
hammer task info --id My_Task_ID
$ hammer task info --id My_Task_ID
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Delete the task:
foreman-rake foreman_tasks:cleanup TASK_SEARCH="id=My_Task_ID"
# foreman-rake foreman_tasks:cleanup TASK_SEARCH="id=My_Task_ID"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Optional: Ensure the task has been removed from Satellite Server:
hammer task info --id My_Task_ID
$ hammer task info --id My_Task_ID
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Note that because the task is deleted, this command returns a non-zero exit code.
14.8. Recovering from a full disk Copy linkLink copied to clipboard!
The following procedure describes how to resolve the situation when a logical volume (LV) with the Pulp database on it has no free space.
Procedure
- Let running Pulp tasks finish but do not trigger any new ones as they can fail due to the full disk.
Ensure that the LV with the
/var/lib/pulp
directory on it has sufficient free space. Here are some ways to achieve that:Remove orphaned content:
foreman-rake katello:delete_orphaned_content RAILS_ENV=production
# foreman-rake katello:delete_orphaned_content RAILS_ENV=production
Copy to Clipboard Copied! Toggle word wrap Toggle overflow This is run weekly so it will not free much space.
- Change the download policy from Immediate to On Demand for as many repositories as possible and remove already downloaded packages. See the Red Hat Knowledgebase solution How to change syncing policy for Repositories on Satellite from "Immediate" to "On-Demand" on the Red Hat Customer Portal for instructions.
Grow the file system on the LV with the
/var/lib/pulp
directory on it. For more information, see Growing a logical volume and file system in Red Hat Enterprise Linux 9 Configuring and managing logical volumes.NoteIf you use an untypical file system (other than for example ext3, ext4, or xfs), you might need to unmount the file system so that it is not in use. In that case, complete the following steps:
Stop Satellite services:
satellite-maintain service stop
# satellite-maintain service stop
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Grow the file system on the LV.
Start Satellite services:
satellite-maintain service start
# satellite-maintain service start
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- If some Pulp tasks failed due to the full disk, run them again.
14.9. Reclaiming PostgreSQL space Copy linkLink copied to clipboard!
The PostgreSQL database can use a large amount of disk space especially in heavily loaded deployments. Use this procedure to reclaim some of this disk space on Satellite.
Procedure
Stop all services, except for the
postgresql
service:satellite-maintain service stop --exclude postgresql
# satellite-maintain service stop --exclude postgresql
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Switch to the
postgres
user and reclaim space on the database:su - postgres -c 'vacuumdb --full --all'
# su - postgres -c 'vacuumdb --full --all'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Start the other services when the vacuum completes:
satellite-maintain service start
# satellite-maintain service start
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
14.10. Reclaiming space from on demand repositories Copy linkLink copied to clipboard!
If you set the download policy to on demand, Satellite downloads packages only when the clients request them. You can clean up these packages to reclaim space.
Space reclamation requires an existing repository. For deleted repositories, wait for the next scheduled orphan cleanup or remove orphaned content manually:
foreman-rake katello:delete_orphaned_content
# foreman-rake katello:delete_orphaned_content
For a single repository
- In the Satellite web UI, navigate to Content > Products.
- Select a product.
- On the Repositories tab, click the repository name.
- From the Select Actions list, select Reclaim Space.
For multiple repositories
- In the Satellite web UI, navigate to Content > Products.
- Select the product name.
- On the Repositories tab, select the checkbox of the repositories.
- Click Reclaim Space at the top right corner.
For Capsules
- In the Satellite web UI, navigate to Infrastructure > Capsules.
- Select the Capsule Server.
- Click Reclaim space.