LOD/OSP Implementation (LU-1303)

[LU-2051] verify lod_alloc_rr() code is doing what we want Created: 28/Sep/12  Updated: 29/May/17  Resolved: 29/May/17

Status: Resolved
Project: Lustre
Component/s: None
Affects Version/s: Lustre 2.4.0
Fix Version/s: Lustre 2.4.0

Type: Technical task Priority: Critical
Reporter: Andreas Dilger Assignee: Alex Zhuravlev
Resolution: Fixed Votes: 0
Labels: None

Story Points: 2
Rank (Obsolete): 4281

 Description   

Per comments in http://review.whamcloud.com/4058, we need to have some discussion/investigation on how the lod_alloc_rr() code is behaving under various circumstances. It isn't clear that it is as flexible as the previous lov alloc_rr/osc_precreate behaviour, and this is an area that has needed a lot of tuning in the past to work well under a variety of conditions.



 Comments   
Comment by Alex Zhuravlev [ 12/Oct/12 ]

any specific concern ?

Comment by Andreas Dilger [ 13/Oct/12 ]

Several previous bugs come to mind:

  • ensure that precreate count is scaling with load
  • precreate starts early enough so that MDS create doesn't stall
  • skip inactive or degraded OSTs
    • ideally ZFS OSD can set this flag itself?
  • RR allocation is properly balancing objects on OSTs
  • QOS space balance works properly with imbalanced OSTs

I think there are tests foremost of these conditions, but it would be good to verify this.

Comment by Alex Zhuravlev [ 07/Oct/15 ]

Andreas, do you think we still need to do this? there was a patch from Seagate (landed now) where they improved RR and they reported it's now doing much more predictable.

Comment by Andreas Dilger [ 08/Oct/15 ]

The lod_alloc_rr() code itself was fixed to avoid races in updating the state, but it still isn't clear if things like OST object precreation is working optimally (e.g. precreate starts early enough). In particular, there was a benefit shown at LUG a long time ago to start precreate when only 1/4 of the MDS objects were used, rather than waiting until 1/2 were used.

The ZFS DEGRADED flag setting is LU-4277.
The QOS balance and RR balance is LU-9.

Generated at Sat Feb 10 01:21:57 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.