Details

    • Technical task
    • Resolution: Unresolved
    • Minor
    • None
    • None
    • None
    • 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.

      Attachments

        Activity

          [LU-13564] WBC: inode and space grant mechanism under WBC

          "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

          gerrit Gerrit Updater added a comment - "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

          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).

          adilger Andreas Dilger added a comment - 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 ).

          People

            wc-triage WC Triage
            qian_wc Qian Yingjin
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated: