Re: Flapping OSDs, Large meta directories in OSDs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Dec 1, 2015 at 12:20 AM, Tom Christensen <pavera@xxxxxxxxx> wrote:
> What counts as ancient?  Concurrent to our hammer upgrade we went from
> 3.16->3.19 on ubuntu 14.04.  We are looking to revert to the 3.16 kernel
> we'd been running because we're also seeing an intermittent (its happened
> twice in 2 weeks) massive load spike that completely hangs the osd node
> (we're talking about load averages that hit 20k+ before the box becomes
> completely unresponsive).  We saw a similar behavior on a 3.13 kernel, which
> resolved by moving to the 3.16 kernel we had before.  I'll try to catch one
> with debug_ms=1 and see if I can see it we're hitting a similar hang.

In our case we had upgraded from  2.6.32-358.14.1.el6.x86_64 to
2.6.32-573.8.1.el6.

> To your comment about omap, we do have filestore xattr use omap = true in
> our conf... which we believe was placed there by ceph-deploy (which we used
> to deploy this cluster).  We are on xfs, but we do take tons of RBD
> snapshots.  If either of these use cases will cause lots of osd map size
> then, we may just be exceeding the limits of the number of rbd snapshots
> ceph can handle (we take about 4-5000/day, 1 per RBD in the cluster)

That sure sounds like a lot of snapshots, but I don't know if it would
cause a problem.

> An interesting note, we had an OSD flap earlier this morning, and when it
> did, immediately after it came back I checked its meta directory size with
> du -sh, this returned immediately, and showed a size of 107GB.  The fact
> that it returned immediately indicated to me that something had just
> recently read through that whole directory and it was all cached in the FS
> cache.  Normally a du -sh on the meta directory takes a good 5 minutes to
> return.  Anyway, since it dropped this morning its meta directory size
> continues to shrink and is down to 93GB.  So it feels like something happens
> that makes the OSD read all its historical maps which results in the OSD
> hanging cause there are a ton of them, and then it wakes up and realizes it
> can delete a bunch of them...

If all OSDs are up and all PGs are active+clean I don't know what
would cause an OSD to need old maps. The debug logs should help.

Another tool to use is perf top. With that you can see if the OSD is
busy in some leveldb operation, e.g. compression, or something else...

Cheers, Dan

> On Mon, Nov 30, 2015 at 2:11 PM, Dan van der Ster <dvanders@xxxxxxxxx>
> wrote:
>>
>> The trick with debugging heartbeat problems is to grep back through the
>> log to find the last thing the affected thread was doing, e.g. is
>> 0x7f5affe72700 stuck in messaging, writing to the disk, reading through the
>> omap, etc..
>>
>> I agree this doesn't look to be network related, but if you want to rule
>> it out you should use debug_ms=1.
>>
>> Last week we upgraded a 1200 osd cluster from firefly to 0.94.5 and
>> similarly started getting slow requests. To make a long story short, our
>> issue turned out to be sendmsg blocking (very rarely), probably due to an
>> ancient el6 kernel (these osd servers had ~800 days' uptime). The signature
>> of this was 900s of slow requests, then an ms log showing "initiating
>> reconnect". Until we got the kernel upgraded everywhere, we used a
>> workaround of ms tcp read timeout = 60.
>> So, check your kernels, and upgrade if they're ancient. Latest el6 kernels
>> work for us.
>>
>> Otherwise, those huge osd leveldb's don't look right. (Unless you're using
>> tons and tons of omap...) And it kinda reminds me of the other problem we
>> hit after the hammer upgrade, namely the return of the ever growing mon
>> leveldb issue. The solution was to recreate the mons one by one. Perhaps
>> you've hit something similar with the OSDs. debug_osd=10 might be good
>> enough to see what the osd is doing, maybe you need debug_filestore=10 also.
>> If that doesn't show the problem, bump those up to 20.
>>
>> Good luck,
>>
>> Dan
>>
>> On 30 Nov 2015 20:56, "Tom Christensen" <pavera@xxxxxxxxx> wrote:
>> >
>> > We recently upgraded to 0.94.3 from firefly and now for the last week
>> > have had intermittent slow requests and flapping OSDs.  We have been unable
>> > to nail down the cause, but its feeling like it may be related to our
>> > osdmaps not getting deleted properly.  Most of our osds are now storing over
>> > 100GB of data in the meta directory, almost all of that is historical osd
>> > maps going back over 7 days old.
>> >
>> > We did do a small cluster change (We added 35 OSDs to a 1445 OSD
>> > cluster), the rebalance took about 36 hours, and it completed 10 days ago.
>> > Since that time the cluster has been HEALTH_OK and all pgs have been
>> > active+clean except for when we have an OSD flap.
>> >
>> > When the OSDs flap they do not crash and restart, they just go
>> > unresponsive for 1-3 minutes, and then come back alive all on their own.
>> > They get marked down by peers, and cause some peering and then they just
>> > come back rejoin the cluster and continue on their merry way.
>> >
>> > We see a bunch of this in the logs while the OSD is catatonic:
>> >
>> > Nov 30 11:23:38 osd-10 ceph-osd: 2015-11-30 11:22:32.143166 7f5b03679700
>> > 1 heartbeat_map is_healthy 'OSD::osd_tp thread 0x7f5affe72700' had timed out
>> > after 15
>> >
>> > Nov 30 11:23:38 osd-10 ceph-osd: 2015-11-30 11:22:32.143176 7f5b03679700
>> > 10 osd.1191 1203850 internal heartbeat not healthy, dropping ping request
>> >
>> > Nov 30 11:23:38 osd-10 ceph-osd: 2015-11-30 11:22:32.143210 7f5b04e7c700
>> > 1 heartbeat_map is_healthy 'OSD::osd_tp thread 0x7f5affe72700' had timed out
>> > after 15
>> >
>> > Nov 30 11:23:38 osd-10 ceph-osd: 2015-11-30 11:22:32.143218 7f5b04e7c700
>> > 10 osd.1191 1203850 internal heartbeat not healthy, dropping ping request
>> >
>> > Nov 30 11:23:38 osd-10 ceph-osd: 2015-11-30 11:22:32.143288 7f5b03679700
>> > 1 heartbeat_map is_healthy 'OSD::osd_tp thread 0x7f5affe72700' had timed out
>> > after 15
>> >
>> > Nov 30 11:23:38 osd-10 ceph-osd: 2015-11-30 11:22:32.143293 7f5b03679700
>> > 10 osd.1191 1203850 internal heartbeat not healthy, dropping ping request
>> >
>> >
>> > I have a chunk of logs at debug 20/5, not sure if I should have done
>> > just 20... It's pretty hard to catch, we have to basically see the slow
>> > requests and get debug logging set in about a 5-10 second window before the
>> > OSD stops responding to the admin socket...
>> >
>> > As networking is almost always the cause of flapping OSDs we have tested
>> > the network quite extensively.  It hasn't changed physically since before
>> > the hammer upgrade, and was performing well.  We have done large amounts of
>> > ping tests and have not seen a single dropped packet between osd nodes or
>> > between osd nodes and mons.
>> >
>> > I don't see any error packets or drops on switches either.
>> >
>> > Ideas?
>> >
>> >
>> > _______________________________________________
>> > ceph-users mailing list
>> > ceph-users@xxxxxxxxxxxxxx
>> > http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com
>> >
>
>
>
> _______________________________________________
> ceph-users mailing list
> ceph-users@xxxxxxxxxxxxxx
> http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com
>
_______________________________________________
ceph-users mailing list
ceph-users@xxxxxxxxxxxxxx
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com



[Index of Archives]     [Information on CEPH]     [Linux Filesystem Development]     [Ceph Development]     [Ceph Large]     [Ceph Dev]     [Linux USB Development]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [xfs]


  Powered by Linux