Re: Issue with Both Diskful Nodes Being Outdated in DRBD9
Joel Colledge <[email protected]> Tue, 7 Jan 2025 17:12:58 +0100
| Newsgroups | gmane.comp.linux.drbd |
|---|---|
| Message-ID | <CAGNP_+XziEF01H2ijczCqt_Tfo41qL9g_55sbh_7kfKYqMk1sw@mail.gmail.com> |
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, a= fter the network is restored and synchronization is completed, the sync tar= get updates its metadata to match the sync source, which causes its state t= o also become outdated. I am able to reproduce the problem too now. > Would it be possible to introduce a parameter that allows users to preven= t 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