mmdefragfs command
Reduces disk fragmentation by increasing the number of full free blocks available to the file system.
Synopsis
mmdefragfs Device [-i] [-u BlkUtilPct] [-P PoolName]
[-N {Node[,Node...] | NodeFile | NodeClass}] [--qos QOSClass]
Availability
Available on all IBM Spectrum Scale™ editions.
Description
Use the mmdefragfs command to reduce fragmentation of a file system. The mmdefragfs command moves existing file system data within a disk to make more efficient use of disk blocks. The data is migrated to unused sub-blocks in partially allocated blocks, thereby increasing the number of free full blocks.
The mmdefragfs command can be run against a mounted or unmounted file system. However, best results are achieved when the file system is unmounted. When a file system is mounted, allocation status may change causing retries to find a suitable unused sub-block.
Parameters
- Device
- The device name of the file system to have fragmentation reduced.
File system names need not be fully-qualified. fs0 is
as acceptable as /dev/fs0.
This must be the first parameter.
- -P PoolName
- Specifies the pool name to use.
- -N {Node[,Node...] | NodeFile | NodeClass}
- Specifies the nodes that can be used in this disk defragmentation.
This parameter supports all defined node classes. The default is all or
the current value of the defaultHelperNodes parameter
of the mmchconfig command.
For general information on how to specify node names, see Specifying nodes as input to GPFS commands.
- --qos QOSClass
- Specifies the Quality of Service for I/O operations (QoS) class
to which the instance of the command is assigned. If you do not specify
this parameter, the instance of the command is assigned by default
to the maintenance QoS class. This parameter has
no effect unless the QoS service
is enabled. For more information, see the topic mmchqos command. Specify one of the following QoS classes:
- maintenance
- This QoS class is typically configured to have a smaller share of file system IOPS. Use this class for I/O-intensive, potentially long-running GPFS commands, so that they contribute less to reducing overall file system performance.
- other
- This QoS class is typically configured to have a larger share of file system IOPS. Use this class for administration commands that are not I/O-intensive.
Options
- -i
- Specifies to query the current disk fragmentation state of the file system. Does not perform the actual defragmentation of the disks in the file system.
- -u BlkUtilPct
- The average block utilization goal for the disks in the file system. The mmdefragfs command reduces the number of allocated blocks by increasing the percent utilization of the remaining blocks. The command automatically goes through multiple iterations until BlkUtilPct is achieved on all of the disks in the file system or until no progress is made in achieving BlkUtilPct from one iteration to the next, at which point it exits.
Exit status
- 0
- Successful completion.
- nonzero
- A failure has occurred.
Security
You must have root authority to run the mmdefragfs command.
The node on which the command is issued must be able to execute remote shell commands on any other node in the cluster without the use of a password and without producing any extraneous messages. For more information, see Requirements for administering a GPFS file system.
Examples
- To query the fragmentation state of file system fs0, issue
this command:
mmdefragfs fs0 -i
The system displays information similar to:disk disk size in full subblk in % % name in nSubblk blocks fragments free blk blk util --------------- --------- --------- --------- -------- ------- nsd32 327680 277504 12931 84.688 96.054 nsd33 327680 315232 580 96.201 99.823 nsd21 327680 301824 2481 92.109 99.243 nsd34 327680 275904 13598 84.199 95.850 nsd30 327680 275808 13380 84.170 95.917 nsd19 327680 278496 12369 84.990 96.225 nsd31 327680 276224 12012 84.297 96.334 --------- --------- --------- ------- (total) 2293760 2000992 67351 97.064
- To reduce fragmentation of the file system fs0 on all defined,
accessible disks that are not stopped or suspended, issue this command:
mmdefragfs fs0
The system displays information similar to:free subblk free disk in full subblk in % % name blocks blk framents free blk blk util before after freed before after before after before after ---------- ------------------------ ------------- ------------ ------------ gpfs57nsd 28896 29888 31 1462 463 50.39 52.12 94.86 98.31 gpfs60nsd 41728 43200 46 1834 362 59.49 61.59 93.55 98.66 --------------------- -------------- ----------- (total) 70624 73088 77 3296 825 93.63 98.84
- To reduce fragmentation of all files in the fs1 file system
until the disks have 100% full block utilization, issue this command:
mmdefragfs fs1 -u 100
The system displays information similar to:Defragmenting file system 'fs1'... Defragmenting until full block utilization is 98.00%, currently 97.07% 27.35 % complete on Tue May 26 14:25:42 2009 ( 617882 inodes 4749 MB) 82.65 % complete on Tue May 26 14:26:02 2009 ( 1867101 inodes 10499 MB) 89.56 % complete on Tue May 26 14:26:23 2009 ( 2023206 inodes 14296 MB) 90.01 % complete on Tue May 26 14:26:43 2009 ( 2033337 inodes 17309 MB) 90.28 % complete on Tue May 26 14:27:03 2009 ( 2039551 inodes 19779 MB) 91.17 % complete on Tue May 26 14:27:23 2009 ( 2059629 inodes 23480 MB) 91.67 % complete on Tue May 26 14:27:43 2009 ( 2070865 inodes 26760 MB) 92.51 % complete on Tue May 26 14:28:03 2009 ( 2089804 inodes 29769 MB) 93.12 % complete on Tue May 26 14:28:23 2009 ( 2103697 inodes 32649 MB) 93.39 % complete on Tue May 26 14:28:43 2009 ( 2109629 inodes 34934 MB) 95.47 % complete on Tue May 26 14:29:04 2009 ( 2156805 inodes 36576 MB) 95.66 % complete on Tue May 26 14:29:24 2009 ( 2160915 inodes 38705 MB) 95.84 % complete on Tue May 26 14:29:44 2009 ( 2165146 inodes 40248 MB) 96.58 % complete on Tue May 26 14:30:04 2009 ( 2181719 inodes 41733 MB) 96.77 % complete on Tue May 26 14:30:24 2009 ( 2186053 inodes 43022 MB) 96.99 % complete on Tue May 26 14:30:44 2009 ( 2190955 inodes 43051 MB) 97.20 % complete on Tue May 26 14:31:04 2009 ( 2195726 inodes 43077 MB) 97.40 % complete on Tue May 26 14:31:24 2009 ( 2200378 inodes 43109 MB) 97.62 % complete on Tue May 26 14:31:44 2009 ( 2205201 inodes 43295 MB) 97.83 % complete on Tue May 26 14:32:05 2009 ( 2210003 inodes 43329 MB) 97.85 % complete on Tue May 26 14:32:25 2009 ( 2214741 inodes 43528 MB) 97.86 % complete on Tue May 26 14:32:55 2009 ( 2221888 inodes 43798 MB) 97.87 % complete on Tue May 26 14:33:35 2009 ( 2231453 inodes 44264 MB) 97.88 % complete on Tue May 26 14:34:26 2009 ( 2243181 inodes 45288 MB) 100.00 % complete on Tue May 26 14:35:10 2009 free subblk free disk in full subblk in % % name blocks blk fragments free blk blk util before after freed before after before after before after ---------- ----------------------- ----------------- ------------ ------------ nsd32 277504 287840 323 12931 2183 84.69 87.84 96.05 99.33 nsd33 315232 315456 7 580 185 96.20 96.27 99.82 99.94 nsd21 301824 303616 56 2481 666 92.11 92.66 99.24 99.80 nsd34 275904 285920 313 13598 3159 84.20 87.26 95.85 99.04 nsd30 275840 285856 313 13348 2923 84.18 87.24 95.93 99.11 nsd19 278592 288832 320 12273 1874 85.02 88.14 96.25 99.43 nsd31 276224 284608 262 12012 3146 84.30 86.86 96.33 99.04 ----------------------- ----------------- ------------ (total) 2001120 2052128 1594 67223 14136 97.07 99.38 Defragmentation complete, full block utilization is 99.04%.