Metadata writeback cache support (LU-10938)

[LU-13564] WBC: inode and space grant mechanism under WBC Created: 15/May/20  Updated: 15/Feb/23

Status: Open
Project: Lustre
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Technical task Priority: Minor
Reporter: Qian Yingjin Assignee: WC Triage
Resolution: Unresolved Votes: 0
Labels: None

Issue Links:
Related
Rank (Obsolete): 9223372036854775807

 Description   

Under WBC, all metadata and data are cached in MemFS, not being flushed to MDT and OSTs. To void running out of the server space, it needs to design a grant mechanism similar to current OST space grant to control inodes grant from MDT.
The following points need to consider for grant mechanism under WBC:

  • In the DNE environment, how to select MDT for the newly creation? Maybe the whole root WBC subtree should be located on the same MDT?
  • In current WBC implementation, the data objects for the regular file will be created when flush the file to MDT and the layout will be instantiated also. This can be optimized as follows:
    • It could send the current size of the file to MDT, then it can determine how to allocate data object more clear accordingly.
    • Delay to allocate data objects and instantiate the layout for the regular file unless it is necessary.


 Comments   
Comment by Andreas Dilger [ 16/May/20 ]

As a general rule, it is much more efficient to keep subdirectory trees on a single MDT, since this avoids expensive cross-MDT transactions. The good thing with metadata vs. data, is that it is relatively easy to change over to a new MDT if one is getting full by creating a remote directory entry.

There is already a protocol for OSTs to grant clients space for data at connect time, and the same should be used for grant from the MDTs. Since DoM is using the OST read/write protocol to the MDS, it should be possible to use this for data grant, but some changes may be needed to add in metadata grant (e.g. inodes).

As for MDT/OST selection, the client already has "LMV QOS" logic for directory selection with "lfs mkdir -i -1" so this can be reused (LU-13417).

Comment by Gerrit Updater [ 01/Aug/22 ]

"Yingjin Qian <qian@ddn.com>" uploaded a new patch: https://review.whamcloud.com/48099
Subject: LU-13564 wbc: check low inode threshold for MDT
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: 0cdacc7e46243ef6e541ee8a678dd9dbf6783ad7

Generated at Sat Feb 10 03:02:20 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.