[DRBD-user] Need help, we want invalidate if role=Secondary and uuid_compare rule==4

putcha narayana putcha_laks at hotmail.com
Thu Nov 4 13:25:31 CET 2010

We would like to force resync on standby if uuid_compare rule==4 ONLY. 
Why?? We are seeing DRBD files corrupted consistently and each time corruption is seen rule is 4. Mail chain below has full details. 
Yes this is a work around because we are on DRBD-8.0.16
snmpd version upgrade is a strict NO, NO.
Whenever we observed the following two lines, we recreated metadata on secondary node and there was not file corruption seen.
File Corruption: Content of other files are seen in snmpd.conf file. File corrupted is always snmpd.conf
--> uuid_compare()=0 by rule 4
--> No resync, but 78 bits in bitmap!                      <<<< Number of bits is variable. >>>>

invalidate and invalidate-remote options are available under drbdadm tool, but can only be invoked externally???
We would like to kick of sync only when we hit uuid_compare() by rule 4.
Work around below needs tweaking:
                case 0:
                      INFO("Lak: 0 by Rule 4, current state = %d current role = %d ! \n",
                            mdev->state.conn, mdev->state.role);
                      /* !self_pri && !peer_pri */
                      if (mdev->state.conn == WFBitMapT) {
                        drbd_start_resync(mdev, SyncTarget);
                      else if (mdev->state.conn == WFBitMapS) {
                        drbd_start_resync(mdev, SyncSource);
                      else if (mdev->state.conn == SyncTarget) {
                         drbd_start_resync(mdev, SyncTarget);
                      else if (mdev->state.conn == SyncSource) {
                         drbd_start_resync(mdev, SyncSource);
                      else if (mdev->state.role == Secondary) {
                         drbd_start_resync(mdev, SyncTarget);
                      return 0;

dmesg output on Standby Controller:
drbd0: Lak: 0 by Rule 4, current state = 9 current role = 2 ! 
drbd0: State change failed: Refusing to be inconsistent on both nodes
drbd0:   state = { cs:WFReportParams st:Secondary/Unknown ds:UpToDate/DUnknown r--- }
drbd0:  wanted = { cs:SyncTarget st:Secondary/Unknown ds:Inconsistent/DUnknown r--- }


From: putcha_laks at hotmail.com
To: drbd-user at lists.linbit.com
Date: Wed, 3 Nov 2010 06:50:46 +0000
Subject: [DRBD-user] Issue with uuid_compare by rule 4


DRBD -Version 8.0.16 (Code for uuid_compare by rule 4 is same in all DRBD-8.x.y versions)
We are consistently seeing content of snmpd.conf get corrupted -- sometimes it shows iptables and sometimes it has some wierd binary data.
In all the instances we have seen corruption, Pattern observed from dmesg
uuid_compare()=0 by rule 4
No resync, but 78 bits in bitmap!                      <<<< Number of bits is variable. >>>>

More information about the drbd-user mailing list