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@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 
_______________________________________________
Star us on GITHUB: https://github.com/LINBIT
drbd-user mailing list
drbd-user@lists.linbit.com
https://lists.linbit.com/mailman/listinfo/drbd-user

Reply via email to