fsppadm(1M)fsppadm(1M)NAMEfsppadm - VxFS placement policy administration utility
AVAILABILITY
VRTSvxfs
SYNOPSIS
/opt/VRTS/bin/fsppadm assign [ -p io_nice ] [ -f ] [ mount_point ... ]
policy_file
/opt/VRTS/bin/fsppadm analyze [ -F policy_file ] [ -p io_nice ] [ -P ]
[ -i ] [ path ... ]
/opt/VRTS/bin/fsppadm enforce [ -p io_nice ] [ -P ] [ [ -a ] -r file ]
[ { -c .[ class. ] ... mount_point } | { [ -F policy_file ]
[ -s size_count | -n file_count | -t hours ] path ... } ]
/opt/VRTS/bin/fsppadm query [ -p io_nice ] [ -P ] [ -l | { [ -a ] [ -w
] } ] [ -i ] [ path ... ]
/opt/VRTS/bin/fsppadm unassign [ mount_point ... ]
/opt/VRTS/bin/fsppadm list [ -w ] [ mount_point ... ]
/opt/VRTS/bin/fsppadm print mount_point
/opt/VRTS/bin/fsppadm validate [ mount_point ... ] policy_file
/opt/VRTS/bin/fsppadm dump mount_point file
DESCRIPTION
The fsppadm utility performs administrative tasks, such as assigning,
analyzing, enforcing, unassigning, and validating placement policies on
the specified mount points.
The path argument specifies a mount point, subdirectory in a mount
point, or a single file. If a subdirectory or mount point is speci‐
fied, the command recursively applies to all subdirectories within the
specified subdirectory or mount point.
The policy_file argument specifies the path of the XML file that con‐
tains the rules of the placement policy. See the PLACEMENT POLICY
GRAMMAR section for the XML format of the placement policy.
The file argument specifies the file into which to send output from a
dump or enforce operation.
Cluster File System Issues
No cluster issues; command operates the same on cluster file systems.
KEYWORDS
assign Creates a new active placement policy or replaces an existing
placement policy for one or more mount points. The fsppadm
command parses and validates the specified placement policy
before assigning the placement policy. If errors are found,
fsppadm displays the diagnosis and does not apply the place‐
ment policy. Some errors may simply be warnings, and the
assign operation will succeed. Once the placement policy
passes validation, fsppadm configures the specified VxFS file
systems so that all future file creations and relocations are
governed as per the placement policy. If the placement pol‐
icy uses IOTEMP, File Change Log and I/O statistics are
turned on automatically if they were not already turned on.
For information on IOTEMP, see the Dynamic Storage Tiering
chapter in the Veritas File System Administrator's Guide and
the Using Dynamic Storage Tiering Symantec Yellow Book.
If mount_point is not specified, fsppadm sweeps all mounted
VxFS file systems that have disk layout Version 7 and have
active placement policies, except mounted Storage Check‐
points.
analyze Analyzes the impact of enforcing the assigned placement pol‐
icy and displays the amount of free space that will be on the
volume set before and after any files are relocated. No
files are actually relocated by this operation.
If path is not specified, fsppadm sweeps all mounted VxFS
file systems that have disk layout Version 7 and have active
placement policies, except mounted Storage Checkpoints.
The analysis only provides the approximate impact. An exact
analysis is not possible because accurate space accounting
for each file requires intensive computing. However, the
enforce keyword does calculate accurate space accounting.
enforce Enforces the assigned placement policy on one or more mount
points, subdirectories in a mount point, or files. Enforcing
the placement policy adjusts placement behavior if necessary,
and relocates or deletes files as per the placement policy.
Enforce operations are logged in a hidden file, .__fsp‐
padm_enforce.log, in the lost+found directory of the mount
point. This log file contains details such as files' previ‐
ous locations, files' new locations, and the reasons for the
files' relocations. The enforce operation creates the
.__fsppadm_enforce.log file if the file does not exist. The
enforce operation appends the file if the file already
exists. The log file can be backed up or removed as with a
normal file.
If path is not specified, fsppadm sweeps all mounted VxFS
file systems that have disk layout Version 7 and have active
placement policies, except mounted Storage Checkpoints. To
prevent fsppadm from sweeping a file system, unmount the file
system, unassign the file system's active placement policy,
or specify the file systems to be swept when running the
enforce operation.
query Displays where files on one or more specified mount points,
files under one or more specified subdirectories, or one or
more specified files were created, where they reside now, and
where they will be moved if the placement policy is enforced.
Also displays the criteria by which the files will be moved.
If path is not specified, fsppadm sweeps all mounted VxFS
file systems that have disk layout Version 7 and have active
placement policies, except mounted Storage Checkpoints.
unassign Removes the active placement policy assigned to the specified
mount points.
list Displays the name of the active placement policy assigned to
the specified mount points. Mount point and placement policy
names are printed in pairs. Specifying -w allows for easier
parsing of the output.
If mount_point is not specified, fsppadm sweeps all mounted
VxFS file systems that have disk layout Version 7 and have
active placement policies, except mounted Storage Check‐
points.
print Displays the contents of the active placement policy file of
the specified mount point.
dump Dumps the contents of the active placement policy to the
specified file. The dump should be used to backup the place‐
ment policy.
validate Checks the syntax and grammar of the specified placement pol‐
icy. The fsppadm validate command validates the directories
specified in the <DIRECTORY> element, the storage classes
specified in the <CLASS> element with respect to the speci‐
fied mount points, the users specified in the <USER> element,
and the group names specified in the <GROUP> element of the
placement policy with respect to the target host. If errors
are found, fsppadm displays the diagnosis of the validation.
Symantec recommends that you validate a placement policy
before assigning the policy.
If mount_point is not specified, fsppadm sweeps all mounted
VxFS file systems that have disk layout Version 7 and have
active placement policies, except mounted Storage Check‐
points.
OPTIONS-a Includes the access time, modification time, and file size of
the specified paths in the report generated by -r. The -a
option also includes IOTEMP if the active placement policy
uses IOTEMP.
-c Specifies a list of placement classes to which files must be
relocated. A placement class is a specific subset of a file
system's volume set in which a placement policy causes
affected files to be created and extended. A null list,
indicated by a period (.), can be specified; see the -l
option. A non-null list must begin with a period (.), and is
period-separated. Non-null lists of placement classes ignore
any placement class information provided in the file list
piped from the -l option. See EXAMPLES. If a non-null list
is specified, the list of files to be relocated, as specified
by the path argument, should not include files that will be
deleted. Any such files will instead be relocated along with
the files that are intended to be relocated.
If -c is specified, the assigned placement policy is ignored
and the list of files to be relocated must be passed via
standard input. Subsequent runs of the enforce operation
without the -c option will enforce the active placement pol‐
icy once again.
-F policy_file
Forces the placement policy specified by policy_file to be
used on the specified path or mount point, bypassing the
existing active placement policy. This option can be used to
analyze and to enforce the rules given in the specified
placement policy for maintenance purposes, such as for
reclaiming a LUN from the file system.
-f If the placement policy uses IOTEMP, fsppadm tunes fcl_keep‐
time to the largest period of interest in the placement pol‐
icy. See the vxtunefs(1M) manual page. This preserves I/O
statistics for that period.
-i Rebuilds the IOTEMP database. If the placement policy uses
IOTEMP, the enforce operation automatically builds the IOTEMP
database. Without specifying -i, the query operation uses
the existing IOTEMP database, if any. To obtain meaningful
results with the fsppadm query command, Symantec recommends
that you rebuild the database if significant time passed
since you last ran the enforce operation.
-l Lists the pathnames of the files that would be selected to be
relocated or deleted when the enforce operation is run. The
list is generated such that the output can be piped to
another instance of fsppadm as the list of files to be relo‐
cated or deleted with the -c option. However, see the EXAM‐
PLES section for a way to accomplish this with only one
instance of fsppadm. If -l is not specified, fsppadm query
displays the pathnames of all the files under the specified
subdirectory or path.
-n file_count
Specifies the maximum number of files that an enforce opera‐
tion may relocate or delete in a given instance. An enforce
operation that reaches the specified maximum can be restarted
from the point at which the operation ended due to this
limit.
-P Private files used by the fsppadm command, such as .__fsp‐
padm_enforce.log, are not picked by the assigned placement
policy. The enforce operation will not relocate the private
files. The query operation will not list the private files.
The analyze operation will not consider the private files for
space impact analysis.
-p io_nice
Specifies the number of concurrent threads to be used to per‐
form the fsppadm operation. The io_nice parameter can be
specified as an integer between 1 and 100. The default value
is 50. A value of 1 specifies 1 slave and 1 master thread
per mount. A value of 50 specifies 16 slaves and 1 master
thread per mount. A value of 100 specifies 32 slaves and 1
master thread per mount.
-r file Generates a report and dumps the output to the specified
file. Reports include which files were picked up by which
rule, if a given file path was relocated or deleted, and so
on. Specify an absolute pathname for the file.
-s size_count
Specifies the maximum number of megabytes of data that an
enforce operation may relocate in a given instance. An
enforce operation that reaches the specified maximum can be
restarted from the point at which the operation ended due to
this limit.
-t hours Specifies the maximum number of hours that an enforce opera‐
tion may run. An enforce operation that times out can be
restarted from the point at which the process was ended due
to the time limit.
-w Suppresses headings.
PLACEMENT POLICY GRAMMAR
The following output shows the overall structure of a placement policy:
<?xml version="1.0"?>
<!DOCTYPE PLACEMENT_POLICY [
<!-- The placement policy document definition file -->
<!-- Specification for PLACEMENT_POLICY element.
It can contain the following
1. 0 or 1 COMMENT element
2. 1 or more RULE elements
-->
<!ELEMENT PLACEMENT_POLICY (COMMENT?, RULE+)>
<!-- The attributes of PLACEMENT_POLICY element -->
<!-- XML requires all attributes must be enclosed in double
quotes -->
<!ATTLIST PLACEMENT_POLICY
Name CDATA #REQUIRED
Version (5.0) #REQUIRED
>
<!-- Specification for COMMENT element -->
<!ELEMENT COMMENT (#PCDATA)>
<!-- Specification for RULE element.
It can contain the following
1. 0 or 1 COMMENT element
2. 1 or more SELECT elements
3. 0 or 1 CREATE element
The elements must appear in the above order.
4. 0 or more DELETE elements
5. 0 or more RELOCATE elements
DELETE elements, if any, are recommeded to preceed RELOCATE
elements, so that if a file is meant for deletion, will not
unnecessarily be subject relocation. The reason being,
if any of the DELETE elements triggers an action, subsequent
elements (DELETE and/or RELOCATE elements, if any) will not be
processed.
-->
<!ELEMENT RULE (COMMENT?, SELECT+, CREATE?, DELETE*, RELOCATE*)>
<!-- The attributes of RULE element -->
<!-- The possible and accepted values for Flags are
1. data
2. checkpoint
The "data" is supported in 5.0 release. The "data" centric
RULEs deal with data of the files.
However "checkpoint" that is now introduced will allows
RULE specification to place data of the checkpoints
on a given set of placement classes. But in "checkpoint"
RULE only CREATE is supported, and DELETE and RELOCATE
are not supported, i.e., it is possible to direct the
data placement of the checkpoints that would be created
after such a placement policy becomes active but it is
not possible to relocate that of the already created
checkpoints.
-->
<!-- XML requires all attributes must be enclosed in
double quotes -->
<!ATTLIST RULE
Name CDATA #REQUIRED
Flags (data) #REQUIRED
>
<!-- Specification for SELECT element. This describes selection
criteria.
It can contain the following
1. 0 or 1 COMMENT elements
2. 0 or more DIRECTORY elements
3. 0 or more PATTERN elements
4. 0 or more USER elements
5. 0 or more GROUP elements
6. 0 or more UID elements
7. 0 or more GID elements
8. 0 or more TAG elements
The elements can appear in any order.
-->
<!ELEMENT SELECT (COMMENT?, DIRECTORY*, PATTERN*, USER*, GROUP*,
UID*, GID*, TAG*)>
<!-- The attributes of SELECT element -->
<!-- XML requires all attributes must be enclosed in
double quotes -->
<!ATTLIST SELECT
Name CDATA #IMPLIED
>
<!-- Specification for DIRECTORY element
The DIRECTORY element takes a path relative to the
mount point. So if the intention is to sweep from
/db/finance/data and /db is the mount point,
DIRECTORY element should contain finance/data
Only one value can be specified per element.
-->
<!ELEMENT DIRECTORY (#PCDATA)>
<!-- The attributes of DIRECTORY element -->
<!-- The possible and accepted values for Flags are
1. recursive
2. nonrecursive
If a given directory appears in more than one RULE,
all such DIRECTORY elements must all be recursive or
nonrecursive but can not be a combination. If no DIRECTORY
element is specified, all the files under the mount point
will be selected.
-->
<!-- XML requires all attributes must be enclosed in
double quotes -->
<!ATTLIST DIRECTORY
Flags (recursive|nonrecursive) #REQUIRED
>
<!-- Specification for PATTERN element
The PATTERN can be a full name of a file, i.e., can not contain
"/" characters. Or it can have a '*' character. The first '*'
character will be considered as wild character and any other
character, including a second '*' are treated as literals.
Only one value can be specified per element.
-->
<!ELEMENT PATTERN (#PCDATA)>
<!-- The attributes of PATTERN element -->
<!-- The possible and accepted values for Flags are
1. recursive
This is an optional attribute. It is meaningful only
if the PATTERN is a dirctory. Default is nonrecursive,
which will be case for file PATTERNs. If this attribute
is specified, the enclosing SELECTion criteria will
select all files in any component directory (for example
dir1, in /mnt/dir0/dir1 if PATTERN is dir1) that is
anywhere (below the DIRECTORY,
- if it is specified and has 'recursive flag or
- anywhere in file system, if DIRECTORY is not
specified),
provided the component directory matches the PATTERN
(here 'dir1' in the example). If PATTERN has wild
character '*' in it, wild char based matching is performed.
-->
<!-- XML requires all attributes must be enclosed in
double quotes -->
<!ATTLIST PATTERN
Flags (recursive | nonrecursive) "nonrecursive"
>
<!-- Specification for USER element
The USER is a name string of the 1 domain user
Only one value can be specified per element.
-->
<!ELEMENT USER (#PCDATA)>
<!-- Specification for GROUP element
The GROUP is a name string of the 1 domain group
Only one value can be specified per element.
-->
<!ELEMENT GROUP (#PCDATA)>
<!-- Specification for UID element
The UID is a numeric id of the 1 domain user
Only one value can be specified per element.
-->
<!ELEMENT UID (#PCDATA)>
<!-- Specification for GID element
The GID is a numeric id of the 1 domain group
Only one value can be specified per element.
-->
<!ELEMENT GID (#PCDATA)>
<!-- Specification for TAG element
The TAG is a file tag created by file tagging command
Only one value can be specified per element.
-->
<!ELEMENT TAG (#PCDATA)>
<!-- Specification for CREATE element. This describes creation
criteria.
It can contain the following
1. 0 or 1 COMMENT element
2. 1 ON element
-->
<!ELEMENT CREATE (COMMENT?, ON)>
<!-- The attributes of CREATE element -->
<!-- XML requires all attributes must be enclosed in
double quotes -->
<!ATTLIST CREATE
Name CDATA #IMPLIED
Flags CDATA #IMPLIED
>
<!-- Specification for ON element. This describes location criteria.
It can contain the following
1. 0 or more DESTINATION elements
Though zero DESTINATION elements is defined in grammar, current
implementation requires at least on DESTINATION.
-->
<!ELEMENT ON (DESTINATION*)>
<!-- The attributes of ON element -->
<!-- The possible and accepted values for Flags is
1. any
If this attribute is set, there may or may not be any CLASS
elements in the DESTINATION elements under the ON element.
If any of the DESTINATION elements have CLASS element, such
CLASSes in the file system would be used first before other
placement class storage is used.
-->
<!-- XML requires all attributes must be enclosed in
double quotes -->
<!ATTLIST ON
Name CDATA #IMPLIED
Flags (any) #IMPLIED
>
<!-- Specification for DESTINATION element. This describes
target location.
It can contain the following
1. 0 or 1 CLASS element
2. 0 or 1 PERCENT element
3. 0 or 1 BALANCE_SIZE element
The order of CLASS elements is significant.
Earlier CLASSes would be used before the latter ones.
-->
<!ELEMENT DESTINATION (CLASS?, PERCENT?, BALANCE_SIZE?)>
<!-- The attributes of DESTINATION element -->
<!-- The possible and accepted values for Flags
(THIS IS NOT IMPLEMENTED)
1. disallow
If this 'disallow' is set, there must not be any PERCENT or
BALANCE_SIZE elements in such DESTINATION element but there
must be a CLASS element. There must not be any RELOCATE and
DELETE statements in the enclosing RULE element either.
-->
<!-- XML requires all attributes must be enclosed in
double quotes -->
<!ATTLIST DESTINATION
Name CDATA #IMPLIED
Flags (disallow) #IMPLIED
>
<!-- Specification for CLASS element
The file system resides on a multi-component volume set.
Each volume in the volume set will be in what is called a
placement class. The placement classes are implemented as tags
on the volumes. These tags are organized into a hierarchy prefix.
The placement policy uses the vxfs.placement_class. prefix.
The CLASS element specifies the placement class of the
underlying storage, without the prefix. For example, if a
volume has a placement class of vxfs.placment_class.gold
then gold would be the value of CLASS element.
-->
<!ELEMENT CLASS (#PCDATA)>
<!-- Specification for PERCENT element
(THIS IS NOT IMPLEMENTED)
If the PERCENT element is in DESTINATION element, it determines
how much of its CLASS can be filled up with the files selected
by a given RULE.
If the PERCENT element is in SOURCE element, it determines
how much of its CLASS can be emptied when the files are relocated
our deleted from it.
-->
<!ELEMENT PERCENT (#PCDATA)>
<!-- Specification for BALANCE_SIZE element
Multiple volumes may have the same placement class and there can
be multiple DESTINATIONs (hence CLASSes) in a given ON (and TO)
element. If a BALANCE_SIZE is specified for a given CLASS,
the usage of volumes of that given placement class will be used
evenly by allocating BALANCE_SIZE amount of space for each
volume for each allocation.
-->
<!ELEMENT BALANCE_SIZE (#PCDATA)>
<!-- The attributes of BALANCE_SIZE element -->
<!-- The possible and accepted values for Units are
1. bytes
2. KB
3. MB
4. GB
-->
<!-- XML requires all attributes must be enclosed in
double quotes -->
<!ATTLIST BALANCE_SIZE
Units (bytes|KB|MB|GB) #REQUIRED
>
<!-- Specification for DELETE element. This describes deletion
criteria.
It can contain the following
1. 0 or 1 COMMENT element
2. 0 or 1 FROM element
3. 0 or 1 WHEN element
-->
<!ELEMENT DELETE (COMMENT?, FROM?, WHEN?)>
<!-- The attributes of DELETE element -->
<!-- XML requires all attributes must be enclosed in
double quotes -->
<!ATTLIST DELETE
Name CDATA #IMPLIED
Flags (none) #IMPLIED
>
<!-- Specification for RELOCATE element. This describes relocation
criteria.
It can contain the following
1. 0 or 1 COMMENT element
2. 0 or 1 FROM element
3. 1 TO element
4. 0 or 1 WHEN element
-->
<!ELEMENT RELOCATE (COMMENT?, FROM?, TO, WHEN?)>
<!-- The attributes of RELOCATE element -->
<!-- XML requires all attributes must be enclosed in
double quotes -->
<!ATTLIST RELOCATE
Name CDATA #IMPLIED
Flags (none) #IMPLIED
>
<!-- Specification for FROM element. This describes source criteria.
It can contain the following
1. 1 or more SOURCE elements
-->
<!ELEMENT FROM (SOURCE+)>
<!-- The attributes of FROM element -->
<!-- XML requires all attributes must be enclosed in
double quotes -->
<!ATTLIST FROM
Name CDATA #IMPLIED
Flags (none) #IMPLIED
>
<!-- Specification for SOURCE element. This describes source
location.
It can contain the following
1. 1 CLASS element
2. 0 or 1 PERCENT element
-->
<!ELEMENT SOURCE (CLASS, PERCENT?)>
<!-- The attributes of SOURCE element -->
<!-- XML requires all attributes must be enclosed in
double quotes -->
<!ATTLIST SOURCE
Name CDATA #IMPLIED
Flags (none) #IMPLIED
>
<!-- Specification for TO element. This describes destination
criteria.
It can contain the following
1. 1 or more DESTINATION elements
-->
<!ELEMENT TO (DESTINATION+)>
<!-- The attributes of TO element -->
<!-- XML requires all attributes must be enclosed in
double quotes -->
<!ATTLIST TO
Name CDATA #IMPLIED
Flags (none) #IMPLIED
>
<!-- Specification for WHEN element. This describes relocation
specifiers.
It can contain the following
1. 0 or 1 SIZE element
2. 0 or 1 ACCAGE element
3. 0 or 1 MODAGE element
4. 0 or 1 IOTEMP element
5. 0 or 1 ACCESSTEMP element
-->
<!ELEMENT WHEN (SIZE?, ACCAGE?, MODAGE?, IOTEMP?, ACCESSTEMP?)>
<!-- The attributes of WHEN element -->
<!-- XML requires all attributes must be enclosed in
double quotes -->
<!ATTLIST WHEN
Name CDATA #IMPLIED
Flags (none) #IMPLIED
>
<!-- Specification for SIZE element
It can contain the following
1. 0 or 1 MIN element
2. 0 or 1 MAX element
-->
<!ELEMENT SIZE (MIN?, MAX?)>
<!-- The attributes of SIZE element -->
<!-- The possible and accepted values for Prefer are
(THIS IS NOT IMPLEMENTED)
1. low
2. high
The possible and accepted values for Units are
1. bytes
2. KB
3. MB
4. GB
-->
<!-- XML requires all attributes must be enclosed in
double quotes -->
<!ATTLIST SIZE
Prefer (low|high) #IMPLIED
Units (bytes|KB|MB|GB) #REQUIRED
>
<!-- Specification for ACCAGE element
It can contain the following
1. 0 or 1 MIN element
2. 0 or 1 MAX element
-->
<!ELEMENT ACCAGE (MIN?, MAX?)>
<!-- The attributes of ACCAGE element -->
<!-- The possible and accepted values for Prefer are
(THIS IS NOT IMPLEMENTED)
1. low
2. high
The possible and accepted values for Units are
1. hours
2. days
-->
<!-- XML requires all attributes must be enclosed in
double quotes -->
<!ATTLIST ACCAGE
Prefer (low|high) #IMPLIED
Units (hours|days) #REQUIRED
>
<!-- Specification for MODAGE element
It can contain the following
1. 0 or 1 MIN element
2. 0 or 1 MAX element
-->
<!ELEMENT MODAGE (MIN?, MAX?)>
<!-- The attributes of MODAGE element -->
<!-- The possible and accepted values for Prefer are
(THIS IS NOT IMPLEMENTED)
1. low
2. high
The possible and accepted values for Units are
1. hours
2. days
-->
<!-- XML requires all attributes must be enclosed in
double quotes -->
<!ATTLIST MODAGE
Prefer (low|high) #IMPLIED
Units (hours|days) #REQUIRED
>
<!-- Specification for IOTEMP element
The value of IOTEMP represents bytes read (nrbytes),
bytes written (nwbytes) or bytes transferred, i.e.,
read and written (nrwbytes), divided by the size of the
file, over a specified PERIOD (in days).
It can contain the following
1. 0 or 1 MIN element
2. 0 or 1 MAX element
3. 1 PERIOD element
-->
<!ELEMENT IOTEMP (MIN?, MAX?, PERIOD)>
<!-- The attributes of IOTEMP element -->
<!-- The possible and accepted values for Prefer are
(THIS IS NOT IMPLEMENTED)
1. low
2. high
-->
<!-- The possible and accepted values for Type are
1. nrbytes
2. nwbytes
3. nrwbytes
-->
<!-- XML requires all attributes must be enclosed in
double quotes -->
<!ATTLIST IOTEMP
Prefer (low|high) #IMPLIED
Type (nrbytes|nwbytes|nrwbytes) #REQUIRED
>
<!-- Specification for ACCESSTEMP element
The value of ACCESSTEMP represents times read (nrbytes),
times written (nwbytes) or times access i.e.,
read and written (nrws) over a specified PERIOD (in days).
It can contain the following
1. 0 or 1 MIN element
2. 0 or 1 MAX element
3. 1 PERIOD element
-->
<!ELEMENT ACCESSTEMP (MIN?, MAX?, PERIOD)>
<!-- The attributes of ACCESSTEMP element -->
<!-- The possible and accepted values for Prefer are
(THIS IS NOT IMPLEMENTED)
1. low
2. high
-->
<!-- The possible and accepted values for Type are
1. nreads
2. nwrites
3. nrws
-->
<!-- XML requires all attributes must be enclosed in
double quotes -->
<!ATTLIST ACCESSTEMP
Prefer (low|high) #IMPLIED
Type (nreads|nwrites|nrws) #REQUIRED
>
<!-- Specification for MIN element -->
<!ELEMENT MIN (#PCDATA)>
<!-- The attributes of MIN element -->
<!-- The possible and accepted values for Flags are
1. gt for greater than
2. eq for equal to
3. gteq for greater than or equal to
-->
<!-- XML requires all attributes must be enclosed in
double quotes -->
<!ATTLIST MIN
Flags (gt|eq|gteq) #REQUIRED
>
<!-- Specification for MAX element -->
<!ELEMENT MAX (#PCDATA)>
<!-- The attributes of MAX element -->
<!-- The possible and accepted values for Flags are
1. lt for less than
2. lteq for less than or equal to
-->
<!-- XML requires all attributes must be enclosed in
double quotes -->
<!ATTLIST MAX
Flags (lt|lteq) #REQUIRED
>
<!-- Specification for PERIOD element -->
<!ELEMENT PERIOD (#PCDATA)>
<!-- The attributes of PERIOD element -->
<!-- XML requires all attributes must be enclosed in
double quotes -->
<!ATTLIST PERIOD
Units (days) #REQUIRED
>
]>
EXAMPLES
To assign the placement policy iotemp.xml to the mounted VxFS file sys‐
tem /mount1:
# fsppadm assign /mount1 /tmp/iotemp.xml
To assign the placement policy iotemp.xml to all mounted VxFS file sys‐
tems:
# fsppadm assign /tmp/iotemp.xml
To remove the active placement policy previously assigned to /mount1:
# fsppadm unassign /mount1
To remove the active placement policy from all mounted VxFS file sys‐
tems:
# fsppadm unassign
To analyze the space impact if the enforce operation was run on
/mount1:
# fsppadm analyze /mount1
To analyze the impact if the enforce operation were run on /mount1 and
build the IOTEMP database if necessary:
# fsppadm analyze -i /mount1
To generate a list of affected files, which provides details about
where the files currently reside, to where the files would be relo‐
cated, and which rule in the placement policy applies to the files:
# fsppadm query /mount1/dir1/dir2 /different_mount /mount1/dir3
To generate a list of affected files, which provides details about
where the files currently reside, to where the files would be relo‐
cated, which rule in the placement policy applies to the files, and the
reasons for taking such action:
# fsppadm query -a /mount1/dir1/dir2 /different_mount /mount1/dir3
In the above query operations, specify the -i option if the active
placement policy on those file sytems use IOTEMP and the enforce opera‐
tion has not been run recently.
To enforce the policy and generate a report:
# fsppadm enforce -r /tmp/report /mount1
To generate a report with additional details, such as IOTEMP informa‐
tion:
# fsppadm enforce -a -r /tmp/report /mount1
To generate a list of files and target classes to where the files would
be relocated, of which the list can be piped to another fsppadm enforce
operation directly:
# fsppadm query -l /mount1/dir1
The following list indicates that /mount1/dir1 has three files to which
the placement policy applies. This list indicates that file1 is a can‐
didate to be relocated to tier3 and tier4, while file2 is a candidate
to be relocated to tier2. file3 is a candidate to be removed. The
files to be removed will have a special target placement class of "."
(a period). The period indicates that the enforce operation will
delete the file. The output of the previous example could be as fol‐
lows:
/mount1/dir1/file1 tier3 tier4
/mount1/dir1/file2 tier2
/mount1/dir1/file3 .
The above output can be piped to an enforce operation to move file1 to
tier3 or to tier4 if moving to tier3 is not possible, to move file2 to
tier2, and to delete file3:
# fsppadm query -l /mount1/dir1 | fsppadm enforce -c . /mount1
The same result as above can be achieved more directly with the follow‐
ing command:
# fsppadm enforce /mount1/dir1
However, if the same list is piped to an enforce operation that speci‐
fies -c .tier4.tier1, the operation will move file1 as well as file2 to
tier4 if possible, or to tier1 if moving to tier4 is not possible:
# fsppadm query -l /mount1/dir1 | fsppadm enforce \
-c .tier4.tier1 /mount1
As a side effect, file3 will also be moved to tier4 if possible, or to
tier1 if moving to tier4 is not possible. Thus, if alternate non-null
target placement classes are specified via the -c option, fsppadm can‐
not be used to delete files.
If the target classes for relocation are specified with the -c option
as well as on each input line following the file path, the target
classes specified on each line of the input are ignored. As such, you
need not specify file-specific targets on each line of the input if the
target classes are specified with the -c option.
As the above example specifies placement classes with the -c option,
any files that are to be deleted are instead relocated. The above list
indicates that file3 is to be deleted since it has a target placement
class of ".". file3 will instead be relocated to tier4 if possible, or
to tier1 if moving to tier4 is not possible as specified by the argu‐
ment for -c.
The file list could also be constructed manually, similar to the fol‐
lowing list:
/mount1/dir1/file1
/mount1/dir2/file2
To validate the placement policy policy.xml against the mounted VxFS
file system /mount1:
# fsppadm validate /mount1 /tmp/policy.xml
To validate the placement policy policy.xml against all mounted VxFS
file systems:
# fsppadm validate /tmp/policy.xml
SEE ALSOfcladm(1M), vxadm(1M), vxassist(1M), vxtunefs(1M), vxvoladm(1M),
vxvset(1M)
Veritas File System Administrator's Guide
Using Dynamic Storage Tiering Symantec Yellow Book
VxFS 5.0 7 Jan 2008 fsppadm(1M)