Migrate MDT inodes or OST objects between MDTs and OSTs respectively. For the
case of MDT inode migration:
.TP
-.B migrate -m|--mdt-index <mdt_idx> \fIdirectory\fR
+.B migrate -m|--mdt-index <mdt_idx> \fIOPTION DISABLED\fR
.br
Move the file metadata (inode) from one MDT to MDT with index \fBmdt_idx\fR.
Migration of striped directories or individual files between MDTs is not
complete.
.TP
\fIWARNING\fR
+Lustre 2.10 has bugs that make migrate -m unsafe. See
+https://jira.whamcloud.com/browse/LU-11481.
+.TP
+\fIWARNING\fR
A migrated file or directory will have a new inode number and FID. As
a consequence, files archieved by Lustre HSM cannot currently be migrated
and migrated files that have a new inode number may confuse backup tools.
check_fs_consistency_17n ||
error "e2fsck report error after unlink files under remote dir"
- [ $(lustre_version_code $SINGLEMDS) -lt $(version_code 2.4.50) ] &&
- skip "lustre < 2.4.50 does not support migrate mv " && return
+ [ $(lustre_version_code $SINGLEMDS) -lt $(version_code 2.11.56) ] &&
+ skip "lustre < 2.11.56 does not support migrate -m "
for ((i = 0; i < 10; i++)); do
mkdir -p $DIR/$tdir/remote_dir_${i}
remote_mds_nodsh && skip "remote MDS with nodsh" && return
[ $MDSCOUNT -lt 2 ] && skip "needs >= 2 MDTs" && return
+ [ $(lustre_version_code $SINGLEMDS) -lt $(version_code 2.11.56) ] &&
+ skip "lustre < 2.11.56 does not support migrate -m "
+
local server_version=$(lustre_version_code mds1)
local CL_MASK_PARAM="mdd.$MDT0.changelog_mask"
local migrate_dir=$DIR/$tdir/migrate_dir
local other_dir=$DIR/$tdir/other_dir
+ [ $(lustre_version_code $SINGLEMDS) -lt $(version_code 2.11.56) ] &&
+ skip "lustre < 2.11.56 does not support migrate -m "
+
test_mkdir $DIR/$tdir
test_mkdir -i0 -c1 $migrate_dir
test_mkdir -i0 -c1 $other_dir
local file
local migrate_dir=$DIR/$tdir/migrate_dir
+ [ $(lustre_version_code $SINGLEMDS) -lt $(version_code 2.11.56) ] &&
+ skip "lustre < 2.11.56 does not support migrate -m "
+
#If migrating directory fails in the middle, all entries of
#the directory is still accessiable.
test_mkdir $DIR/$tdir
local i
local j
+ [ $(lustre_version_code $SINGLEMDS) -lt $(version_code 2.11.56) ] &&
+ skip "lustre < 2.11.56 does not support migrate -m "
+
test_mkdir $DIR/$tdir
test_mkdir -i0 -c1 $migrate_dir
test_230e() {
[ $PARALLEL == "yes" ] && skip "skip parallel run" && return
[ $MDSCOUNT -lt 2 ] && skip "needs >= 2 MDTs" && return
+ [ $(lustre_version_code $SINGLEMDS) -lt $(version_code 2.11.56) ] &&
+ skip "lustre < 2.11.56 does not support migrate -m "
+
local i
local j
local a_fid
local a_fid
local ln_fid
+ [ $(lustre_version_code $SINGLEMDS) -lt $(version_code 2.11.56) ] &&
+ skip "lustre < 2.11.56 does not support migrate -m "
+
mkdir -p $DIR/$tdir
mkdir $DIR/$tdir/migrate_dir
$LFS mkdir -i1 $DIR/$tdir/other_dir
[ $PARALLEL == "yes" ] && skip "skip parallel run" && return
[ $MDSCOUNT -lt 2 ] && skip "needs >= 2 MDTs" && return
+ [ $(lustre_version_code $SINGLEMDS) -lt $(version_code 2.11.56) ] &&
+ skip "lustre < 2.11.56 does not support migrate -m "
+
mkdir -p $DIR/$tdir/migrate_dir
$LFS migrate -m 1000 $DIR/$tdir/migrate_dir &&
test_230h() {
[ $PARALLEL == "yes" ] && skip "skip parallel run" && return
[ $MDSCOUNT -lt 2 ] && skip "needs >= 2 MDTs" && return
- [ $(lustre_version_code $SINGLEMDS) -lt $(version_code 2.7.64) ] &&
- skip "Need MDS version at least 2.7.64" && return
+ [ $(lustre_version_code $SINGLEMDS) -lt $(version_code 2.11.56) ] &&
+ skip "lustre < 2.11.56 does not support migrate -m "
+
local mdt_index
mkdir -p $DIR/$tdir/migrate_dir
[ $PARALLEL == "yes" ] && skip "skip parallel run" && return
[ $MDSCOUNT -lt 2 ] && skip "needs >= 2 MDTs" && return
+ [ $(lustre_version_code $SINGLEMDS) -lt $(version_code 2.11.56) ] &&
+ skip "lustre < 2.11.56 does not support migrate -m "
+
mkdir -p $DIR/$tdir/migrate_dir
$LFS migrate -m 1 $DIR/$tdir/migrate_dir/ ||
touch $DIR/$tdir/d1/src" \
"mv $DIR/$tdir/d1/src $DIR/$tdir/d2/tgt"
# migrate
- op_trigger_cos "$LFS mkdir -i 0 $DIR/$tdir" \
- "$LFS migrate -m 1 $DIR/$tdir"
+ [ $(lustre_version_code $SINGLEMDS) -ge $(version_code 2.11.56) ] &&
+ op_trigger_cos "$LFS mkdir -i 0 $DIR/$tdir" \
+ "$LFS migrate -m 1 $DIR/$tdir"
return 0
}
test_80a() {
[ $MDSCOUNT -lt 2 ] && skip "needs >= 2 MDTs" && return
+
+ [ $(lustre_version_code $SINGLEMDS) -lt $(version_code 2.11.56) ] &&
+ skip "lustre < 2.11.56 does not support migrate -m "
+
local MDTIDX=1
local mdt_index
local i
test_80b() {
[ $MDSCOUNT -lt 2 ] && skip "needs >= 2 MDTs" && return
+
+ [ $(lustre_version_code $SINGLEMDS) -lt $(version_code 2.11.56) ] &&
+ skip "lustre < 2.11.56 does not support migrate -m "
+
local migrate_dir1=$DIR1/$tdir/migrate_dir
local migrate_dir2=$DIR2/$tdir/migrate_dir
local migrate_run=$LUSTRE/tests/migrate.sh