Enables or disables ShadowStore defragmentation and changes the global configuration settings for the defragmenter.
Usage
When the defragmenter runs in the ShadowStoreDelete job, it is controlled by settings in the global configuration.
When the defragmenter is initiated on the command line using the
isi_sstore defrag command, that command uses the global settings for target_efficiency, chunk_size, and log_level unless you override the values with command line options. The
isi_sstore defrag command resets all of the boolean values in the global configuration to false, allowing you to set them using command options specific to each command line execution.
Controls whether the shadow store defragmenter is enabled.
The installed value is
false.
access_mode={true | false}
Controls whether the defragmenter runs in assessment mode.
Assessment mode generates an estimate of the disk space savings that could occur with defragmentation without actually performing the defragmentation. This mode does not move any data or make any other on-disk changes. This is a quick operation that can be used to determine if the defragmentation feature should be fully enabled. The assessment mode must be turned off for the defragmentation process to do any actual work.
The installed value is
false.
bsins_enabled={true | false}
Controls whether the defragmenter examines BSINs.
BSINs are block-based shadow stores, which are stores used by clone and dedupe operations. The defragmentation process on BSINs can be intensive and may take some time.
The installed value is
false.
csins_enabled={true | false}
Controls whether the defragmenter examines CSINs.
CSINs are small file storage efficiency containers.
The installed value is
true.
pg_efficiency={true | false}
Enables or disables protection group efficiency.
This is a compaction feature. When enabled, this option attempts to reduce the number of protection groups needed by the shadow stores, which in turn reduces restripe time.
The installed value is
true.
snapshots_enabled={true | false}
Determines whether the defragmenter examines snapshot files for references to the shadow store being defragged. Consider the following:
When this option is disabled, if snapshot files contain references to shadow store blocks that need to be defragmented, the defragmenter can not move those blocks and the shadow store may remain fragmented.
When this option is enabled, it can add significant processing overhead for clusters with many snapshots.
Depending on your workflow, it may be preferable to run the defragmenter most frequently without examining files from snapshots, with occasional runs that include the snapshot files.
The installed value is
false.
target_efficiency=<efficiency-percent>
Sets the target efficiency percentage.
The
target_efficiency determines the minimum acceptable storage efficiency relative to the maximum storage efficiency achievable by the shadow store based on its current protection level.
A target of 90% is relatively easy to achieve with a large cluster. The value can be set even higher. Smaller clusters, such as a 3-node cluster, may perform better with a lower target, such as 80%.
The
percent is a whole number. If a fraction is specified, the digits after the decimal point are ignored.
The installed global configuration value is
90.
chunk_size=<bytes>
Sets the defragmentation chunk size, in bytes. The chunk size is the size of each region in the shadow store that is independently evaluated for defragmentation. The optimal size depends on your workflow.
Setting a value greater than the size of the shadow store (for example, 2GB), forces the entire shadow store to be defragmented only when the efficiency of the entire store is degraded.
Setting a small value (for example, 1MB) achieves more aggressive gains.
The installed global configuration value is
33554432 which is 32MB. This setting works well in most scenarios.
log_level=<defrag_log_level>
This parameter is currently not used.
Examples
The defragmenter is disabled by default after installation. The following example enables the defragmentation tool in the global configuration.
The
isi_gconfig -t defrag-config command displays the current settings for the defragmentation tool in the global configuration. The following example shows the command and typical settings.