Re: blacklisting etc

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

 



On Wed, 22 Feb 2017, John Spray wrote:
> On Wed, Feb 22, 2017 at 11:30 AM, Jeff Layton <jlayton@xxxxxxxxxx> wrote:
> > On Wed, 2017-02-22 at 10:57 +0000, John Spray wrote:
> >> I meant to mention yesterday, I have a branch with the
> >> mds-obeys-blacklist behaviour here:
> >> https://github.com/jcsp/ceph/tree/wip-17980
> >>
> >
> > Thanks, I'll take a look.
> >
> >> For the other side (blacklisting clients from the MDS), I also
> >> remembered that we currently we have a precedent for special-casing an
> >> mds->OSDMonitor operation, in the form of the MRemoveSnaps message.
> >>
> >> I think the options we currently have for blacklisting clients from the MDS are:
> >>  A) Add a new MBlacklist message a la MRemoveSnaps
> >>  B) Send a MMonCommand and special case the auth on the mon side to
> >> allow any mds.* entity to run "osd blacklist add" without needing the
> >> usual caps
> >>  C) Send a MMonCommand and ask users/scripts setting up Ceph to
> >> explicitly include the mon cap to run the blacklist command.
> >>  D) Piggy-back a list of clients to evict on MMDSBeacon, where the MDS
> >> daemon would trim that list once it saw that the blacklist had been
> >> updated to include those clients.
> >>
> >> D is a bit circuitous, but I think it could be interesting as it would
> >> let the mon exercise some discretion on whether to do the client
> >> blacklisting or not, rather than giving the MDSs such power.
> >>
> >>
> >
> > Ugh...I had started working on an approach similar to B/C above, but
> > missed the fact that the mds.* user would need the mon cap. That is a
> > potential problem.
> >
> > A sounds fairly straightforward, and since all of this would require an
> > updated MDS and monitor anyway, it might be the best approach.
> >
> > D sounds clever, but "fiddly". Under what circumstances would you want
> > the monitor to ignore a request from an MDS to blacklist a client?
> 
> Not sure, potentially things like implementing a "noevict" flag or
> something that would let admins temporarily put any evictions on hold
> when they know they're about to e.g. bounce a network switch --
> obviously that would have to mean that MDSs were using the blacklist
> as the only path for eviction, rather than evicting in SessionMap and
> then also blacklisting.  It would also be possible to implement that
> by just having the MDS daemons respect a flag in the MDS map though,
> so maybe not the strongest case.
> 
> Or maybe we could have some configuration that allowed admins to
> selectively protect certain privileged clients from being
> auto-evicted, that checked targets for eviction/blacklist against that
> map.  However, again, if we stored that list in the MDSMap then there
> is nothing preventing implementing that logic MDS side too.
> 
> Come to think of it though, I'm being silly, because in case A we
> could also have that message handled by mdsmonitor if we ever wanted
> to have any special logic around handling it, so any special logic
> would really be orthogonal to an A vs. D choice anyway.

Yeah, I'd go with A.

And for the 'noevict' case, that logic could also live in the MDS instead 
of the mon.

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