Skip Headers
Oracle Hierarchical Storage Manager and QFS Software Command Reference
Section 1m: Maintenance Commands
Release 6.1.1
E70305-03

NAME

sam-releaser - Oracle HSM disk space releaser process

SYNOPSIS

∕opt∕SUNWsamfs∕sbin∕sam-releaser file_system low_water_mark weight_size [weight_age]

AVAILABILITY

SUNWsamfs

DESCRIPTION

The sam-releaser process controls the activities of the Oracle HSM releaser. The releaser makes disk cache available by identifying archived files and releasing their disk cache copy. This process is started automatically by the file system when disk cache utilization reaches the high-water mark.

If the releaser command file is present in ∕etc∕opt∕SUNWsamfs∕releaser.cmd, the sam-releaser process reads that file. Directives in the releaser.cmd file are overridden by the equivalent command-line arguments, if present. For more information on the releaser command file, see the releaser.cmd (4) man page.

OPTIONS

This command accepts the following arguments:

file_system

This is the file system whose disk space is to be released. The argument may be either the name of the file system, or its mount_point. The releaser attempts to release the disk space of archived files on the file system mounted on the mount_point until low_water_mark is reached.

low_water_mark

A percentage of the file system that is allowed to be completely occupied with files at all times. Specify an integer number that is at least 0 but no more than 100. The releaser attempts to release disk space until the file system is at or below this threshold.

weight_size

A weighting factor that is used to prioritize release candidates. Specify a floating-point value that is at least 0.0 but no more than 1.0. For more information on weight_size, see the PRIORITY WEIGHTS section of this man page.

weight_age

A weighting factor that is used to prioritize release candidates. Specify a floating-point value that is at least 0.0 but no more than 1.0. For more information on weight_age, see the PRIORITY WEIGHTS section of this man page.

ALGORITHM

The releaser reads the Oracle HSM .inodes file and builds an ordered list of the files that can be released. The position of each file on the list depends on a priority calculated for each inode by the releaser (see the PRIORITY WEIGHTS section of this man page.) Only the top list_size files are kept on the list. The default list_size is 30000 for file systems with less than 1M inodes, and 100000 with more than 1M inodes. See releaser.cmd (4) for a description of list_size.

Starting with the file with the numerically largest priority, the disk space used by each file is released until the low_water_mark has been reached. If the list is exhausted before the low_water_mark is reached, the process is repeated. If, while repeating the process, no files are found that can be released, the releaser stops. If the file system is still above high-water mark, the file system restarts the releaser.

PRIORITY WEIGHTS

Each inode is assigned a priority based on its size and age. The size of the file (expressed in units of 4-kilobyte blocks) is multiplied by the weight_size parameter. This result is added to the priority calculated for the age of the file to form the file's final priority.

The releaser can use one of the following two methods for determining the contribution of the age of a file to the file's release priority:

For both methods, the ages are expressed in minutes.

LOG

Within the releaser.cmd file, you can specify a log file for each Oracle HSM file system. If the releaser.cmd file does not exist, or if no logfile=filename directive exists in the file, no logging occurs. For more information on the logfile=filename directive, see the releaser.cmd (4) man page.

The releaser creates the log file (if it does not exist) and appends the following to it for each run:

Releaser begins at Tue Sep 29 15:31:15 1998
     inode pathname          ∕sam1∕.inodes
     low-water mark          40%
     list_size               10000
     weight_size             1
     weight_age              0.5
     fs equipment number     1
     family-set name         samfs1
     started by sam-fsd?     no
     release files?          no
     release rearch files?   yes
     display_all_candidates? no
     ---before scan---
     blocks_now_free:     117312
     lwm_blocks:          233750
     ---scanning---
     64122.5 (R: Tue Sep 29 11:33:21 CDT 1998) 237 min, 64004 blks S0 ∕sam1∕250m
     5131.5 (R: Tue Sep 22 17:39:47 CDT 1998) 9951 min, 156 blks S0 ∕sam1∕filecq
     5095.5 (R: Tue Sep 22 17:39:49 CDT 1998) 9951 min, 120 blks S0 ∕sam1∕filecu
     5062 (R: Tue Sep 22 18:38:50 CDT 1998) 9892 min, 116 blks S0 ∕sam1∕filebz
     5039.5 (R: Tue Sep 22 17:40:01 CDT 1998) 9951 min, 64 blks S0 ∕sam1∕filedi
     5036.5 (R: Tue Sep 22 17:37:34 CDT 1998) 9953 min, 60 blks S0 ∕sam1∕fileio
     5035.5 (R: Tue Sep 22 17:40:13 CDT 1998) 9951 min, 60 blks S0 ∕sam1∕filedw
     5032.5 (R: Tue Sep 22 17:38:08 CDT 1998) 9953 min, 56 blks S0 ∕sam1∕filejq
     5031.5 (R: Tue Sep 22 17:39:56 CDT 1998) 9951 min, 56 blks S0 ∕sam1∕fileda
     5024.5 (R: Tue Sep 22 17:38:00 CDT 1998) 9953 min, 48 blks S0 ∕sam1∕filejh
     5024 (R: Tue Sep 22 17:38:22 CDT 1998) 9952 min, 48 blks S0 ∕sam1∕fileka
     5023.5 (R: Tue Sep 22 17:40:07 CDT 1998) 9951 min, 48 blks S0 ∕sam1∕filedn
     5019 (R: Tue Sep 22 17:40:44 CDT 1998) 9950 min, 44 blks S0 ∕sam1∕filefk
     5015 (R: Tue Sep 22 17:40:28 CDT 1998) 9950 min, 40 blks S0 ∕sam1∕fileep
     5011.5 (R: Tue Sep 22 17:40:14 CDT 1998) 9951 min, 36 blks S0 ∕sam1∕filedx
     5011.5 (R: Tue Sep 22 17:39:58 CDT 1998) 9951 min, 36 blks S0 ∕sam1∕filede
     5011 (R: Tue Sep 22 17:41:07 CDT 1998) 9950 min, 36 blks S0 ∕sam1∕filegk
     5007.5 (R: Tue Sep 22 17:39:51 CDT 1998) 9951 min, 32 blks S0 ∕sam1∕filecw
     5007 (R: Tue Sep 22 17:41:10 CDT 1998) 9950 min, 32 blks S0 ∕sam1∕filegr
     5007 (R: Tue Sep 22 17:40:42 CDT 1998) 9950 min, 32 blks S0 ∕sam1∕filefg
     5007 (R: Tue Sep 22 17:40:30 CDT 1998) 9950 min, 32 blks S0 ∕sam1∕filees
     5004.5 (R: Tue Sep 22 17:38:14 CDT 1998) 9953 min, 28 blks S0 ∕sam1∕filejv
     5004 (R: Tue Sep 22 17:38:57 CDT 1998) 9952 min, 28 blks S0 ∕sam1∕filelm
     5002 (R: Tue Sep 22 18:38:54 CDT 1998) 9892 min, 56 blks S0 ∕sam1∕filecd
     4996.5 (R: Tue Sep 22 17:38:06 CDT 1998) 9953 min, 20 blks S0 ∕sam1∕filejp
     4995.5 (R: Tue Sep 22 17:39:57 CDT 1998) 9951 min, 20 blks S0 ∕sam1∕filedc
     4992.5 (R: Tue Sep 22 17:37:24 CDT 1998) 9953 min, 16 blks S0 ∕sam1∕fileig
     4992 (R: Tue Sep 22 17:39:06 CDT 1998) 9952 min, 16 blks S0 ∕sam1∕filelv
     4986 (R: Tue Sep 22 18:38:50 CDT 1998) 9892 min, 40 blks S0 ∕sam1∕fileca
     4982 (R: Tue Sep 22 17:36:54 CDT 1998) 9954 min, 5 blks S0 ∕sam1∕filehk
     4981 (R: Tue Sep 22 17:41:09 CDT 1998) 9950 min, 6 blks S0 ∕sam1∕filegn
     4980.5 (R: Tue Sep 22 17:40:15 CDT 1998) 9951 min, 5 blks S0 ∕sam1∕filedz
     ---after scan---
     blocks_now_free:       0
     blocks_freed:          65452
     lwm_blocks:            233750
     archnodrop: 0
     already_offline: 647
     damaged: 0
     extension_inode: 0
     negative_age: 0
     nodrop: 0
     not_regular: 7
     number_in_list: 32
     rearch: 1	
     released_files: 32
     too_new_residence_time: 0
     too_small: 1
     total_candidates: 32
     total_inodes: 704
     wrong_inode_number: 14
     zero_arch_status: 3
     zero_inode_number: 0
     zero_mode: 0
     CPU time: 0 seconds.
     Elapsed time: 1 seconds.
     
     
     Releaser ends at Tue Sep 29 15:31:16 1998

The first block of lines shows the arguments with which the releaser was invoked, the name of the .inodes file, the low-water mark, the size and age weight parameters, the equipment number of the file system, the family set name of the file system, whether the releaser was started by sam-fsd or by the command line, whether files should be released, and whether each inode should be logged as encountered.

The second block of lines begins with the heading ---before scan---. It shows the number of blocks currently free in the cache and the number that would be free if the file system were exactly at the low-water mark. The goal of the releaser is to increase blocks_now_free so that it is equal to or larger than lwm_blocks.

The third block of lines begins with the heading ---scanning---. This block lists the files released by the releaser and contains information for each file in separate fields. The fields are as follows:

Field Number

Content

1

This field contains the release priority.

2

This field contains the date and time in the following format: (tag: date_and_time).

The tag is either A for access, M for modify, or R for residency, depending on if the date that follows represents the access, modify or residency time.

The date_and_time is the most recent of the three dates listed.

3

This field contains the age and size of the file. The age of the file is expressed in minutes. The size of the file is expressed in blocks. These two figures are multiplied by their respective weights and the sum taken to yield the release priority.

4

This field contains an S followed by the segment number. This is the number of the segment that was released.

5

This field contains the full path name of the released file.

Note that if the weight_age_access=float, weight_age_modify=float or weight_age_residence=float directives are specified in the releaser.cmd file, these lines show only the priority, size, and pathname.

The fourth block of lines begins with the heading ---after scan---. This block shows the statistics accumulated by the releaser during the previous scan pass are shown. These statistics are as follows:

Statistic

Meaning

archnodrop

The number of inodes marked archnodrop. These files are never released because the archiver is trying to keep them in cache.

already_offline

The number of inodes that were offline.

damaged

The number of inodes marked as damaged.

extension_inode

The number of extension inodes found. Used by volume overflow.

negative_age

The number of inodes that had an age in the future. This is usually caused by personal computers with incorrect clock settings acting as NFS clients.

nodrop

The number of inodes marked with release -n. For more information on marking files as never release, see the release (1) man page.

not_regular

The number of inodes that were not regular files.

number_in_list

The number of inodes that were on the releaser's candidate list when the releaser was finished scanning.

rearch

The number of files with a copy marked for rearchiving.

released_files

The number of files released.

too_new_residence_time

The number of inodes whose residence-change time was within minimum residence age of the current time as specified on the min_residence_age=time directive in the releaser.cmd file.

too_small

The number of files that were too small to be released.

total_candidates

The number of inodes found that were viable candidates for releasing.

total_inodes

The total number of inodes scanned.

wrong_inode_number

The number of inodes whose inode number did not match their offset in the inode file. This is usually not a concern, but you should run samfsck (1m) to rescue any orphan inodes. If you have already run samfsck (1m) and this field remains nonzero, no further action is required. For more information on the samfsck (1m) command, see the samfsck (1m) man page.

zero_arch_status

The number of inodes that had no archive copies.

zero_inode_number

The number of inodes that had zero as their inode number.

zero_mode

The number of inodes that were unused.

CPU time

The number of CPU seconds used in the current scan.

Elapsed time

The number of wall-clock seconds used in the current scan.

NOTES

When a file is created, the residency age is set to the creation time. The residency age of a file must be at least the value set by the min_residence_age=time directive before the file is considered for release. This is to prevent a file which was recently staged in from being released. The default time is 10 minutes.

If the releaser selects a file as a release candidate, and immediately thereafter the file is accessed, the file might still be released by the file system even though the file has been recently accessed. This can happen because the file system only prohibits release of a file that is currently in use. It does not check the access age of the file again when it is released.

SEE ALSO

release (1).

mount_samfs (1m), samfsck (1m).

releaser.cmd (4).