[Drbd-dev] How to handle repl_state is L_OFF in get_max_agreeable_size()

박경민 kmpak at mantech.co.kr
Wed Jul 13 08:56:55 CEST 2016


I think get_max_agreeable_size() function return a agreeable size but first
connected repl_state

So, then will not call bm_resize through the agreeable size.

How's your opinion replacing in the get_max_agreeable_size()
if (peer_device->repl_state[NOW] >= L_ESTABLISHED) {
to
if (peer_device->repl_state[NOW] >= L_OFF) {

What am I concenred about any other things?

Thank you.
-- 

Message: 3
Date: Tue, 12 Jul 2016 18:12:32 +0900
From: ??? <kmpak at mantech.co.kr>
Subject: [Drbd-dev] Failed to sync initially at different volume's
        size
To: drbd-dev at lists.linbit.com
Message-ID:
        <CALLFrTQGkpOfP+41paPU2wWF86uACPCoVwvTvpDN9tzxT6Z2Gw at mail.gmail.com>
Content-Type: text/plain; charset="utf-8"

Hello.

After 4fe4c96 commit
<
http://git.drbd.org/drbd-9.0.git/commit/4fe4c962f41307c2db2846f18f5137082f339cd9
>
in
DRBD9,
If both volume's size is different, It is not going on progress sync
initially, at  WFBitmapS/WFBitmapT

When ds is Inconsistent/Inconsistent, then I command "primary --force"
It was stalled at receive_bitmap(), because decode_bitmap_c() return err is
positive value.
In decoding at recv_bm_rle_bits(),  bit_offset can't arrive bm_bits' value.

I'm looking for this case more.
Plz. help me

Before 4fe4c96, it works between nodes by the minimum volume's size.



In case 1:1 config, volume 200MB, 210MB log below

Jul 12 18:00:04 DRBD9_1 kernel: drbd r0: Starting worker thread (from
drbdsetup [102643])
Jul 12 18:00:04 DRBD9_1 drbd: Starting DRBD resources: [
Jul 12 18:00:04 DRBD9_1 drbd: create res: r0
Jul 12 18:00:04 DRBD9_1 systemd-udevd: error: /dev/drbd1: Wrong medium type
Jul 12 18:00:04 DRBD9_1 drbd: prepare disk: r0
Jul 12 18:00:04 DRBD9_1 kernel: drbd r0/0 drbd1: disk( Diskless ->
Attaching )
Jul 12 18:00:04 DRBD9_1 kernel: drbd r0/0 drbd1: Maximum number of peer
devices = 1
Jul 12 18:00:04 DRBD9_1 kernel: drbd r0: Method to ensure write ordering:
flush
Jul 12 18:00:04 DRBD9_1 kernel: drbd r0/0 drbd1: my node_id: 0
Jul 12 18:00:04 DRBD9_1 kernel: drbd r0/0 drbd1: Adjusting my ra_pages to
backing device's (32 -> 1024)
Jul 12 18:00:04 DRBD9_1 kernel: drbd r0/0 drbd1: my node_id: 0
Jul 12 18:00:04 DRBD9_1 kernel: drbd r0/0 drbd1: drbd_bm_resize called with
capacity == 430080
Jul 12 18:00:04 DRBD9_1 kernel: drbd r0/0 drbd1: resync bitmap: bits=53760
words=840 pages=2
Jul 12 18:00:04 DRBD9_1 kernel: drbd r0/0 drbd1: recounting of set bits
took additional 0ms
Jul 12 18:00:04 DRBD9_1 kernel: drbd r0/0 drbd1: Suspended AL updates
Jul 12 18:00:04 DRBD9_1 kernel: drbd r0/0 drbd1: disk( Attaching ->
Inconsistent )
Jul 12 18:00:04 DRBD9_1 kernel: drbd r0/0 drbd1: attached to current UUID:
0000000000000004
Jul 12 18:00:04 DRBD9_1 systemd-udevd: error: /dev/drbd1: Wrong medium type
Jul 12 18:00:04 DRBD9_1 drbd: adjust disk: r0
Jul 12 18:00:04 DRBD9_1 kernel: drbd r0 DRBD9_2: Starting sender thread
(from drbdsetup [102653])
Jul 12 18:00:04 DRBD9_1 drbd: prepare net: r0
Jul 12 18:00:04 DRBD9_1 drbd: attempt to connect: r0
Jul 12 18:00:04 DRBD9_1 drbd: ]
Jul 12 18:00:04 DRBD9_1 kernel: drbd r0 DRBD9_2: conn( StandAlone ->
Unconnected )
Jul 12 18:00:04 DRBD9_1 kernel: drbd r0 DRBD9_2: Starting receiver thread
(from drbd_w_r0 [102644])
Jul 12 18:00:04 DRBD9_1 kernel: drbd r0 DRBD9_2: conn( Unconnected ->
Connecting )
Jul 12 18:00:04 DRBD9_1 kernel: drbd r0 DRBD9_2: Handshake successful:
Agreed network protocol version 111
Jul 12 18:00:04 DRBD9_1 kernel: drbd r0 DRBD9_2: Feature flags enabled on
protocol level: 0x7 TRIM THIN_RESYNC WRITE_SAME.
Jul 12 18:00:04 DRBD9_1 kernel: drbd r0 DRBD9_2: Starting ack_recv thread
(from drbd_r_r0 [102662])
Jul 12 18:00:04 DRBD9_1 kernel: drbd r0: Preparing cluster-wide state
change 480688786 (0->1 499/146)
Jul 12 18:00:04 DRBD9_1 kernel: drbd r0: State change 480688786:
primary_nodes=0, weak_nodes=0
Jul 12 18:00:04 DRBD9_1 kernel: drbd r0: Committing cluster-wide state
change 480688786 (3ms)
Jul 12 18:00:04 DRBD9_1 kernel: drbd r0 DRBD9_2: conn( Connecting ->
Connected ) peer( Unknown -> Secondary )
Jul 12 18:00:04 DRBD9_1 kernel: drbd r0/0 drbd1: current_size: 430080
Jul 12 18:00:04 DRBD9_1 kernel: drbd r0/0 drbd1 DRBD9_2: c_size: 450560
u_size: 0 d_size: 450560 max_size: 450560
Jul 12 18:00:04 DRBD9_1 kernel: drbd r0/0 drbd1 DRBD9_2: la_size: 0
my_usize: 0
Jul 12 18:00:04 DRBD9_1 kernel: drbd r0/0 drbd1: my node_id: 0
Jul 12 18:00:04 DRBD9_1 kernel: drbd r0/0 drbd1 DRBD9_2: node_id: 1 idx: 0
bm-uuid: 0x0 flags: 0x0 max_size: 450560 (DUnknown)
Jul 12 18:00:04 DRBD9_1 kernel: drbd r0/0 drbd1 DRBD9_2: calling
drbd_determine_dev_size()
Jul 12 18:00:04 DRBD9_1 kernel: drbd r0/0 drbd1: my node_id: 0
Jul 12 18:00:04 DRBD9_1 kernel: drbd r0/0 drbd1 DRBD9_2: node_id: 1 idx: 0
bm-uuid: 0x0 flags: 0x0 max_size: 450560 (DUnknown)
Jul 12 18:00:04 DRBD9_1 kernel: drbd r0/0 drbd1 DRBD9_2:
drbd_sync_handshake:
Jul 12 18:00:04 DRBD9_1 kernel: drbd r0/0 drbd1 DRBD9_2: self
0000000000000004:0000000000000000:0000000000000000:0000000000000000
bits:53760 flags:0
Jul 12 18:00:04 DRBD9_1 kernel: drbd r0/0 drbd1 DRBD9_2: peer
0000000000000004:0000000000000000:0000000000000000:0000000000000000
bits:56320 flags:24
Jul 12 18:00:04 DRBD9_1 kernel: drbd r0/0 drbd1 DRBD9_2: uuid_compare()=0
by rule 10
Jul 12 18:00:04 DRBD9_1 kernel: drbd r0/0 drbd1: No resync, but 53760 bits
in bitmap!
Jul 12 18:00:04 DRBD9_1 kernel: drbd r0/0 drbd1 DRBD9_2: pdsk( DUnknown ->
Inconsistent ) repl( Off -> Established )
Jul 12 18:00:04 DRBD9_1 kernel: drbd r0/0 drbd1: Resumed AL updates
Jul 12 18:00:04 DRBD9_1 drbd: WARN: stdin/stdout is not a TTY; using
/dev/consoledrbdadm: Unknown command 'sh-b-pri'
Jul 12 18:00:04 DRBD9_1 drbd: .
Jul 12 18:00:40 DRBD9_1 kernel: drbd r0: Preparing cluster-wide state
change 3595219668 (0->-1 7683/4609)
Jul 12 18:00:40 DRBD9_1 kernel: drbd r0: State change 3595219668:
primary_nodes=1, weak_nodes=FFFFFFFFFFFFFFFC
Jul 12 18:00:40 DRBD9_1 kernel: drbd r0: Committing cluster-wide state
change 3595219668 (1ms)
Jul 12 18:00:40 DRBD9_1 kernel: drbd r0: role( Secondary -> Primary )
Jul 12 18:00:40 DRBD9_1 kernel: drbd r0/0 drbd1: disk( Inconsistent ->
UpToDate )
Jul 12 18:00:40 DRBD9_1 kernel: drbd r0/0 drbd1: size = 210 MB (215040 KB)
Jul 12 18:00:40 DRBD9_1 kernel: drbd r0: Forced to consider local data as
UpToDate!
Jul 12 18:00:40 DRBD9_1 kernel: drbd r0/0 drbd1: new current UUID:
E33ECAD77287E565 weak: FFFFFFFFFFFFFFFC
Jul 12 18:00:40 DRBD9_1 kernel: drbd r0/0 drbd1 DRBD9_2:
drbd_sync_handshake:
Jul 12 18:00:40 DRBD9_1 kernel: drbd r0/0 drbd1 DRBD9_2: self
E33ECAD77287E565:0000000000000000:0000000000000000:0000000000000000
bits:53760 flags:0
Jul 12 18:00:40 DRBD9_1 kernel: drbd r0/0 drbd1 DRBD9_2: peer
0000000000000004:FFFFFFFFFFFFFFFF:0000000000000000:0000000000000000
bits:56320 flags:104
Jul 12 18:00:40 DRBD9_1 kernel: drbd r0/0 drbd1 DRBD9_2: uuid_compare()=3
by rule 30
Jul 12 18:00:40 DRBD9_1 kernel: drbd r0/0 drbd1 DRBD9_2: Writing the whole
bitmap, full sync required after drbd_sync_handshake.
Jul 12 18:00:40 DRBD9_1 kernel: drbd r0/0 drbd1 DRBD9_2: repl( Established
-> WFBitMapS )
Jul 12 18:00:40 DRBD9_1 kernel: drbd r0/0 drbd1 DRBD9_2: send bitmap stats
[Bytes(packets)]: plain 0(0), RLE 21(1), total 21; compression: 99.7%





Jul 12 17:59:57 DRBD9_2 drbd: Starting DRBD resources: [
Jul 12 17:59:57 DRBD9_2 drbd: create res: r0
Jul 12 17:59:57 DRBD9_2 kernel: drbd r0: Starting worker thread (from
drbdsetup [83726])
Jul 12 17:59:57 DRBD9_2 systemd-udevd: error: /dev/drbd1: Wrong medium type
Jul 12 17:59:57 DRBD9_2 drbd: prepare disk: r0
Jul 12 17:59:57 DRBD9_2 kernel: drbd r0/0 drbd1: disk( Diskless ->
Attaching )
Jul 12 17:59:57 DRBD9_2 kernel: drbd r0/0 drbd1: Maximum number of peer
devices = 1
Jul 12 17:59:57 DRBD9_2 kernel: drbd r0: Method to ensure write ordering:
flush
Jul 12 17:59:57 DRBD9_2 kernel: drbd r0/0 drbd1: my node_id: 1
Jul 12 17:59:57 DRBD9_2 kernel: drbd r0/0 drbd1: Adjusting my ra_pages to
backing device's (32 -> 1024)
Jul 12 17:59:57 DRBD9_2 kernel: drbd r0/0 drbd1: my node_id: 1
Jul 12 17:59:57 DRBD9_2 kernel: drbd r0/0 drbd1: drbd_bm_resize called with
capacity == 450560
Jul 12 17:59:57 DRBD9_2 kernel: drbd r0/0 drbd1: resync bitmap: bits=56320
words=880 pages=2
Jul 12 17:59:57 DRBD9_2 kernel: drbd r0/0 drbd1: recounting of set bits
took additional 0ms
Jul 12 17:59:57 DRBD9_2 kernel: drbd r0/0 drbd1: Suspended AL updates
Jul 12 17:59:57 DRBD9_2 kernel: drbd r0/0 drbd1: disk( Attaching ->
Inconsistent )
Jul 12 17:59:57 DRBD9_2 kernel: drbd r0/0 drbd1: attached to current UUID:
0000000000000004
Jul 12 17:59:57 DRBD9_2 drbd: adjust disk: r0
Jul 12 17:59:57 DRBD9_2 systemd-udevd: error: /dev/drbd1: Wrong medium type
Jul 12 17:59:57 DRBD9_2 kernel: drbd r0 DRBD9_1: Starting sender thread
(from drbdsetup [83737])
Jul 12 17:59:57 DRBD9_2 drbd: prepare net: r0
Jul 12 17:59:57 DRBD9_2 drbd: attempt to connect: r0
Jul 12 17:59:57 DRBD9_2 drbd: ]
Jul 12 17:59:57 DRBD9_2 kernel: drbd r0 DRBD9_1: conn( StandAlone ->
Unconnected )
Jul 12 17:59:57 DRBD9_2 kernel: drbd r0 DRBD9_1: Starting receiver thread
(from drbd_w_r0 [83727])
Jul 12 17:59:58 DRBD9_2 kernel: drbd r0 DRBD9_1: conn( Unconnected ->
Connecting )
Jul 12 18:00:04 DRBD9_2 kernel: drbd r0 DRBD9_1: Handshake successful:
Agreed network protocol version 111
Jul 12 18:00:04 DRBD9_2 kernel: drbd r0 DRBD9_1: Feature flags enabled on
protocol level: 0x7 TRIM THIN_RESYNC WRITE_SAME.
Jul 12 18:00:04 DRBD9_2 kernel: drbd r0 DRBD9_1: Starting ack_recv thread
(from drbd_r_r0 [83745])
Jul 12 18:00:04 DRBD9_2 kernel: drbd r0 DRBD9_1: Preparing remote state
change 480688786 (primary_nodes=0, weak_nodes=0)
Jul 12 18:00:04 DRBD9_2 kernel: drbd r0 DRBD9_1: Committing remote state
change 480688786
Jul 12 18:00:04 DRBD9_2 kernel: drbd r0 DRBD9_1: conn( Connecting ->
Connected ) peer( Unknown -> Secondary )
Jul 12 18:00:04 DRBD9_2 kernel: drbd r0/0 drbd1: current_size: 450560
Jul 12 18:00:04 DRBD9_2 kernel: drbd r0/0 drbd1 DRBD9_1: c_size: 430080
u_size: 0 d_size: 430080 max_size: 430080
Jul 12 18:00:04 DRBD9_2 kernel: drbd r0/0 drbd1 DRBD9_1: la_size: 0
my_usize: 0
Jul 12 18:00:04 DRBD9_2 kernel: drbd r0/0 drbd1 DRBD9_1: node_id: 0 idx: 0
bm-uuid: 0x0 flags: 0x0 max_size: 430080 (DUnknown)
Jul 12 18:00:04 DRBD9_2 kernel: drbd r0/0 drbd1: my node_id: 1
Jul 12 18:00:04 DRBD9_2 kernel: drbd r0/0 drbd1 DRBD9_1: calling
drbd_determine_dev_size()
Jul 12 18:00:04 DRBD9_2 kernel: drbd r0/0 drbd1 DRBD9_1: node_id: 0 idx: 0
bm-uuid: 0x0 flags: 0x0 max_size: 430080 (DUnknown)
Jul 12 18:00:04 DRBD9_2 kernel: drbd r0/0 drbd1: my node_id: 1
Jul 12 18:00:04 DRBD9_2 kernel: drbd r0/0 drbd1 DRBD9_1:
drbd_sync_handshake:
Jul 12 18:00:04 DRBD9_2 kernel: drbd r0/0 drbd1 DRBD9_1: self
0000000000000004:0000000000000000:0000000000000000:0000000000000000
bits:56320 flags:0
Jul 12 18:00:04 DRBD9_2 kernel: drbd r0/0 drbd1 DRBD9_1: peer
0000000000000004:0000000000000000:0000000000000000:0000000000000000
bits:53760 flags:24
Jul 12 18:00:04 DRBD9_2 kernel: drbd r0/0 drbd1 DRBD9_1: uuid_compare()=0
by rule 10
Jul 12 18:00:04 DRBD9_2 kernel: drbd r0/0 drbd1: No resync, but 56320 bits
in bitmap!
Jul 12 18:00:04 DRBD9_2 kernel: drbd r0/0 drbd1 DRBD9_1: pdsk( DUnknown ->
Inconsistent ) repl( Off -> Established )
Jul 12 18:00:04 DRBD9_2 kernel: drbd r0/0 drbd1: Resumed AL updates
Jul 12 18:00:04 DRBD9_2 drbd: WARN: stdin/stdout is not a TTY; using
/dev/consoledrbdadm: Unknown command 'sh-b-pri'
Jul 12 18:00:04 DRBD9_2 drbd: .
Jul 12 18:00:40 DRBD9_2 kernel: drbd r0 DRBD9_1: Preparing remote state
change 3595219668 (primary_nodes=0, weak_nodes=0)
Jul 12 18:00:40 DRBD9_2 kernel: drbd r0 DRBD9_1: Committing remote state
change 3595219668
Jul 12 18:00:40 DRBD9_2 kernel: drbd r0 DRBD9_1: peer( Secondary -> Primary
)
Jul 12 18:00:40 DRBD9_2 kernel: drbd r0/0 drbd1 DRBD9_1: pdsk( Inconsistent
-> UpToDate )
Jul 12 18:00:40 DRBD9_2 kernel: drbd r0/0 drbd1: size = 220 MB (225280 KB)
Jul 12 18:00:40 DRBD9_2 kernel: drbd r0/0 drbd1 DRBD9_1:
drbd_sync_handshake:
Jul 12 18:00:40 DRBD9_2 kernel: drbd r0/0 drbd1 DRBD9_1: self
0000000000000004:0000000000000000:0000000000000000:0000000000000000
bits:56320 flags:0
Jul 12 18:00:40 DRBD9_2 kernel: drbd r0/0 drbd1 DRBD9_1: peer
E33ECAD77287E565:FFFFFFFFFFFFFFFF:0000000000000000:0000000000000000
bits:53760 flags:120
Jul 12 18:00:40 DRBD9_2 kernel: drbd r0/0 drbd1 DRBD9_1: uuid_compare()=-3
by rule 20
Jul 12 18:00:40 DRBD9_2 kernel: drbd r0/0 drbd1 DRBD9_1: Writing the whole
bitmap, full sync required after drbd_sync_handshake.
Jul 12 18:00:40 DRBD9_2 kernel: drbd r0/0 drbd1 DRBD9_1: repl( Established
-> WFBitMapT )
Jul 12 18:00:40 DRBD9_2 kernel: drbd r0/0 drbd1 DRBD9_1: s(53760)
bit_offset(53760) word_offset(840) bm_bits(56320)
Jul 12 18:00:40 DRBD9_2 kernel: drbd r0/0 drbd1: after decode_bitmap_c()
err(1)
-- 


ᐧ
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linbit.com/pipermail/drbd-dev/attachments/20160713/1078cd8a/attachment-0001.htm>


More information about the drbd-dev mailing list