Hi Brian,
There is a peering mechanism but you will have to use subordinates in the
context of meta-managers to make it work. The reason is that the
meta-manager is the top-most manager and it can't subscribe anyone else.
This may change, but for now, this is the way it is. So, follow the
following procedure:
1) Assume you have a meta-managers (MM) A and B (one for region A and one
for B).
2) On A run an xrootd/cmsd pair we will call A'.
3) In A' config file, insert (at least) the following directives:
all.role peer
all.manager peer B
xrootd.redirect A all
xrootd.redirect A /
Then A' will subscribe to B as a peer. When the file cannot be found using
B, the client will be redirected to A' which will redirect the client to A,
the alternate meta-manager. Please note there is a difference in roles
between peer and 'peer manager' where the former is a stand-alone server
while the latter is a member of a cluster. The role table describes this:
http://xrootd.org/doc/dev/cms_config.htm#_Toc295744040
The setup is complimentary. So, you could have configured this in the
opposite direction (B' is a peer of B which redirects to A). It depends on
who needs to be in control of the peering arrangement.
Mind you, the peering was used long time ago to integrate Castor at CERN.
We have not had much experience with peering beyond that and peering is no
longer used for Castor. However, it should work and we'll be happy to
address any problems. Once we get a better feel for this, it's likely we
will incorporate peering directly into the meta-manager to make life
simpler.
Andy
-----Original Message-----
From: Brian Bockelman
Sent: Thursday, August 18, 2011 8:16 AM
To: xrootd-dev
Subject: Peering redirectors
Hi folks,
Currently, CMS has two regional redirectors - US and EU. Both are starting
to attain a critical mass of sites, and we'd like them to peer together.
By "peering", I mean that clients can get a cross-region redirect, *but*
this only happens if a file is unavailable in the region (unavailable
implies that either all known servers respond in the negative, or a timeout
occurs).
I know there is some peering mechanisms pre-existing, but I can't make
enough sense of the documentation to tell if this is what I want. If it is
a match, what should I add to the configuration file?
Thanks,
Brian
|