only—Create source pool:
only—Create derived object pool or cleartext pool:
only—Create source pool:
only—Create derived object pool or cleartext pool:
The mkpool command creates a source storage pool, derived object storage pool, or cleartext storage pool, and initializes the pool's scrubbing parameters. You can also use this command to update the scrubbing parameters of an existing storage pool.
Storage pools are directories used as physical storage areas for different kinds of data:
- A source storage pool stores the data containers that contain versions of elements.
- A derived object storage pool stores shared derived objects—those that are referenced by more than one view.
- A cleartext storage pool is a cache of text files. If an element's versions are stored in a compressed format, accessing a particular version involves some processing overhead; a type manager program is invoked to extract the cleartext of that version from the data container. As a performance optimization, the extracted version is cached as a file in a cleartext storage pool. The next access to that same version uses the cached copy, saving the cost of extracting the version from the data container again.
Creating a new VOB with the mkvob command creates one default pool of each kind: sdft (source pool), ddft (derived object pool), and cdft (cleartext pool).
mkpool creates a storage pool as a directory within the VOB storage area. Source pools are always created within subdirectory s of the VOB storage directory; derived object pools are created within subdirectory d; cleartext pools are created within subdirectory c. The –ln option allows you to create pools elsewhere, to be accessed at the standard locations through symbolic links.
Pool Allocation and Inheritance
Each file element is assigned to one source pool and one cleartext pool. The source pool provides permanent storage, in one or more data container files, for all of the element's versions. If the element's versions are stored in a compressed format, the cleartext pool is used to cache extracted versions of that element, as described earlier. (If each version is stored uncompressed in a separate data container, the cleartext pool is not used.)
Each directory element is also assigned to one source pool and one cleartext pool. But directory versions themselves are not stored in these pools. (They are stored directly in the VOB database.) Rather, a directory's pool assignments are used solely for pool inheritance: each element created within the directory inherits its source and cleartext pool assignments.
Each directory element is also assigned to one derived object pool. All shared derived objects with pathnames in that directory are stored in that pool. A new directory element inherits the derived object pool of its parent, along with the source and cleartext pools.
The pool inheritance scheme begins at the VOB root directory (top-level directory element) created by mkvob, which is automatically assigned to the default pools.
You can change any of an element's pool assignments with the chpool command.
Scrubbing is the process of reclaiming space in a derived object pool or cleartext pool. (Source pools are not subject to scrubbing.) This process is performed by the scrubber utility. mkpool initializes or updates these scrubbing parameters:
|maximum size||(max-kbytes) Maximum pool size|
|reclaim size||(reclaim-kbytes) Size to which scrubber attempts to reduce the pool|
|age||(hours) Threshold to prevent premature scrubbing of recently referenced objects|
The default settings for the scrubbing parameters are max-kbytes = 0, reclaim-kbytes = 0, hours = 96. See the scrubber reference page for details on how these parameters are interpreted.
By default, the scheduler runs scrubber periodically. See the schedule reference page for information on describing and changing scheduled jobs.
You must have one of the following identities:
OPTIONS AND ARGUMENTS
Specifying the Kind of Storage Pool / Specifying an Update
- You must specify the kind of pool, unless
you use –update and name an existing pool. The following
options are mutually exclusive.
- Creates a source pool.
- Creates a derived object pool.
- Creates a cleartext pool.
- Asserts that the parameters of an existing
pool are to be updated. You must also use a –size and/or –age option.
Local vs. Remote Storage
- Creates a storage pool as a subdirectory
under the VOB storage directory.
- –ln pname
- Creates a storage pool directory at pname,
and creates pool-name in the VOB storage directory
as a symbolic link to pname. You can create only
one pool when using this option.
Restriction: pname must be a full pathname, starting with a slash (/). It must also be a global pathname, valid on every host from which users will access the VOB. mkpool attempts to verify that this pathname is truly global, using a simple heuristic. (For example, a pathname that begins with /net is likely to be global.) If it suspects that pname is not global, mkpool proceeds anyway, but displays a warning message:
This mechanism is independent of the network storage registry facility. Thus, the pathname to a remote storage pool directory must be truly global, not global within a particular network region.
Caution: We recommend that you keep source pools local, within the VOB storage directory. This strategy optimizes data integrity: a single disk partition contains all of the VOB's essential data. It also simplifies backup/restore procedures.
Specifying New Parameters
- For a new derived object or cleartext pool:
the maximum size and reclaim size parameters
are set to 0, which enables a special scrubbing procedure. (See the scrubber reference page.) The age parameter
is set to 96 (hours). These parameters are meaningless for a source pool.
When updating an existing pool, you must use at least one of –size and –age.
- –siz·e max-kbytes reclaim-kbytes
- Specifies that the pool is scrubbed if
its size exceeds max-kbytes KB; scrubbing will
continues until the pool reaches the goal size of reclaim-kbytes KB.
- –age hours
- Prevents scrubbing of derived objects or
cleartext files that have been referenced within the specified number of hours.
Specifying –age 0 restores the
default age setting (96 hours).
Scrubber Failure Processing
- If scrubber fails
to scrub a pool below its max-kbytes level, it
logs a warning message in /var/adm/rational/clearcase/log/scrubber_log (UNIX)
or the Windows event log, but takes no other action.
- –ale·rt command
- Causes scrubber to
run the specified command (typically, a shell script or batch file) whenever
it fails to scrub a pool below its max-kbytes level.
Windows: If you invoke a command built in to the Windows shell (for example, cd, del, dir, or copy) instead of a batch file, you must invoke the shell with cmd /c. For example:
Event Records and Comments
- Creates one or more event records, with commenting
controlled by your .clearcase_profile file (default: –cqe).
See the comments reference page. Comments
can be edited with chevent.
- –c·omment comment | –cfi·le comment-file-pname |–cq·uery | –cqe·ach | –nc·omment
- Overrides the default with the option you
specify. See the comments reference page.
Specifying the Pool
- Creates or updates a pool in the VOB containing
the current working directory unless you specify another VOB with the @vob-selector suffix.
- pool-selector ...
- One or more names for the storage pools to
be created. Specify pool-selector in the form [pool:]pool-name[@vob-selector]
The UNIX examples in this section are written for use in csh. If you use another shell, you may need to use different quoting and escaping conventions.
The Windows examples that include wildcards or quoting are written for use in cleartool interactive mode. If you use cleartool single-command mode, you may need to change the wildcards and quoting to make your command interpreter process the command appropriately.
In cleartool single-command mode, cmd-context represents the UNIX shell or Windows command interpreter prompt, followed by the cleartool command. In cleartool interactive mode, cmd-context represents the interactive cleartool prompt.
- Create a source pool that uses the default pool parameters.
- Create a derived object pool with a maximum size of 10,000 KB (10 MB) and a reclaim size of 8,000 KB (8 MB). Allow the age parameter to assume its default value.
- Update the derived object pool created in the previous example, so that any derived object referenced within the last week (168 hours) is not scrubbed.
a UNIX system, create a nonlocal cleartext storage pool at the globally accessible
location /usr/vobstore/ccase_pools/c2, to be accessed
as pool cltxt2.
This command creates this symbolic link:
a cleartext pool named my_ctpool that uses the default
pool parameters. Then, change all elements using pool cdft (the
default cleartext pool) to use my_ctpool instead.
cmd-context mkpool -cleartext -c "alternate cleartext pool" my_ctpool
Created pool "my_ctpool".
cmd-context find . -all -element 'pool(cdft)' -exec 'cleartool chpool ^
-force my_ctpool $CLEARCASE_PN'
Changed pool for "\users_hw" to "my_ctpool".
Changed pool for "\users_hw\bin" to "my_ctpool".
Changed pool for "\users_hw\bin\hello" to "my_ctpool".
Changed pool for "\users_hw\bugs" to "my_ctpool".
Changed pool for "\users_hw\bugs\bug.report.21" to "my_ctpool".
Changed pool for "\users_hw\doc" to "my_ctpool".
Changed pool for "\users_hw\doc\util.doc" to "my_ctpool".
Changed pool for "\users_hw\include" to "my_ctpool".
Changed pool for "\users_hw\libs" to "my_ctpool".
Changed pool for "\users_hw\libs\libntx.a" to "my_ctpool".
Changed pool for "\users_hw\libs\libpvt.a" to "my_ctpool"