Details

    • Bug
    • Resolution: Fixed
    • Critical
    • Lustre 2.16.0
    • Lustre 2.11.0
    • 3
    • 9223372036854775807

    Description

      Patch https://review.whamcloud.com/25336 for LU-9090 has increased the default OST BRW size to 4MB. Patch for this ticket will increase the default stripe size from 1MB to 4MB so that widely-striped files can generate full RPCs without pinning so much memory on the client.

      Attachments

        Issue Links

          Activity

            [LU-10465] increase default stripe size to 4MB

            "Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/c/fs/lustre-release/+/37318/
            Subject: LU-10465 lov: increase default stripe size to 4MB
            Project: fs/lustre-release
            Branch: master
            Current Patch Set:
            Commit: ea18d7da59d369f093e340e150544f51b2f229a1

            gerrit Gerrit Updater added a comment - "Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/c/fs/lustre-release/+/37318/ Subject: LU-10465 lov: increase default stripe size to 4MB Project: fs/lustre-release Branch: master Current Patch Set: Commit: ea18d7da59d369f093e340e150544f51b2f229a1

            Mike Pershin (mpershin@whamcloud.com) uploaded a new patch: https://review.whamcloud.com/39957
            Subject: LU-10465 lod: adjust component stripe size
            Project: fs/lustre-release
            Branch: b2_12
            Current Patch Set: 1
            Commit: bf76de5430fa104b2992f40768cdf8c97699f1de

            gerrit Gerrit Updater added a comment - Mike Pershin (mpershin@whamcloud.com) uploaded a new patch: https://review.whamcloud.com/39957 Subject: LU-10465 lod: adjust component stripe size Project: fs/lustre-release Branch: b2_12 Current Patch Set: 1 Commit: bf76de5430fa104b2992f40768cdf8c97699f1de

            Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/37661/
            Subject: LU-10465 lod: adjust component stripe size
            Project: fs/lustre-release
            Branch: master
            Current Patch Set:
            Commit: e67a7f7b960a042ae7369e81e4365c6f7e095d25

            gerrit Gerrit Updater added a comment - Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/37661/ Subject: LU-10465 lod: adjust component stripe size Project: fs/lustre-release Branch: master Current Patch Set: Commit: e67a7f7b960a042ae7369e81e4365c6f7e095d25

            Mike Pershin (mpershin@whamcloud.com) uploaded a new patch: https://review.whamcloud.com/37661
            Subject: LU-10465 lod: adjust component stripe size
            Project: fs/lustre-release
            Branch: master
            Current Patch Set: 1
            Commit: 6b589349595efb4eba73b40c7e7e8f07c41bd8b3

            gerrit Gerrit Updater added a comment - Mike Pershin (mpershin@whamcloud.com) uploaded a new patch: https://review.whamcloud.com/37661 Subject: LU-10465 lod: adjust component stripe size Project: fs/lustre-release Branch: master Current Patch Set: 1 Commit: 6b589349595efb4eba73b40c7e7e8f07c41bd8b3

            Probably I see where problem is, test does the following:

            $LFS migrate -E 2M -c1 -E -1 -c2 $dom
            

            without implicitly set stripe size, LOD uses default size 4MB and fails because it is over whole component 2MB. Considering the user may not know default MDT stripe size, I'd say it is not his fault to use 2MB component, and either lfs or LOD should take care and reduce stripe size to the component size maybe?

            tappro Mikhail Pershin added a comment - Probably I see where problem is, test does the following: $LFS migrate -E 2M -c1 -E -1 -c2 $dom without implicitly set stripe size, LOD uses default size 4MB and fails because it is over whole component 2MB. Considering the user may not know default MDT stripe size, I'd say it is not his fault to use 2MB component, and either lfs or LOD should take care and reduce stripe size to the component size maybe?
            tappro Mikhail Pershin added a comment - - edited

            Test failed due to that error:

            (lod_lov.c:1934:lod_verify_striping()) stripe size isn't aligned, stripe_sz: 4194304, [0, 2097152)
            

            So this check in lod_verify_striping() is not quite correct, isn't it? If original file has 1MB for first component and 3MB, 4MB ... for the second, then it can be migrated to 2MB for the first and then 2MB, 4MB, ... for the second component.
             

            tappro Mikhail Pershin added a comment - - edited Test failed due to that error: (lod_lov.c:1934:lod_verify_striping()) stripe size isn't aligned, stripe_sz: 4194304, [0, 2097152) So this check in lod_verify_striping() is not quite correct, isn't it? If original file has 1MB for first component and 3MB, 4MB ... for the second, then it can be migrated to 2MB for the first and then 2MB, 4MB, ... for the second component.  

            The second chunk (start of second component, after DoM component) should just be a bit shorter, starting at 1MB and ending at 4MB, with a "hole" at the start where the DoM opponent is. Then the rest of the chunks in the second component would be properly sized/aligned at 4MB.

            It is done this way so that eg. the DoM data could be written into the second component without having to move all the later data.

            adilger Andreas Dilger added a comment - The second chunk (start of second component, after DoM component) should just be a bit shorter, starting at 1MB and ending at 4MB, with a "hole" at the start where the DoM opponent is. Then the rest of the chunks in the second component would be properly sized/aligned at 4MB. It is done this way so that eg. the DoM data could be written into the second component without having to move all the later data.

            Andreas, this happens because new component stripes are not aligned with an old ones. We have original file with 1MB DOM component and not defined second component, e.g. it become 4MB stripes by default. Test tries to migrate to PFL layout with 2MB as first component stripe and second component by default. With 1MB default it works, but with 4MB boundaries are not aligned. So test should be changed to migrate to the same first stripe size it seems.

            Meanwhile I wonder, is that OK that components are not aligned by stripe size in a file? E.g. for original file we have [0, 1MB) for DOM and then 4MB stripes, so whole file has stripes as 1MB, 4MB, 4, ... and each 4MB stripe is not aligned at 4MB from the file beginning. I am not sure is that a problem or not, but wouldn't be better to adjust new component stripe sizes to be aligned with that component start?

            tappro Mikhail Pershin added a comment - Andreas, this happens because new component stripes are not aligned with an old ones. We have original file with 1MB DOM component and not defined second component, e.g. it become 4MB stripes by default. Test tries to migrate to PFL layout with 2MB as first component stripe and second component by default. With 1MB default it works, but with 4MB boundaries are not aligned. So test should be changed to migrate to the same first stripe size it seems. Meanwhile I wonder, is that OK that components are not aligned by stripe size in a file? E.g. for original file we have [0, 1MB) for DOM and then 4MB stripes, so whole file has stripes as 1MB, 4MB, 4, ... and each 4MB stripe is not aligned at 4MB from the file beginning. I am not sure is that a problem or not, but wouldn't be better to adjust new component stripe sizes to be aligned with that component start?

            Mike, it looks like there are still failures in the DoM tests when the default stripe size is changed to 4MB. Could you please take a look.
            https://testing.whamcloud.com/test_sets/c361e79a-3e3d-11ea-bc97-52540065bddc

            == sanity test 272c: DoM migration: DOM file to the OST-striped file (composite) ===================== 23:32:52 (1579822372)
            lfs migrate: cannot create composite file '/mnt/lustre/d272c.sanity/.:VOLATILE:0000:5EB80E61': Invalid argument
            error: lfs migrate: /mnt/lustre/d272c.sanity/f272c.sanity: cannot create volatile file: Operation not permitted
             sanity test_272c: @@@@@@ FAIL: failed to migrate to the new composite layout 
            
            adilger Andreas Dilger added a comment - Mike, it looks like there are still failures in the DoM tests when the default stripe size is changed to 4MB. Could you please take a look. https://testing.whamcloud.com/test_sets/c361e79a-3e3d-11ea-bc97-52540065bddc == sanity test 272c: DoM migration: DOM file to the OST-striped file (composite) ===================== 23:32:52 (1579822372) lfs migrate: cannot create composite file '/mnt/lustre/d272c.sanity/.:VOLATILE:0000:5EB80E61': Invalid argument error: lfs migrate: /mnt/lustre/d272c.sanity/f272c.sanity: cannot create volatile file: Operation not permitted sanity test_272c: @@@@@@ FAIL: failed to migrate to the new composite layout

            Andreas Dilger (adilger@whamcloud.com) uploaded a new patch: https://review.whamcloud.com/37318
            Subject: Revert "LU-10465 lov: decrease default stripe size to 1MB"
            Project: fs/lustre-release
            Branch: master
            Current Patch Set: 1
            Commit: 973a7e7042eda757080884ead71468d575516402

            gerrit Gerrit Updater added a comment - Andreas Dilger (adilger@whamcloud.com) uploaded a new patch: https://review.whamcloud.com/37318 Subject: Revert " LU-10465 lov: decrease default stripe size to 1MB" Project: fs/lustre-release Branch: master Current Patch Set: 1 Commit: 973a7e7042eda757080884ead71468d575516402

            I think with LU-10808 fixed that we could try reintroducing this change (essentially revert https://review.whamcloud.com/31589 again).

            Ihara, if you get a chance, could you please run a 4MB default stripe size for IOR FPP and SSF to see the performance impact.

            Vitaly, it would also be good to know if this change improves or hurts performance on your systems before it becomes the default.

            adilger Andreas Dilger added a comment - I think with LU-10808 fixed that we could try reintroducing this change (essentially revert https://review.whamcloud.com/31589 again). Ihara, if you get a chance, could you please run a 4MB default stripe size for IOR FPP and SSF to see the performance impact. Vitaly, it would also be good to know if this change improves or hurts performance on your systems before it becomes the default.

            People

              tappro Mikhail Pershin
              yujian Jian Yu
              Votes:
              0 Vote for this issue
              Watchers:
              10 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: