Skip to content

mon,mds: make standby-replay state more capable #4

Draft
ifed01 wants to merge 2 commits intomasterfrom
wip-ifed-many-standby-replay-mds
Draft

mon,mds: make standby-replay state more capable #4
ifed01 wants to merge 2 commits intomasterfrom
wip-ifed-many-standby-replay-mds

Conversation

@ifed01
Copy link

@ifed01 ifed01 commented Dec 6, 2025

This allows 2 standby-replay daemons and permits cephfs scrubbing at standby-replay MDS.

To fully benefit from this PR one can use 'ceph mds freeze ' command to 'freeze' specific MDS. This leaves the latter in standby-replay mode permanently but lets other daemons to cycle through their states as designed. Hence FS keeps functioning properly with an additional standby-replay daemon. Which gets an ability to monitor FS in parallel this way.

Contribution Guidelines

  • To sign and title your commits, please refer to Submitting Patches to Ceph.

  • If you are submitting a fix for a stable branch (e.g. "quincy"), please refer to Submitting Patches to Ceph - Backports for the proper workflow.

  • When filling out the below checklist, you may click boxes directly in the GitHub web UI. When entering or editing the entire PR message in the GitHub web UI editor, you may also select a checklist item by adding an x between the brackets: [x]. Spaces and capitalization matter when checking off items this way.

Checklist

  • Tracker (select at least one)
    • References tracker ticket
    • Very recent bug; references commit where it was introduced
    • New feature (ticket optional)
    • Doc update (no ticket needed)
    • Code cleanup (no ticket needed)
  • Component impact
    • Affects Dashboard, opened tracker ticket
    • Affects Orchestrator, opened tracker ticket
    • No impact that needs to be tracked
  • Documentation (select at least one)
    • Updates relevant documentation
    • No doc update is appropriate
  • Tests (select at least one)
Show available Jenkins commands

You must only issue one Jenkins command per-comment. Jenkins does not understand
comments with more than one command.

Signed-off-by: Igor Fedotov <igor.fedotov@croit.io>
Signed-off-by: Igor Fedotov <igor.fedotov@croit.io>
Comment on lines +2448 to +2455
int followables = mds_map.is_followable(rank);
if (followables < 2 ) {
dout(1) << " setting mds." << info->global_id
<< " to follow mds rank " << rank << dendl;
fsmap.assign_standby_replay(info->global_id, fs.get_fscid(), rank);
do_propose = true;
changed = true;
break;
//break;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it about having at least 2 standby-replay mds?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Generally this should be rather configurable but for now this allows up to 2 MDS-es in standby-replay mode.

Copy link

@sajibreadd-croit sajibreadd-croit left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants