Uploaded image for project: 'Lustre'
  1. Lustre
  2. LU-13363

unbalanced round-robin for object allocation in OST pool

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Major
    • Lustre 2.16.0
    • Lustre 2.14.0
    • None
    • Two OST pools with two different sizes of OSTs within the same filesystem
    • 3
    • 9223372036854775807

    Description

      Here is an example. create two OST pools with 12 OSTs. pool 'nvme' consists of OST index[0-7].

      lctl pool_new scratch.nvme
      lctl pool_new scratch.hdd
      lctl pool_add scratch.nvme OST[0-7]
      lctl pool_add scratch.hdd OST[8-b]
      

      If an client creates 48 files (new files) into an directory which is associated with 8 OSTs by OST pool, it would expect 6 OST objects per OST, but results was totally unbalanced.
      Test was repeated 5 times, and here is a result how many OST objects allocated to each OST in each test.

      Used 8 of 12 OSTs with an OST pool

            ost index 
          0  1 2 3 4 5  6  7
      t1. 4 10 3 8 5 6  8  4
      t2. 6  5 6 7 8 4 10  2
      t3. 3 10 8 6 5 9  6  1
      t4. 4 10 6 5 4 6  8  5
      t5. 6  6 7 4 6 5  8  6
      

      If filesystem created on just 8 OSTs and no OST pool, OST objects were allocated to across 8 OSTs in an balanced and round-robin worked perfectly.

      Just 8 OST without OST pool

            ost index 
          0 1 2 3 4 5 6 7
      t1. 6 6 6 6 6 6 6 6
      t2. 6 6 6 6 6 6 6 6
      t3. 6 6 6 6 6 6 6 6
      t4. 6 6 6 6 6 6 6 6
      t5. 6 6 6 6 6 6 6 6
      

      Attachments

        Issue Links

          Activity

            People

              bzzz Alex Zhuravlev
              sihara Shuichi Ihara
              Votes:
              0 Vote for this issue
              Watchers:
              10 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: