1 .TH lfs_migrate 1 "Jun 16, 2017" Lustre "utilities"
4 \- simple tool to migrate files between Lustre OSTs
7 .RB [ -c <stripe_count> ]
13 .RB [ -S <stripe_size> ]
16 .RI [ file | "directory ..." ]
20 is a simple tool to assist migration of files between Lustre OSTs. It
21 is simply copying each specified file to a new file, verifying the file
22 contents have not changed, and then renaming the new file back to the
23 original filename. This allows balancing space usage between OSTs, moving
24 files off OSTs that are starting to show hardware problems (though are still
25 functional), or OSTs that will be removed from the filesystem.
31 yet closely integrated with the MDS, it cannot determine whether a file
32 is currently open and/or in-use by other applications or nodes. That makes
36 for use on files that might be modified by other applications, since the
37 migrated file is only a copy of the current file, and this will result in
38 the old file becoming an open-unlinked file and any modifications to that
41 Files to be migrated can be specified as command-line arguments. If a
42 directory is specified on the command-line then all files within that
43 directory are migrated. If no files are specified on the command-line,
44 then a list of files is read from the standard input, making
48 to locate files on specific OSTs and/or matching other file attributes.
50 The current file allocation policies on MDS dictate where the new files
51 are placed, taking into account whether specific OSTs have been disabled
54 (preventing new files from being allocated there), whether
55 some OSTs are overly full (reducing the number of files placed on those
56 OSTs), or if there is a specific default file striping for the target
57 directory (potentially changing the stripe count, stripe size, OST pool,
58 or OST index of a new file).
61 .B \\-c <stripe_count>
62 Restripe file using the specified stripe count. This option may not be
63 specified at the same time as the -R option.
66 Display help information.
69 Only print the names of files to be migrated.
72 Run quietly (don't print filenames or status).
75 Restripe file using default directory striping instead of keeping striping.
76 This option may not be specified at the same time as the -c or -S options.
79 Skip file data comparison after migrate. Default is to compare migrated file
80 against original to verify correctness.
83 Restripe file using the specified stripe size. This option may not be
84 specified at the same time as the -R option.
87 Answer 'y' to usage warning without prompting (for scripts, use with caution).
90 Input file names on stdin are separated by a null character.
92 To rebalance all files within
94 (which are known not to be modified by in-use programs):
96 lfs_migrate /testfs/jobs/2011
98 To migrate files within the
100 filesystem on OST0004 (perhaps because it is much more full than other OSTs),
101 larger than 4GB (because it is more efficient to just migrate large files),
102 and older than two days (to avoid files that are in use, though this is NOT
103 a guarantee the files are not being modified, that is workload specific):
105 lfs find /testfs -obd test-OST0004 -size +4G -mtime +2d |
108 Eventually, this functionality will be integrated into
110 itself and will integrate with the MDS layout locking to make it safe
111 in the presence of opened files and ongoing file IO.
116 filesystem package. Added in the 1.8.4 release.