Grooms¶
On this page
This page lists active and recent groom jobs.
Groom jobs remove unused blocks in blockstores and S3 blockstores to reclaim storage space.
If no existing snapshots reference a given block, Ops Manager considers the block unused or dead. Ops Manager grooms blockstores after the snapshot drops below the threshold of living bytes. Ops Manager runs groom jobs at the following minimum intervals:
Blockstore Location | Minimum Groom Interval |
---|---|
MongoDB | One time per year |
S3 | One time every two weeks |
How Groom Jobs Work¶
Groom job differ based on the snapshot store.
File Size Changes during Grooming
During grooming operations, you may notice that the file sizes of blockstores and S3 snapshot stores fluctuate, sometimes dramatically. This is normal during these operations.
Intra-Blockstore Groom Job¶
An intra-blockstore groom job performs the following tasks:
Writes all new blocks for ongoing snapshots to a new target location on the blockstore.
Copies all existing living blocks from the source location to the new target location in the same blockstore.
This means two copies of the living blocks exist on the blockstore at the same time. This impacts storage usage.
Updates references to maintain data relationships.
Drops the source database.
Inter-Blockstore Groom Job¶
An inter-blockstore groom job performs the following tasks:
- Writes all new blocks for ongoing snapshots to a different target blockstore.
- Copies all existing living blocks from the source blockstore to the new target blockstore.
- Updates references to maintain data relationships.
- Drops the database from the source blockstore.
File System Groom Job¶
A File System Groom Job deletes the database files from the file system.
S3 Groom Job¶
An S3 blockstore groom job performs the following tasks:
- Writes all new blocks for ongoing snapshots to temporary database
- Sends a delete request for dead blocks in source database
- Resumes writing new blocks for ongoing snapshots to source database
- Copies over new blocks from the temporary database back to the source database.
What Triggers a Groom Job¶
Ops Manager triggers groom jobs when:
- the percentage of living bytes drops below a given threshold and
- the number of dead bytes reaches a minimum value.
When grooming, Ops Manager removes all the dead bytes.
Blockstore Type | Percentage of Living to Total Bytes | Minimum Number of Dead Bytes |
---|---|---|
S3 | 75% | 0 |
MongoDB | 45% | 2 GB |
You can start a groom from the Grooms Priority admin page.
Note
Ops Manager limits a project’s Tracking and Groom Jobs to the Backup Daemons set in the project’s Backup Configuration.