All of lore.kernel.org
 help / color / mirror / Atom feed
* monitor port closed
@ 2017-01-23  5:32 Ming Lin
  2017-01-23 13:12 ` kefu chai
  0 siblings, 1 reply; 8+ messages in thread
From: Ming Lin @ 2017-01-23  5:32 UTC (permalink / raw)
  To: ceph-devel

Hi,

[mon]
mon initial members = a

[mon.a]
mon addr = 192.168.0.1:7000

jewel release with 1 monitor and 3 OSDs.

After hours of fio rbd test, the monitor binded port(7000) was closed
for unknown reason.
But monitor is still running,

# pidof ceph-mon
21980

Another strange thing is there are more than 1000 threads for the
ceph-mon process.

# ls /proc/21980/task/ |wc -l
1022

Any possible reason?

Thanks,
Ming

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: monitor port closed
  2017-01-23  5:32 monitor port closed Ming Lin
@ 2017-01-23 13:12 ` kefu chai
  2017-01-23 14:28   ` Willem Jan Withagen
  2017-01-23 18:16   ` Ming Lin
  0 siblings, 2 replies; 8+ messages in thread
From: kefu chai @ 2017-01-23 13:12 UTC (permalink / raw)
  To: Ming Lin; +Cc: ceph-devel

On Mon, Jan 23, 2017 at 1:32 PM, Ming Lin <minggr@gmail.com> wrote:
> Hi,
>
> [mon]
> mon initial members = a
>
> [mon.a]
> mon addr = 192.168.0.1:7000
>
> jewel release with 1 monitor and 3 OSDs.
>
> After hours of fio rbd test, the monitor binded port(7000) was closed
> for unknown reason.

is this reproduciable? can you enable ms-debug=1 and attach the log?

> But monitor is still running,
>
> # pidof ceph-mon
> 21980
>
> Another strange thing is there are more than 1000 threads for the
> ceph-mon process.
>
> # ls /proc/21980/task/ |wc -l
> 1022
>
> Any possible reason?

are you using the simple messenger? maybe you can use pstree to check
the thread names?

>
> Thanks,
> Ming
> --
> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html



-- 
Regards
Kefu Chai

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: monitor port closed
  2017-01-23 13:12 ` kefu chai
@ 2017-01-23 14:28   ` Willem Jan Withagen
  2017-01-23 19:08     ` Ming Lin
  2017-01-23 18:16   ` Ming Lin
  1 sibling, 1 reply; 8+ messages in thread
From: Willem Jan Withagen @ 2017-01-23 14:28 UTC (permalink / raw)
  To: kefu chai, Ming Lin; +Cc: ceph-devel

On 23-1-2017 14:12, kefu chai wrote:
> On Mon, Jan 23, 2017 at 1:32 PM, Ming Lin <minggr@gmail.com> wrote:
>> Hi,
>>
>> [mon]
>> mon initial members = a
>>
>> [mon.a]
>> mon addr = 192.168.0.1:7000
>>
>> jewel release with 1 monitor and 3 OSDs.
>>
>> After hours of fio rbd test, the monitor binded port(7000) was closed
>> for unknown reason.
> 
> is this reproduciable? can you enable ms-debug=1 and attach the log?
> 
>> But monitor is still running,
>>
>> # pidof ceph-mon
>> 21980
>>
>> Another strange thing is there are more than 1000 threads for the
>> ceph-mon process.
>>
>> # ls /proc/21980/task/ |wc -l
>> 1022
>>
>> Any possible reason?
> 
> are you using the simple messenger? maybe you can use pstree to check
> the thread names?

Other nice tools to help you here to see where the socket has gone:
	sockstat
	lsof

They can tell you if the socket is somewhere else opened.
And what the state is.

Or they can tell you what other port(s) the monitor has opened.

Also note that recycling thru large numbers of ports does not always
goes well with the TCPstack. That is why there is the options:
     SO_REUSEADDR       enables local address reuse
     SO_REUSEPORT       enables duplicate address and port bindings

But then still you might run out of ports if too many are left in a WAIT
state.

--WjW


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: monitor port closed
  2017-01-23 13:12 ` kefu chai
  2017-01-23 14:28   ` Willem Jan Withagen
@ 2017-01-23 18:16   ` Ming Lin
  1 sibling, 0 replies; 8+ messages in thread
From: Ming Lin @ 2017-01-23 18:16 UTC (permalink / raw)
  To: kefu chai; +Cc: ceph-devel

On Mon, Jan 23, 2017 at 5:12 AM, kefu chai <tchaikov@gmail.com> wrote:
> On Mon, Jan 23, 2017 at 1:32 PM, Ming Lin <minggr@gmail.com> wrote:
>> Hi,
>>
>> [mon]
>> mon initial members = a
>>
>> [mon.a]
>> mon addr = 192.168.0.1:7000
>>
>> jewel release with 1 monitor and 3 OSDs.
>>
>> After hours of fio rbd test, the monitor binded port(7000) was closed
>> for unknown reason.
>
> is this reproduciable? can you enable ms-debug=1 and attach the log?

Will enable it and try to reproduce.

>
>> But monitor is still running,
>>
>> # pidof ceph-mon
>> 21980
>>
>> Another strange thing is there are more than 1000 threads for the
>> ceph-mon process.
>>
>> # ls /proc/21980/task/ |wc -l
>> 1022
>>
>> Any possible reason?
>
> are you using the simple messenger? maybe you can use pstree to check
> the thread names?

Yes, simple messenger.

# ceph daemon ./run/ceph-mon.a.asok config show |grep ms_type
    "ms_type": "simple"

All the thread names are "ceph-mon"

# pstree 21980
ceph-mon───1021*[{ceph-mon}]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: monitor port closed
  2017-01-23 14:28   ` Willem Jan Withagen
@ 2017-01-23 19:08     ` Ming Lin
  2017-01-23 20:38       ` Willem Jan Withagen
  0 siblings, 1 reply; 8+ messages in thread
From: Ming Lin @ 2017-01-23 19:08 UTC (permalink / raw)
  To: Willem Jan Withagen; +Cc: kefu chai, ceph-devel

On Mon, Jan 23, 2017 at 6:28 AM, Willem Jan Withagen <wjw@digiware.nl> wrote:

>
> Other nice tools to help you here to see where the socket has gone:
>         sockstat
>         lsof
>
> They can tell you if the socket is somewhere else opened.
> And what the state is.
>
> Or they can tell you what other port(s) the monitor has opened.

# netstat -putnl |grep 7000
<no output>

# netstat -putna |grep 7000
tcp        0      0 192.168.0.1:7000        192.168.122.131:53240
ESTABLISHED 21980/ceph-mon

Seems port 7000 is not listening, but still established with rbd client.

root@rbd-client:~# netstat -putna |grep 53240
tcp        0      0 192.168.122.131:53240   192.168.0.1:7000
ESTABLISHED -

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: monitor port closed
  2017-01-23 19:08     ` Ming Lin
@ 2017-01-23 20:38       ` Willem Jan Withagen
  2017-01-23 21:01         ` Ming Lin
  0 siblings, 1 reply; 8+ messages in thread
From: Willem Jan Withagen @ 2017-01-23 20:38 UTC (permalink / raw)
  To: Ming Lin; +Cc: kefu chai, ceph-devel

On 23-1-2017 20:08, Ming Lin wrote:
> On Mon, Jan 23, 2017 at 6:28 AM, Willem Jan Withagen <wjw@digiware.nl> wrote:
> 
>>
>> Other nice tools to help you here to see where the socket has gone:
>>         sockstat
>>         lsof
>>
>> They can tell you if the socket is somewhere else opened.
>> And what the state is.
>>
>> Or they can tell you what other port(s) the monitor has opened.
> 
> # netstat -putnl |grep 7000
> <no output>

> # netstat -putna |grep 7000
> tcp        0      0 192.168.0.1:7000        192.168.122.131:53240
> ESTABLISHED 21980/ceph-mon

Is process 21980 listening on any other ports? the normal range would be
6800-7300 (as defined in config_opts.h)
And it would start on 6789, so quite a few rebinds have occurred.
unless have configured it differently.

> 
> Seems port 7000 is not listening, but still established with rbd client.
> 
> root@rbd-client:~# netstat -putna |grep 53240
> tcp        0      0 192.168.122.131:53240   192.168.0.1:7000
> ESTABLISHED -

Seems the OS thinks there is still a fully open connection, since both
ends are in ESTABLISHED.

--WjW



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: monitor port closed
  2017-01-23 20:38       ` Willem Jan Withagen
@ 2017-01-23 21:01         ` Ming Lin
  2017-01-23 21:34           ` Willem Jan Withagen
  0 siblings, 1 reply; 8+ messages in thread
From: Ming Lin @ 2017-01-23 21:01 UTC (permalink / raw)
  To: Willem Jan Withagen; +Cc: kefu chai, ceph-devel

On Mon, Jan 23, 2017 at 12:38 PM, Willem Jan Withagen <wjw@digiware.nl> wrote:
> On 23-1-2017 20:08, Ming Lin wrote:
>> On Mon, Jan 23, 2017 at 6:28 AM, Willem Jan Withagen <wjw@digiware.nl> wrote:
>>
>>>
>>> Other nice tools to help you here to see where the socket has gone:
>>>         sockstat
>>>         lsof
>>>
>>> They can tell you if the socket is somewhere else opened.
>>> And what the state is.
>>>
>>> Or they can tell you what other port(s) the monitor has opened.
>>
>> # netstat -putnl |grep 7000
>> <no output>
>
>> # netstat -putna |grep 7000
>> tcp        0      0 192.168.0.1:7000        192.168.122.131:53240
>> ESTABLISHED 21980/ceph-mon
>
> Is process 21980 listening on any other ports? the normal range would be
> 6800-7300 (as defined in config_opts.h)

No, that's the only one with ESTABLISHED state.

# netstat -putna |grep 21980
tcp        0      0 192.168.0.1:7000        192.168.122.131:53240
ESTABLISHED 21980/ceph-mon

> And it would start on 6789, so quite a few rebinds have occurred.
> unless have configured it differently.

I configured with 7000 for test purpose.

[mon]
mon initial members = a

[mon.a]
mon addr = 192.168.0.1:7000

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: monitor port closed
  2017-01-23 21:01         ` Ming Lin
@ 2017-01-23 21:34           ` Willem Jan Withagen
  0 siblings, 0 replies; 8+ messages in thread
From: Willem Jan Withagen @ 2017-01-23 21:34 UTC (permalink / raw)
  To: Ming Lin; +Cc: kefu chai, ceph-devel

On 23-1-2017 22:01, Ming Lin wrote:
> On Mon, Jan 23, 2017 at 12:38 PM, Willem Jan Withagen <wjw@digiware.nl> wrote:
>> On 23-1-2017 20:08, Ming Lin wrote:
>>> On Mon, Jan 23, 2017 at 6:28 AM, Willem Jan Withagen <wjw@digiware.nl> wrote:
>>>
>>>>
>>>> Other nice tools to help you here to see where the socket has gone:
>>>>         sockstat
>>>>         lsof
>>>>
>>>> They can tell you if the socket is somewhere else opened.
>>>> And what the state is.
>>>>
>>>> Or they can tell you what other port(s) the monitor has opened.
>>>
>>> # netstat -putnl |grep 7000
>>> <no output>
>>
>>> # netstat -putna |grep 7000
>>> tcp        0      0 192.168.0.1:7000        192.168.122.131:53240
>>> ESTABLISHED 21980/ceph-mon
>>
>> Is process 21980 listening on any other ports? the normal range would be
>> 6800-7300 (as defined in config_opts.h)
> 
> No, that's the only one with ESTABLISHED state.
> 
> # netstat -putna |grep 21980
> tcp        0      0 192.168.0.1:7000        192.168.122.131:53240
> ESTABLISHED 21980/ceph-mon
> 
>> And it would start on 6789, so quite a few rebinds have occurred.
>> unless have configured it differently.
> 
> I configured with 7000 for test purpose.
> 
> [mon]
> mon initial members = a
> 
> [mon.a]
> mon addr = 192.168.0.1:7000
> 
Then the process is really broken somewhere, and you will have to refer
to either logfiles and or gdb-debugging.

--WjW


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2017-01-23 21:35 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-01-23  5:32 monitor port closed Ming Lin
2017-01-23 13:12 ` kefu chai
2017-01-23 14:28   ` Willem Jan Withagen
2017-01-23 19:08     ` Ming Lin
2017-01-23 20:38       ` Willem Jan Withagen
2017-01-23 21:01         ` Ming Lin
2017-01-23 21:34           ` Willem Jan Withagen
2017-01-23 18:16   ` Ming Lin

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.