New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(lep): auto-balance pressured disks #7576
base: master
Are you sure you want to change the base?
feat(lep): auto-balance pressured disks #7576
Conversation
101af10
to
66b6aed
Compare
longhorn-4105 Signed-off-by: Chin-Ya Huang <chin-ya.huang@suse.com>
66b6aed
to
3e6c271
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
IIUC correctly, there is no mechanism to select which replica on a disk would be best (whatever that means) to autobalance. Instead, it is essentially random. Whichever volume happens to reconcile first when a disk is under pressure is balanced to a different disk.
Do you think there is a significant advantage to choosing one replica versus another? If so, how difficult do you think it would be to add that kind of choice to the implementation? (My initial thought is that it would add significant complexity, since right now all replica scheduling decisions are made with only the replica to be scheduled and the aggregate available space on nodes in disks in mind.)
string target = 2; | ||
} | ||
``` | ||
1. Then the sync-agent server is responsible for copying the files using `req.SyncFileInfoList` from source to the target directory when `req.FilesSyncRequest.LocalSync` is provided. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How exactly are the files copied? I have experienced some strange behavior when experimenting with copying replica sparse files before, even when using options meant to preserve sparseness. The checksums always matched (and IIRC matched even if sparseness was not preserved), but it the actual space usage was different by a little bit between the source and target file. I think the exact behavior varied between copy utilities (e.g. rsync vs cp, etc.).
Some questions before diving into the codes:
|
Which issue(s) this PR fixes:
Issue #4105
What this PR does / why we need it:
Propose to enhance replica auto-balance (best-effort) with
replica-auto-balance-disk-pressure-percentage
setting to allow automatically rebuild replica on another disk when the defined threshold is reached.Special notes for your reviewer:
None
Additional documentation or context
None