<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
--></style>
</head>
<body class='hmmessage'>
Hi, dear all,<BR>
&nbsp;<BR>
Now "protocol B" is used, no such issue.<BR>
&nbsp;<BR>
regards,<BR>
Edward<BR>&nbsp;<BR>
<HR id=stopSpelling>
From: guohuai_li@hotmail.com<BR>To: lars.ellenberg@linbit.com; drbd-user@lists.linbit.com; guohuai_li@hotmail.com; guohuailee0927@gmail.com<BR>Subject: RE: [DRBD-user] kernel: drbd0: Got NegAck packet. Peer is in troubles?<BR>Date: Mon, 16 Nov 2009 19:34:12 +0800<BR><BR>
<STYLE>
.ExternalClass .ecxhmmessage P
{padding:0px;}
.ExternalClass body.ecxhmmessage
{font-size:10pt;font-family:Verdana;}
</STYLE>
Dear lars,<BR>&nbsp;<BR>In this case:<BR>now DRBD runs well both on primay node and secondary node.&nbsp; <BR>(Suse linux OS.)<BR>(DRBD-8.3.0,&nbsp; use Protocol C. )<BR>&nbsp;<BR>On primary node, one process use linux app "msync"(sync mode) to sync the content to disk.<BR>(And this disk is the block device which DRBD protected.)<BR>&nbsp;<BR>Now on the secondary node, the disk has some problem (for example, the disk is pull&nbsp;out from the machine...).<BR>At&nbsp;this very point, the&nbsp;thread will block&nbsp;while calling "msync" api; but, api "fsync" will not be blocked.<BR>( I reproduced this issue in lab, "UpToDate -&gt; Diskless " in /var/log/messages&nbsp;happened at&nbsp;the &nbsp;same time with the time <BR>&nbsp; when "msync" calling is blocked. )<BR>&nbsp;<BR>About 3 minutes later, another process is invoked by me, and it will call "msync" api also, but now, it will not be blocked.<BR>&nbsp;<BR>So, i think "msync" (sync mode)calling is waiting the OS to tell it that the data is flushed to disk.&nbsp; <BR>But the local disk will not mark the data is flushed to local disk until the remote disk is flushed.&nbsp; (Because DRBD used "Protocol C".)<BR>But at this very point, the remote disk has some problem, (for example, the disk has problem; I reproduded this issue by pulling the disk out ...)<BR>So, "msync" calling is block.<BR>But when DRBD found remore disk is "Diskless", "msync" api will not be blocked. <BR>Because DRBD has the intelligence that remote disk is "Diskless", so it will not check the remore disk to flush data.<BR>And when local disk is flushed, it will mark the data is flushed. So, at this time, "msync" calling will not be blocked.<BR>&nbsp;<BR>Would you help to explain it ?&nbsp;<BR>How could I solve this problem ?<BR>&nbsp;<BR>Best regards,<BR>Edward<BR>&nbsp;<BR>+++++++++++++++++++++++++++++++ in /var/log/messages&nbsp; of primary node ++++++++++++++++++++++++++++++ <BR>Nov 16 17:19:27 linux-17 kernel: drbd0: Got NegAck packet. Peer is in troubles?<BR>Nov 16 17:19:27 linux-17 kernel: drbd0: pdsk( UpToDate -&gt; Diskless )<BR>Nov 16 17:19:27 linux-17 kernel: drbd0: Creating new current UUID<BR>&nbsp;<BR>+++++++++++++++++++++++++++++++ below is on primary node ++++++++++++++++++++++++++++++++++++++++++++++<BR>linux-17:~ # cat&nbsp; /proc/drbd <BR>version: 8.3.0 (api:88/proto:86-89)<BR>GIT-hash: 9ba8b93e24d842f0dd3fb1f9b90e8348ddb95829 build by <A href="mailto:root@linux-17">root@linux-17</A>, 2009-02-21 11:09:33<BR>&nbsp;0: cs:Connected ro:Primary/Secondary ds:UpToDate/Diskless C r---<BR>&nbsp;&nbsp;&nbsp; ns:1243340 nr:168424 dw:1554336 dr:70703 al:28 bm:63 lo:0 pe:2 ua:0 ap:1 ep:1 wo:b oos:28<BR>&nbsp;1: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r---<BR>&nbsp;&nbsp;&nbsp; ns:0 nr:53248 dw:6283648 dr:1833 al:3 bm:16 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:0<BR>&nbsp;2: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r---<BR>&nbsp;&nbsp;&nbsp; ns:0 nr:8 dw:11 dr:96 al:1 bm:3 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:0<BR>++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++<BR><BR>&nbsp;<BR>&gt; Date: Mon, 16 Nov 2009 09:42:25 +0100<BR>&gt; From: lars.ellenberg@linbit.com<BR>&gt; To: drbd-user@lists.linbit.com<BR>&gt; Subject: Re: [DRBD-user] kernel: drbd0: Got NegAck packet. Peer is in troubles?<BR>&gt; <BR>&gt; On Sat, Nov 14, 2009 at 09:27:12AM +0800, guohuai li wrote:<BR>&gt; &gt; <BR>&gt; &gt; i use drbd8.3.0<BR>&gt; <BR>&gt; we have 8.3.5 respective 8.3.6 now.<BR>&gt; <BR>&gt; &gt; i also met such problem.<BR>&gt; &gt; <BR>&gt; &gt; I used msync linux api (sync mode) to write on primary node.<BR>&gt; &gt; <BR>&gt; &gt; And also it blocks at this case.<BR>&gt; <BR>&gt; In _which_ case does _what_ block,<BR>&gt; and what exactly do you mean by "block"?<BR>&gt; <BR>&gt; when "it" "blocks",<BR>&gt; I'd like to know what happened up to that point,<BR>&gt; have the kernel logs,<BR>&gt; cat /proc/drbd<BR>&gt; and<BR>&gt; ps -eo pid,state,wchan:30,cmd<BR>&gt; <BR>&gt; Thanks.<BR>&gt; <BR>&gt; <BR>&gt; -- <BR>&gt; : Lars Ellenberg<BR>&gt; : LINBIT | Your Way to High Availability<BR>&gt; : DRBD/HA support and consulting http://www.linbit.com<BR>&gt; <BR>&gt; DRBD® and LINBIT® are registered trademarks of LINBIT, Austria.<BR>&gt; __<BR>&gt; please don't Cc me, but send to list -- I'm subscribed<BR>&gt; _______________________________________________<BR>&gt; drbd-user mailing list<BR>&gt; drbd-user@lists.linbit.com<BR>&gt; http://lists.linbit.com/mailman/listinfo/drbd-user<BR><BR>
<HR>
Keep your friends updated— <A href="http://www.microsoft.com/middleeast/windows/windowslive/see-it-in-action/social-network-basics.aspx?ocid=PID23461::T:WLMTAGL:ON:WL:en-xm:SI_SB_5:092010">even when you’re not signed in.</A>                                               <br /><hr />Windows Live: Make it easier for your friends to see  <a href='http://www.microsoft.com/middleeast/windows/windowslive/see-it-in-action/social-network-basics.aspx?ocid=PID23461::T:WLMTAGL:ON:WL:en-xm:SI_SB_2:092009' target='_new'>what you’re up to on Facebook.</a></body>
</html>