[DRBD-user] Adding a second volume to a resource and making it UpToDate

Bryan K. Walton bwalton+1539795345 at leepfrog.com
Tue Aug 31 04:37:44 CEST 2021


We have a DRBD replication between two storage servers, using
Protocol C. I needed to expand this and add a new DRBD device
to our resource. The primary/secondary server state is controlled
by Pacemaker.

So, last Wednesday, I added a second volume to our DRBD resource.
Then, I created the drbd metadata on the new DRBD device on both
storage servers. And then I updated the DRBD configuration to
tell it to load the second DRBD drive. At this point, 
"drbdadm status r0" on both storage servers show the new block
device status as "Inconsistent".  Both storage servers were
showing something like this:

[root at storage1 ~]# drbdadm status r0
r0 role:Primary
  volume:0 disk:UpToDate
  volume:1 disk:Inconsistent
  storage2 role:Secondary
    volume:0 peer-disk:UpToDate
    volume:1 peer-disk:Inconsistent


So, on the primary server, I ran: drbdadm primary --force r0
It seems this should start the initial sync from the primary
server to the secondary server.

However, this command had no impact on Volume 1. Volume 1 was
staying in an inconsistent state and was not syncing.  I spent
a lot of time researching this before I finally found this:

https://lists.linbit.com/pipermail/drbd-user/2019-March/024813.html

In the very last post in this thread there is this:

"DRBD requires some intervention to enable the volume. The
simplest method to get the new volume working would be to demote
the resource to the "Secondary" role and then promote it to the
"Primary" role again, using drbdadm primary --force resourcename.
The newly added volume will then perform a full sync and should
end up "UpToDate" once the sync finishes."

Here I made a very bad mistake.  I issued "pcs cluster standby storage1"
to put the primary storage into standby mode.  However, with Volume 1
in an Inconsistent state on both servers, what happened, was that
storage1 went into secondary mode and storage2 (the secondary server)
failed to be elevated to primary.  At this point all of our storage went
off line, with both storage servers in secondary mode.

So, maybe this is a question for the Pacemaker mailing list, but what
did I do wrong here?  When adding a second volume to a resource, what is
the proper way to change its state from Inconsistent to UpToDate?

Thanks,
Bryan 


More information about the drbd-user mailing list