Conversation
|
Ticket title is 'Convert pools with --mem-ratio 100% to --mem-ratio <100% and bigger meta blob' |
Design for phase1 to phase2 pool conversion. Signed-off-by: Niu Yawei <yawei.niu@hpe.com>
bc060fa to
30f422e
Compare
|
|
||
| - **Problem**: A legacy MD-on-SSD pool created with a 100% memory ratio operates in phase1 mode. All existing metadata is non-evictable (NE), and the META blob has no evictable capacity for phase2 allocations. | ||
|
|
||
| - **Proposal**: Add a `dmg pool convert` operation that makes the pool temporarily unavailable, enlarges every target's META blob, slightly enlarges every VOS memory file, and enables phase2. Existing DAV2 zones remain NE; newly appended META zones provide evictable (E) capacity. |
There was a problem hiding this comment.
I feel dmg pool resize is better name.
There was a problem hiding this comment.
Right, 'resize' is a better name if we consider future pool vertical extending feature.
| ``` | ||
| dmg pool convert <pool> --mem-ratio <percent> [--ne-reserve <size>] [--dry-run] [--wait[=<timeout>]] | ||
| dmg pool convert-status <pool> [--generation <uuid>] | ||
| dmg pool convert-cancel <pool> --generation <uuid> |
There was a problem hiding this comment.
what is --generation used for?
There was a problem hiding this comment.
Right. It could be simplified if we allow only exclusive pool conversion.
|
|
||
| - All pool ranks and targets are available. Conversion does not run on an excluded, down, rebuilding, or reintegrating target. | ||
|
|
||
| - No rebuild, upgrade, check, extend, drain, exclude, reintegrate, or destroy operation is active. |
There was a problem hiding this comment.
We need consider how this work with existed pool reint command. considering there are targets are excluded before pool convert. after pool converted successfully. currently reint will reuse existed vos pool if existed without converting. So pool reint need extra size check and regenerating pool even existed.
There was a problem hiding this comment.
Converting with excluded rank isn't supported. (see above precondition).
- remove 'convert UUID' option for 'dmg pool convert-status' and 'dmg pool convert-cancel' - rename command from 'convert' to 'resize' Signed-off-by: Niu Yawei <yawei.niu@hpe.com>
|
|
||
| - **After any META blob grows**: Keep the pool fenced and resume forward. Expanded blobs are not shrunk. | ||
|
|
||
| - **Before the evictable flag is set**: A shard remains phase1-compatible with larger storage. Resume heap/VOS preparation. |
There was a problem hiding this comment.
If some of shards set with evict-able flag, but some are not. and convert status marked as failed. Are we going to make this DAOS system workable or not?
There was a problem hiding this comment.
Yes. evict-able flag for each shard is independent, the pool could open for service after 'dmg resize-cancel' is done.
Design for phase1 to phase2 pool conversion.
Steps for the author:
After all prior steps are complete: