Re: Memory usage of ceph-mds

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

 



On Wed, 19 Sep 2012, Tren Blackburn wrote:
> On Wed, Sep 19, 2012 at 2:45 PM, Tren Blackburn <tren@xxxxxxxxxxxxxxx> wrote:
> > On Wed, Sep 19, 2012 at 2:33 PM, Sage Weil <sage@xxxxxxxxxxx> wrote:
> >> On Wed, 19 Sep 2012, Tren Blackburn wrote:
> >>> On Wed, Sep 19, 2012 at 2:12 PM, Gregory Farnum <greg@xxxxxxxxxxx> wrote:
> >>> > On Wed, Sep 19, 2012 at 2:05 PM, Tren Blackburn <tren@xxxxxxxxxxxxxxx> wrote:
> >>> >
> >>> >> Greg: It's difficult to tell you that. I'm rsyncing 2 volumes from our
> >>> >> filers. Each base directory on each filer mount has approximate 213
> >>> >> directories, and then each directory under that has approximately
> >>> >> anywhere from 3000 - 5000 directories (very loose approximation here,
> >>> >> 850,000 directories per filer mount), and then each of those
> >>> >> directories contains files.
> >>> >
> >>> > Ah, directories are larger ? Sage, do you think they're enough bigger
> >>> > to make up that much extra memory usage?
> >>> >
> >>> >
> >>> >> We have many many files here. We're doing this to see how CephFS
> >>> >> handles lots of files. We are coming from MooseFS which its master
> >>> >> metalogger process eats lots of ram, so we're hoping that Ceph is a
> >>> >> bit lighter on us.
> >>> >>
> >>> >> Sage: The memory the MDS is using is only a cache? There should be no
> >>> >> problem restarting the MDS server while activity is going on? I should
> >>> >> probably change the limit for the non-active MDS servers first, and
> >>> >> then the active one and hope it fails over cleanly?
> >>> > Yep, that should work fine, with the obvious caveat that your
> >>> > filesystem will become inaccessible if the MDS is down long enough for
> >>> > clients to exceed their timeouts (no metadata loss though, if all
> >>> > clients remain active until the MDS comes back up).
> >>>
> >>> I have 3 MDS's (active/standby setup). Shouldn't the MDS fail over to
> >>> the other node when I restart the process? I'm not sure what the best
> >>> method for just restarting the MDS is, and can it be done without
> >>> forcing a fail over?
> >>
> >> Any running standby ceph-mds daemon will take over when the first one is
> >> shut down.  Just stop the daemons on the other nodes too if for some
> >> reason you care which machine the daemon runs on (Ceph certainly
> >> doesn't!).
> >>
> >> You can restart with
> >>
> >>         /etc/init.d/ceph restart mds
> >
> > This does not work on gentoo. However "/usr/lib64/ceph/ceph_init.sh -c
> > /etc/ceph/ceph.conf restart mds" works fine. I have restarted the
> > MDS's, saving the active one for last. I restarted it, and now my
> > cluster seems locked.
> >
> > sap ceph # ceph -s
> >    health HEALTH_OK
> >    monmap e1: 3 mons at
> > {0=10.87.1.87:6789/0,1=10.87.1.88:6789/0,2=10.87.1.104:6789/0},
> > election epoch 38, quorum 0,1,2 0,1,2
> >    osdmap e25: 192 osds: 192 up, 192 in
> >     pgmap v10025: 73728 pgs: 73728 active+clean; 48355 MB data, 148 GB
> > used, 280 TB / 286 TB avail
> >    mdsmap e17: 1/1/1 up {0=0=up:clientreplay}, 2 up:standby
> >
> > What is clientreplay? All IO to ceph has frozen. The mds.0.log shows:
> >
> > 2012-09-19 14:39:16.315311 7f9d9ad33700  1 mds.0.3 reconnect_done
> > 2012-09-19 14:39:17.077926 7f9d9ad33700  1 mds.0.3 handle_mds_map i am
> > now mds.0.3
> > 2012-09-19 14:39:17.077931 7f9d9ad33700  1 mds.0.3 handle_mds_map
> > state change up:reconnect --> up:rejoin
> > 2012-09-19 14:39:17.077935 7f9d9ad33700  1 mds.0.3 rejoin_joint_start
> > 2012-09-19 14:39:17.354120 7f9d9ad33700  0 mds.0.3 ms_handle_connect
> > on 10.87.1.91:6833/29579
> > 2012-09-19 14:39:17.371475 7f9d9ad33700  1 mds.0.3 rejoin_done
> > 2012-09-19 14:39:17.736378 7f9d9ad33700  1 mds.0.3 handle_mds_map i am
> > now mds.0.3
> > 2012-09-19 14:39:17.736383 7f9d9ad33700  1 mds.0.3 handle_mds_map
> > state change up:rejoin --> up:clientreplay
> > 2012-09-19 14:39:17.736385 7f9d9ad33700  1 mds.0.3 recovery_done --
> > successful recovery!
> > 2012-09-19 14:39:17.748784 7f9d9ad33700  1 mds.0.3 clientreplay_start
> > 2012-09-19 14:39:17.761751 7f9d9ad33700  0 mds.0.3 ms_handle_connect
> > on 10.87.1.104:6831/11000
> > 2012-09-19 14:39:17.763888 7f9d9ad33700  0 mds.0.3 ms_handle_connect
> > on 10.87.1.95:6818/18116
> > 2012-09-19 14:39:17.775943 7f9d9ad33700  0 mds.0.3 ms_handle_connect
> > on 10.87.1.98:6812/7539
> > 2012-09-19 14:39:17.786640 7f9d9ad33700  0 mds.0.3 ms_handle_connect
> > on 10.87.1.104:6819/10452
> > 2012-09-19 14:39:17.801893 7f9d9ad33700  0 mds.0.3 ms_handle_connect
> > on 10.87.1.98:6821/7893
> > 2012-09-19 14:39:17.827436 7f9d9ad33700  0 mds.0.3 ms_handle_connect
> > on 10.87.1.93:6827/3894
> > 2012-09-19 14:39:17.837971 7f9d9ad33700  0 mds.0.3 ms_handle_connect
> > on 10.87.1.89:6809/28294
> > 2012-09-19 14:39:17.839187 7f9d9ad33700  0 mds.0.3 ms_handle_connect
> > on 10.87.1.99:6833/23283
> >
> > How long does this "clientreplay"stage take? It doesn't seem like the
> > process is actually doing anything.
> >
> Woo! Love responding to my own posts. This was pretty exciting. I
> ended up restarting the mon/mds services on the node that was the
> active mds. The mds restarted, and came out of the "clientreplay"
> state, but the mon crashed on restart. I was able to start just the
> mon process and now my cluster is happy.
> 
> Here is the log of the mon crash I received while restarting it.
> 
> http://pastebin.com/fGriuEDQ

Right after v0.51 (for v0.52) we merged a huge pile of messenger fixes 
that address that crash.  Phew!

I'm not quite sure why you were stuck in clientreplay.  There is a known 
issue where this phase can take a long time because there is a journal 
event generated for every replayed request, so in certain cases it's just 
slow.  It sounds like it may have actually been stuck, though; we'll need 
to see if it can be reproduced.

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


[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux