[DRBD-user] DRBD8 ADJUST&DISCONNECT

Florian Haas florian.haas at linbit.com
Fri Nov 23 11:50:36 CET 2007

Note: "permalinks" may not be as permanent as we would like,
direct links of old sources may well be a few messages off.


On Friday 23 November 2007 08:53:57 yataman wrote:
> Hi All,
>
> I've got couple of questions related to drbd8 (exactly 8.0.6).
>
> I have configured replication task in Primary/Secondary mode.
>
> Print of cat /proc/drbd
>
> 1:cs:Connected st:Primary/Secondary ds:UpToDate/UpToDate C r---
>    ns:96 nr:0 dw:677 dr:55425 al:0 bm:23 lo:0 pe:0 ua:0 ap:0
>        resync: used:0/31 hits:3342 misses:14 starving:0 dirty:0 changed:14
>        act_log: used:0/127 hits:109 misses:0 starving:0 dirty:0 changed:0
>
> Then I executed drbdadm adjust:
>
> # drbdadm adjust resource

drbdadm adjust can mean just about anything, depending on what you last 
changed in your config.

You can do "drbdadm -d adjust" beforehand. This will enable dry-run mode for 
drbdadm and will just print out the drbdsetup commands drbdadm would execute, 
instead of really executing them. If you give us that "drbdadm -d adjust" 
console output, we can take a look at what's really happening.

> # cat /proc/drbd
> version: 8.0.6 (api:86/proto:86)
> SVN Revision: 3048 build by root at develsystem, 2007-11-22 16:43:54
>  1: cs:SyncTarget st:Primary/Secondary ds:Inconsistent/UpToDate C r---
>    ns:0 nr:13504 dw:13504 dr:0 al:0 bm:32 lo:1 pe:225 ua:2 ap:0
>        [>...................] sync'ed:  1.0% (2083712/2097152)K
>        finish: 0:02:33 speed: 13,440 (13,440) K/sec
>        resync: used:2/31 hits:1065 misses:2 starving:0 dirty:0 changed:2
>        act_log: used:0/127 hits:0 misses:0 starving:0 dirty:0 changed:0

Your node is Primary and just became a SyncTarget. That's at least suspicious. 
Can you post a kernel log excerpt from around the time this happened?

> And the second questions. Is it possible to terminate synchronization?

No. You can pause the synchronization (see the drbdadm man page and look for 
pause-sync, the man page also lists a scenario when this is useful), but not 
terminate it permanently. Wouldn't make any sense at all to be able to, 
because it would mean you'd deliberately leave one of your nodes in an 
Inconsistent state.

> After execution of drbdadm disconnect I got an error:
>
> # drbdadm disconnect resource
> State change failed: (-2) Refusing to be Primary without at least one
> UpToDate disk
> Command 'drbdsetup /dev/drbd1 disconnect' terminated with exit code 11

You are Primary. The local disk is still being synced, so it is Inconsistent. 
All not-yet-consistent data on that device is fetched over the network before 
being passed on to upper layers. Thus if you disconnected, you couldn't be 
Primary any longer. Because of this, the state engines disallows a disconnect 
at this point. You can become Secondary and _then_ disconnect. Or remain 
Primary, wait for the resync to complete and the local disk become UpToDate 
again, and disconnect.

But your Primary becoming SyncTarget is something that needs to be 
investigated. Please post a kernel log excerpt as stated above. And your 
drbd.conf. Thanks.

Cheers,
Florian

-- 
: Florian G. Haas
: LINBIT Information Technologies GmbH
: Vivenotgasse 48, A-1120 Vienna, Austria



More information about the drbd-user mailing list