Whamcloud - gitweb
LU-12273 lod: metadata overstriping 34/35034/20
authorPatrick Farrell <pfarrell@whamcloud.com>
Thu, 19 Jan 2023 20:05:38 +0000 (15:05 -0500)
committerOleg Drokin <green@whamcloud.com>
Fri, 23 Feb 2024 07:09:04 +0000 (07:09 +0000)
commit81ac7c0c989dd862e2215a4635c77e5123289658
tree799c303d86cf952b86edc118094426bef3c085b6
parent672c1432ed0f725ce71c99df9b3791cbc6f28839
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

Test-Parameters: testlist=sanity env=ONLY=300u serverversion=2.14.0
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-on: https://review.whamcloud.com/c/fs/lustre-release/+/35034
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
15 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_object.c
lustre/lod/lod_qos.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/tests/sanity.sh
lustre/tests/test-framework.sh
lustre/utils/lfs.c
lustre/utils/liblustreapi.c