Issue with Both Diskful Nodes Being Outdated in DRBD9
Joel Colledge
joel.colledge at linbit.com
Tue Jan 7 17:12:58 CET 2025
Hi Rui,
> I installed DRBD 9.2.12 and retested, but the issue persists.
>
> I think the logic of this problem is quite clear. First, an Inconsistent replication serving as a sync target can be promoted to the primary when it is connected to an uptodate replication. Next, if the connection with the primary node is lost, the uptodate replication becomes outdated. Finally, after the network is restored and synchronization is completed, the sync target updates its metadata to match the sync source, which causes its state to also become outdated.
I am able to reproduce the problem too now.
> Would it be possible to introduce a parameter that allows users to prevent the promotion of Inconsistent replications? This could help avoid the the issue. If you have other solutions, that would be great as well, of course.
I believe the correct fix is at step 5. of your original reproduction
steps. Node B should know that A does not have access to any UpToDate
data and so cannot complete any writes. So node B should not become
Outdated.
I'm not sure how the exact implementation would work. We may need to
add more information to the two-phase commit packets to allow node B
to reliably determine its disk state.
The fix should also make sure that node A does not consider node B to
be Outdated at this stage.
> Additionally, are there other methods to remove the outdated tag from the metadata, aside from using the primary --force command?
It should be possible with the "get-gi" and "set-gi" commands, but I
recommend using "primary --force", because it is much simpler.
Best regards,
Joel
More information about the drbd-user
mailing list