Whamcloud - gitweb
LU-12273 lod: metadata overstriping
authorPatrick Farrell <pfarrell@whamcloud.com>
Thu, 19 Jan 2023 20:05:38 +0000 (15:05 -0500)
committerAndreas Dilger <adilger@whamcloud.com>
Mon, 13 May 2024 22:36:34 +0000 (22:36 +0000)
commita5ba81984576d3cfa7b2db6a1af162c50e0f1aba
tree1458748c48fd6d9c6e1b7846972eb95654401f69
parentbedfafcae478dcb3591e6621e8e74d7255bc617f
LU-12273 lod: metadata overstriping

This adds overstriping for MDTs, similar to overstriping
for OSTs (added in LU-9846).  This adds a new option to
setdirstripe, -C, allowing creation of more than one stripe
per MDT.  It is also possible to place multiple stripes on
the same MDT using specific striping with -m.

This allows a single directory to more fully use the full
capability of each MDT in the file system.

Two limitations of note:
1. This requires > 1 MDT, otherwise the DNE subsystem is
not initialized.
2. Due to recovery limitations, we allow a max of only 5
stripes per MDT.

MDT overstriping increases mdtest-hard-write performance by
up to 13%, mdtest-hard-stat by 93%, at the cost of a slight
drop in mdtest-hard-read (7%), with no change in delete.

4 MDTs, 1 stripe/MDT:
mdtest-hard-write      117.399467 kIOPS : time 339.496 seconds
mdtest-hard-stat      727.020749 kIOPS : time 55.666 seconds
mdtest-hard-read      245.556392 kIOPS : time 162.897 seconds
mdtest-hard-delete      104.379111 kIOPS : time 382.710 seconds

4 MDTs, 4 stripes/MDTs:
mdtest-hard-write      132.963290 kIOPS : time 309.093 seconds
mdtest-hard-stat     1408.161148 kIOPS : time 30.107 seconds
mdtest-hard-read      229.383910 kIOPS : time 179.576 seconds
mdtest-hard-delete      103.284369 kIOPS : time 398.442 seconds

Lustre-change: https://review.whamcloud.com/35034
Lustre-commit: 81ac7c0c989dd862e2215a4635c77e5123289658

Signed-off-by: Patrick Farrell <pfarrell@whamcloud.com>
Signed-off-by: Qian Yingjin <qian@ddn.com>
Signed-off-by: Lai Siyao <lai.siyao@whamcloud.com>
Change-Id: I11556b223029820bd335e87c7bf073970e03468d
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/53570
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
20 files changed:
lustre/doc/lfs-getdirstripe.1
lustre/doc/lfs-setdirstripe.1
lustre/include/lustre_net.h
lustre/include/uapi/linux/lustre/lustre_user.h
lustre/lod/lod_internal.h
lustre/lod/lod_object.c
lustre/lod/lod_qos.c
lustre/lod/lproc_lod.c
lustre/mdt/mdt_handler.c
lustre/mdt/mdt_recovery.c
lustre/mdt/mdt_xattr.c
lustre/ptlrpc/layout.c
lustre/ptlrpc/service.c
lustre/ptlrpc/wiretest.c
lustre/tests/sanity.sh
lustre/tests/test-framework.sh
lustre/utils/lfs.c
lustre/utils/liblustreapi.c
lustre/utils/wirecheck.c
lustre/utils/wiretest.c