test veritas logo



fsdedupadm - VxFS deduplication utility




fsdedupadm enable [-c chunk_size] [-q] mount_point

fsdedupadm disable [-q] mount_point

fsdedupadm list mount_point|all

fsdedupadm start [-s] [-q] mount_point

fsdedupadm stop [-q] mount_point

fsdedupadm status [-v] mount_point|all

fsdedupadm setnodelist nodelist mount_point|all

fsdedupadm setschedule time mount_point

fsdedupadm dryrun [-o threshold=#] mount_point

fsdedupadm remove mount_point

fsdedupadm skipshared {true|false} mount_point


The fsdedupadm utility performs administrative deduplication tasks on the specified Veritas File System. mount_point specifies the directory on which the file system is mounted.


The deduplication feature is available only with an Enterprise license.

With FileSnaps, you often see a large percentage of space saved even though the physical space usage might only be reduced by a small amount. This occurs because FileSnaps have a large number of shared blocks, and the final space saved is calculated based on shared blocks as follows:

shared_blocks / logical_space_used

The result of this calculation is not the space that you just saved by running deduplication, but instead is the current space saved throughout the entire file system.

Cluster File System Issues

When a node goes away, its deduplication jobs do not fail-over to other nodes automatically. You must failover the deduplication jobs by using the setnodelist operation.

During the setnodelist operation some configurations are updated on the new node for the file system specified with the command. This does not clear the configuration on the older node for this file system where the deduplication job was earlier run. Follow the command output to cleanup the configuration from the old node.

In case this command is run in situations other than node going away, ensure there are no deduplication jobs running on the older node.


disable Disables the deduplication schedule of the file system specified by mount_point. This keyword only disables the schedule while leaving all other deduplication settings intact, including the configuration, schedule, Storage Checkpoints, and deduplication database. You must use the stop operation to stop currently running jobs.
dryrun Initiates a deduplication dry run on the file system specified by mount_point. You can specify the -o threshold option, which causes the fsdedupadm command to deduplicate only if the expected savings cross the specified threshold. You can initiate a dry run only on a file system that has not been deduplicated previously.
enable Creates a deduplication configuration file on the file system specified by mount_point. The configuration file contains deduplication parameters, such as the chunk size, node list, and schedule. The schedule created by the enable keyword is empty; you must use the setschedule keyword to set up a schedule.
This keyword re-enables a disabled deduplication and reinforces the existing schedule. However, if the file system does not have a deduplication schedule, nothing happens until you activate a schedule for the file system. If the File Change Log (FCL) for the file system is not enabled, the FCL becomes enabled.
list Queries the deduplication configuration of the file system specified by mount_point. If you specify all, then the fsdedupadm command lists the configuration of all deduplication-enabled file systems that are mounted on the current node.
remove Removes the deduplication configuration file and deduplication database of the file system specified by mount_point. This operation does not stop any running deduplication process. Removing the deduplication schedule does not unshare any data already shared. This operation does not turn off the File Change Log and does not remove the File Change Log file. After you use the remove keyword, you must re-enable deduplication with the enable keyword before you can perform any deduplication operations.
  Sets the node on which the scheduled deduplication job will be run. A node is the name of the host. For a cluster file system, you can specify any node in the cluster. You can specify only one node.
  Sets the deduplication schedule for the file system specified by mount_point. You specify the time of the schedule in the following format:
"hours days deduplication_run"

hours The value for hours can be *, */N, or a comma-separated list of hours. Specifying * indicates every hour. Specifying */N indicates every N hours. N can have a value of 2 through 23. If you specify a comma-separated list of hours, the values can range from 0 to 23.
days The value of days can be *, */N, or an integer. Specifying * indicates every day. Specifying */N indicates every N days. N can have a value of 2 through 7. Specifying an integer indicates a specific day of the week. 1 specifies every Sunday, 2 specifies every Monday, up through 7, which specifies every Saturday.
  The value for deduplication_run must be a positive integer. The integer indicates which deduplication run will deduplicate the file system. All other runs only update the fingerprints in the database. This parameter is optional; if you do not specify deduplication_run, then every deduplication run will deduplicate the file system.
You can remove a schedule by specifying an empty string enclosed by double quotes ("").
skipshared If you specify skipshared true, the fsdedupadm command skips shared extents for new files. The default value is true. You can specify the skipshared keyword to update the deduplication configuration.
start Starts a deduplication job on the current node.
status Queries the deduplication status of the file system specified by mount_point. If you specify all, then the fsdedupadm command lists the status of all deduplication jobs.
stop Stops the deduplication job that is currently running on the specified file system. The job is stopped at the earliest possible opportunity.


-c chunk_size
  Specifies the chunk size for the deduplication run. The default chunk size is 4096.
-o suboptions
  Specifies the suboptions in a comma-separated list. The available suboptions are:
  Specifies the threshold that the expected savings must meet before the fsdedupadm command begins deduplication.
-q Specifies quiet mode.
-s Forces the fsdedupadm command to scan shared extents, irrespective of deduplication configuration settings.
-v Displays detailed status when you specify a mount point. The output does not change if you specify all instead of a mount point.


fsdedupadm returns 0 on success, 1 on failure.


The following series of commands start a full deduplication of the file system mounted at /mnt1 with a chunk size of 4096 and on a schedule of everyday at midnight and noon:

# fsdedupadm remove /mnt1 # fsdedupadm enable -c 4096 /mnt1 # fsdedupadm setschedule "0,12 *" /mnt1 # fsdedupadm start /mnt1

The following command initiates a dry run on the file system mounted at /mnt1 if the expected savings meet the threshold of 60 percent:

# fsdedupadm dryrun -o threshold=60 /mnt1

The following command sets the deduplication to run at midnight every other day for the file system mounted at /mnt1:

# fsdedupadm setschedule "0 */2" /mnt1

The following command sets the deduplication to run twice everyday, once at midnight and once at noon, for the file system mounted at /mnt1:

# fsdedupadm setschedule "0,12 *" /mnt1

The following command sets the deduplication to run 4 times a day, at 12:00 AM, 6:00 AM, 12:00 PM, and 6:00 PM, everyday for the file system mounted at /mnt1, but only the fourth deduplication run will actually deduplicate the file system:

# fsdedupadm setschedule "0,6,12,18 * 4" /mnt1

The following command removes the deduplication schedule from the file system mounted at /mnt1:

# fsdedupadm setschedule "" /mnt1


Storage Foundation Administrator’s Guide

VxFS 8.0 fsdedupadm(1M)