Re: blacklisting etc

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

 



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.

John
--
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