10.2 Scrubbing to Control VOB Storage Growth

The first step in managing the growth of VOB storage is to understand the scrubber and configure each VOB's pools to be scrubbed in a way that is appropriate to the growth and access patterns of the VOB. Several basic rules the govern use of the scrubber:

In the default configuration, the scrubber runs nightly as part of a scheduled task managed by the ClearCase LT schedule service. You can also run it manually.

ClearCase LT also includes a vob_scrubber utility that can remove unneeded metadata from the VOB database itself.

Scrubbing VOB Storage Pools

Storage pools are scrubbed by the scrubber utility. Each cleartext storage pool has its own scrubbing parameters, which are set when ClearCase LT is installed.

Scrubbing VOB Databases

Almost every change to a VOB is recorded in the VOB database as an event record. Some event records have permanent value, such as those for the creation of elements and versions. Others may not be useful to your organization or may lose their value as time passes. (For example, you probably don't care about the removal of an unneeded or obsolete version label.)

Each ClearCase LT server has a scrubber configuration file, ccase-home-dir\config\vob\vob_scrubber_params, which controls vob_scrubber operation for all VOBs. If you need more control over scrubbing schedules, you can create a scrubber parameters file for each VOB. This file is also named vob_scrubber_params, but it is located in the VOB storage directory. See the vob_scrubber reference page for more information.

NOTE: Deleting event records and other metadata from the VOB database, using the vob_scrubber or any other mechanism (rmver, rmelem, relocate, and so on) increases the amount of free space within these files so that they can accommodate newly created event records, but does not reduce the disk space used by the VOB database. A regularly scrubbed VOB database grows slowly and should not require further intervention to keep growth under control. However, if you must occasionally force a reduction in the size of a VOB database, scrub it, and then run the reformatvob command.

Adjusting Default Scrubbing Parameters

Typical motivations for adjusting a VOB host's default procedures for storage pool scrubbing include:

You may need to experiment. For example, adjusting scrubbing to take place less frequently may cause disk-space problems that you had not previously experienced. Before making any scrubbing adjustments on a VOB host, be sure to analyze its scrubber_log file. The scrubber reference page explains how to read this file.

NOTE: If you use a Windows backup tool that changes the time stamps in VOB storage directories, the DO and cleartext pools in those directories may never be scrubbed. The scrubber command, by default, scrubs objects that have not been referenced for the last 96 hours. If such a backup tool runs every night, the access time on objects in the pools is reset every night and the objects are never scrubbed.

The following sections present some simple examples of adjusting the way VOB storage pools are scrubbed.

Scrubbing Derived Objects More Often

By default, scrubber allows data containers of unreferenced derived objects to remain in their storage pools for 4 days (96 hours). If DOs are filling up a VOB's disk partition, you can shorten this grace period. This command empties a VOB's default DO storage pool (ddft) of unneeded data containers every 24 hours:

cleartool mkpool -update -age 24 ddft@vob-tag
Updated pool "ddft".

Fine-Tuning Derived Object Scrubbing

Suppose that the adjustment in the grace period is not enough to keep the disk partition from filling up. You may decide to run the scrubber utility more often: during the work day as well as overnight. To minimize the impact on users during the work day, you can pinpoint the scrubbing-perhaps to the DOs created in a particular directory. This example shows the UNIX command line syntax for moving a DO pool and scrubbing it more often:

  1. Determine the directory's current DO storage pool assignment. You will need to clean up this storage pool.

  2. cd /vobs/proj
    cleartool describe -long reorg@@
    directory element "reorg@@":
    .
    .
    ... derived pool: ddft

    This directory uses the default DO pool.

  3. Assign the directory to a separate storage pool. This assignment enables finer control of scrubbing, which can be invoked on a per-pool basis:

  4. cd /vobs/proj
    cleartool mkpool -derived new_do_pool
    Comments for "new_do_pool":
    pool for DOs created in /vobs/proj/reorg
    .
    Created pool "new_do_pool".
    cleartool chpool new_do_pool reorg
    Changed pool for "reorg" to "new_do_pool".

  5. Determine the location of the VOB storage directory. You'll need the pathname of the VOB's storage directory for scrubber. Use lsvob to determine the pathname:

  6. cleartool lsvob /vobs/proj
    * /vobs/proj /net/ccsvr03/vobstore/proj.vbs

  7. Scrub the new storage pool thoroughly and often. There are many ways to accomplish this. You can create a new task for the ClearCase LT scheduler that invokes the scrubber utility for your new pool:

  8. "$ATRIAHOME/etc/scrubber -e -p new_do_pool \
    /net/ccsvr03/vobstore/proj.vbs"

    This script invokes the scrubber utility on the derived object storage pool new_do_pool. The -e option to scrubber empties the pool of all zero-referenced DOs.

    You can then register your task in the scheduler's task database and create a new scheduled job to execute the task several times per day. For more information on tasks and jobs, see Chapter 16, Managing Scheduled Jobs.

  9. Clean up the old DO storage pool. The chpool command in Step #2 does not move existing DO data containers; it only affects where a new DO's data container is stored. Accordingly, you should clean up the old storage pool:

  10. ccase-home-dir/etc/scrubber -e -p ddft /net/ccsvr03/vobstore/proj.vbs

Scrubbing Less Aggressively

If the ClearCase LT scheduler's scrubbing regimen takes too long (perhaps spilling over into the work day), you can make the starting time for the ClearCase LT default Daily VOB Pool Scrubbing job earlier. Alternatively, you can disable the Daily VOB Pool Scrubbing job and define your own job that changes the way that scrubber is invoked, so that it takes less time to run.

Here's how you can revise scrubbing to process DO pools only, leaving cleartext pools alone:

  1. Define a task whose executable program invokes the scrubber as follows:

  2. ccase_home_dir/etc/scrubber -f -a -k do

  3. Register the task in the scheduler's task database.

  4. Define a new job in the scheduler that runs your task daily. Choose an appropriate starting time.

  5. Disable the ClearCase LT default Daily VOB Pool Scrubbing Job in the scheduler. You can disable a job by setting its end date to a time in the past or by deleting the job.

  6. Check all other jobs with sequential schedules. Change the schedule for any job that is defined to follow the ClearCase LT default Daily VOB Pool Scrubbing job to follow your new job instead. The ClearCase LT default Daily VOB Snapshots job follows Daily VOB Pool Scrubbing, so you must change this job to follow your new job.