Open obilaniu opened 1 month ago
Hi @obilaniu,
Thank you for the detailed proposal and write-up of what we discussed at Stammtisch. I agree this would be a valuable addition to BeeGFS. While we don't have immediate plans to begin work on this, we'll use this issue to continue collecting feedback and ideas on how this could eventually be done.
A few weeks back at the Stammtisch, the idea of a Progressive File Layout (PFL) implementation (à la Lustre but less complicated) was raised. The user that raised the topic hasn't made a feature request yet here so I am taking the initiative.
What I proposed at the Stammtisch is a simplified variant of PFL with 2 (+1) zones. A user would be able to define two zones:
each with independent stripe count/size.
The additional (+1) zone would be a filesystem-internal zone, not visible to the user, whose utility would be in guaranteeing that an in-place, server-side migration between arbitrary two-zone striping schemes can always be performed safely. That would be achieved by gradually rewriting the file from one scheme to another, chunk-by-chunk, never fully duplicating the file and atomically updating with every chunk the updated "true" PFL until it matches the target PFL.
This would address the target-unbalance issue and the performance issues; two zones ought to cover most use-cases; and also enable restriping without deep-copying.