Print

Print


Hello again Wilko,

thank you for your answers (some of them were very usefull for me) . After your advice I tried to set MPS beacause we need to use more than 1 cache file system.
I have some problem with directive mps.basedir, let me explain to you what I want:

I am requesting this file from HPSS:

/home/starreco/reco/productionHigh/FullField/P04ik/2004/040/file1.root

and want to stage from HPSS to cache system. (/data0 or /data1 or /data2 ...)

Firstly MPS is trying to create directories for symlink:

/home/starreco/reco ...  ()

but this a problem, because I am running xrrotd as user starlib and I don't have permission to this directory.
So I decided to add directive

mps.basedir  /home/starlib

thank every file will be staged (its symlink to cache file system) like:

/home/starlib/home/starreco/reco ....

But as I mentioned above, the directive basedir is not working and still want to stage file as /home/starreco.
Can you look at my configuration file, if something is wrong ?

Many thanks
Pavel

On Fri, 15 Jul 2005 13:05:43 -0700 (PDT)
Wilko Kroeger <[log in to unmask]> wrote:

> 
> Hello Pavel
> 
> On Fri, 15 Jul 2005, Pavel Jakl wrote:
> 
> > Hello again,
> >
> > 	In the MPS manual and mps_* scripts, there are things like
> >
> > $Config{xfrcmd}    = ($isMPS ? '/opt/xrootd/utils/xfrcmd'
> >                              : '/usr/etc/ooss/pftp_client');
> >
> >   and similar switch for port, nodes, account name ... while both
> > seem to accept ftp-like commands. Could you please explain what
> > was the philosophy of having separate commands for oss/mps (but
> > using the same scripts) and why different port/nodes ?? This is
> > not entirely clear to us ...
> 
> The ooss scripts are used at SLAC to manage the cache files systems.
> The mps scripts evolved out of the ooss scripts and they are kept
> backwards compatible, meaning that they would work with the ooss scripts
> installed in /usr/etc/ooss. The $isMPS basically decides if the MPS
> scripts that come with xrootd are used or the ooss scripts (installed in
> /usr/etc/ooss). This allows site that have ooss installed (like SLAC) to
> use the mps scripts.
> 
> >
> > 	Since stagecmd for oss is pftp and mps stagecmd is
> > xfrcmd, it makes us puzzled as per what xfrcmd does in addition
> > of pftp. This does not appear to be explained in the documentation.
> 
> The  '/opt/xrootd/utils/xfrcmd' should do the same thing that
> '/usr/etc/ooss/pftp_client' does for HPSS.
> Different sites use different MSS systems and even if they use the same
> system the access methods could be different. Therefore the mps scripts were
> written so that an xrootd site can provide their own implementation for
> mss access without modifying the mps scripts. If you are using pftp to access
> HPSS you could just call it from within /opt/xrootd/utils/xfrcmd.
> 
> I hope this clarified your issues a littele bit.
> 
> Cheers,
>   Wilko
> 
> >
> >
> > Jerome & Pavel
> >
> >
> > On Thu, 14 Jul 2005 20:50:39 -0400
> > Jerome LAURET <[log in to unmask]> wrote:
> >
> > >
> > > 	Hello Wilko (possibly Andy),
> > >
> > > 	Thanks already for your many answers which clarifies
> > > things quite a lot but we are not entirely sure of some details.
> > > What we are trying to do is the following (re-explained from
> > > the start, it may not be possible but ..)
> > >
> > > - first, we already have files located as (no typo, note
> > >    the path "massage" here)
> > >
> > >    /data?/starlib/reco/productionHigh/FullField/P04ik/2004/f1.root
> > >
> > >    where ? stands for any number between 0 and 3. Each file
> > >    correspond to its initial source (and continuing with our
> > >    example)
> > >
> > >    /home/starreco/reco/productionHigh/FullField/P04ik/2004/f1.root
> > >
> > >    so, intrinsically, /data*/starlib/reco/... is equivalent to
> > >    /home/starreco/reco/... (different PFN, same LFN and in our
> > >    scheme, the path is slightly modified to fall back on our
> > >    feet PFN -> LFN)
> > >
> > >
> > > - Our application takes advantage of already catalogued
> > >    PFN. We would like to do a smooth transition as there is
> > >    about 50+ TB of data already placed ... We nicely access
> > >    the files using rootd referencing the files as
> > > root://node//data1/starlib/reco/productionHigh/FullField/P04ik/2004/f1.root
> > >    as the files are a-piori known
> > >
> > >
> > > - Xrootd saves us a lot of course, for example, being able
> > >    to reduce the name space to ONLY
> > > root://redirector//home/starreco/reco/productionHigh/FullField/P04ik/2004/f1.root
> > >
> > >    as if we are accessing HPSS files while Xrootd handles it
> > >    would be reat. BUT we also would like to be able to access
> > >    the files the usual-current way i.e. within a syntax
> > >    indicating //node/data1.
> > >
> > > - For this to happen, Xrootd would need to understand BOTH
> > >    /home/starreco/reco using /data* as cache (for example i.e. MPS)
> > >    AND also be able to access /data*/starlib/reco in direct
> > >    access mode
> > >
> > >    If so, several questions comes to mind
> > >
> > >    /home/starreco would be populated with soft-links to files named
> > >    /data?/%home%starreco%... which shares the space with the files
> > >    already there.
> > >
> > >    * Will Xrootd be happy with that ??? [a priori, why not]
> > >      Seems like a possible space management nightmare to me
> > >      (shared space)
> > >
> > >    * What happen if in the /home/starreco/reco tree (local not
> > >      HPSS) a soft-link is accidentely removed ?? Is it re-created ??
> > >
> > >    * I assume the %XX%YY% files are managed i.e. deleted along
> > >      the line of a policy. But folowing the above question, what
> > >      happens if a file has disappeared but tyhe soft-link remains ??
> > >      Is Xrootd smart enough to find it and re-stage ??
> > >
> > >    * Are a lot of flat files in an identical /data?/ (i.e. files
> > >      of the form %XX%YY% into a single dir) is read efficient ??
> > >      Imagine that we get several 10k files in a single directory,
> > >      will that cause a performance impact of some sort (directory
> > >      lookup or otherwise) ??
> > >
> > >    * By the way, does "readonly" have the meaning of 'cannot open
> > >      a new file' or really readonly (which terminology seems to
> > >      be incompatible with writting files into /data*). I assume
> > >      the former.
> > >
> > >
> > >    * Now for a controversial question. stagecmd command accepts
> > >      in one of its form two arguments:
> > >         HPSSPathAsInput  localPath
> > >      If localPath was only a "suggested path" and stagecmd would
> > >      RETURN to Xrootd (as sstring) its final file placement,
> > >      we could implement our own space management mechanism and
> > >      policy. I can understand this not an item for the wish list
> > >      but this WOULD have resolved our funny disk mapping and
> > >      namespace issue [what it would not do is name space reduction
> > >      at the end to a single namespace but that is another story].
> > >      Comments ??
> > >
> > > - And Pavel would like to know if someone has an example of the
> > >    /opt/xrootd/utils/xfrcmd script (to be sent to list or privately).
> > >
> > >
> > > 	Thanks & cheers,
> > >
> > >
> > > Wilko Kroeger wrote:
> > > > Hello Pavel
> > > >
> > > > Let me try to answer your questions.
> > > >
> > > > 1) The stage command 'stagecmd':
> > > >
> > > > If a file is not on disk xrootd tries to stage the file onto disk. It
> > > > calls the stagecmd with two arguments:
> > > >    stagecmd <remoteFileName> <localFileName>
> > > > where remoteFileName is the name in HPSS and localFileName is the one on
> > > > disk. Xrootd forms these names from the file name provide by the client
> > > > and the two prefixes oss.remoteroot and oss.localroot
> > > > For example:
> > > > the xrootd config file contains
> > > > oss.remoteroot /fr
> > > > oss.localroot  /fl
> > > > a client requests a file like:
> > > >     xrdcp root://dataserver//my/test.file  test.file
> > > > in this case the stage command is called:
> > > >   stagecmd  /fr/my/test.file  /fl/my/test.file
> > > >
> > > > If oss.remoteroot and oss.localroot are not specified the arguments to the
> > > > stagecmd is just the file name specified by the client.
> > > >
> > > > As you can see the files will always be staged into the same disk if you
> > > > use the oss.localroot. If you have more then one disk on an xrootd server
> > > > you want to use the cache system and a stagecmd that is aware of the cache
> > > > system.
> > > >
> > > > The xrootd actually comes with a cache aware stage command. You can find
> > > > it in the utils directory of an xrootd release it is called mps_Stage.
> > > > I haven't used it myself but I will find out how to use it.
> > > > The utils dir contains a few mps_XXX utils that are used to manage a cache
> > > > system. On the xrootd web site there is a document that describes the mps
> > > > system: http://xrootd.slac.stanford.edu/doc/mps_config/mps_config.htm
> > > >
> > > >
> > > > 2) The cache file system:
> > > >
> > > > A file that is staged into a cache file system is physically put in any of
> > > > the specified caches and a link between this files and the proper file
> > > > name is created. For example:
> > > >
> > > > Lets assume you have the following file:
> > > >  /home/starreco/reco/productionHigh/FullField/P04ik/2004/f1.root
> > > > and it is in the cache /data3:
> > > >
> > > >
> > > >>ls -l /home/starreco/reco/productionHigh/FullField/P04ik/2004/f1.root
> > > >
> > > > would show:
> > > > /home/starreco/reco/productionHigh/FullField/P04ik/2004/f1.root ->
> > > >  /data3/%home%starreco%reco%productionHigh%FullField%P04ik%2004%f1.root
> > > >
> > > > As I mentioned above, if you want to use a cache system the stagecmd
> > > > has to be aware of it.
> > > >
> > > > 3) Your setup:
> > > >
> > > > In the configuration that you described below you export all the cache
> > > > system (/dataN) due to the olbd.path and thats maybe something you don't
> > > > want to do. This also means the client has to access files with the
> > > > name /data3/home/...  making your system setup visible to the client.
> > > >
> > > > Instead, it seems to me you that would like to make files with the name
> > > > '/home/....' accessible to users but on the xrootd server these files are
> > > > stored in /dataN/... .
> > > >
> > > > You could configure your system  with:
> > > >
> > > > oss.path /home  dread nomig stage
> > > >
> > > > oss.cache /data*
> > > >
> > > > xrootd.export /home
> > > >
> > > > You also have to specify the stagecmd and the mssgwd command. The stage
> > > > command you obviously need in order to get a file out of HPSS, and the
> > > > mssgwd command is needed because xrootd first checks if a file is present
> > > > in HPSS. If you don't want xrootd to do this you could provide a
> > > > implementation that returns dummy data.
> > > > I could provide you with a little dummy script that implements some of the
> > > > mssgwd commands.
> > > >
> > > >
> > > > I don't now why all your path are migratable (mig). I suspect that one of
> > > > the options forces to turn on mig but I don't know which one. I have to
> > > > look into this.
> > > >
> > > >
> > > > The
> > > > oss.path / .....
> > > > is always there by default.
> > > >
> > > > I hope I clarified some of your questions. Let me know if not.
> > > >
> > > > Cheers,
> > > >    Wilko
> > > >
> > > >
> > > >
> > > > On Wed, 13 Jul 2005, Pavel Jakl wrote:
> > > >
> > > >
> > > >>Hi Wilko,
> > > >>
> > > >>many thanks for advice. With directive oss.check client is redirected to
> > > >>other node and staging of requested file is started.
> > > >>I have some other questions, if you can help me, it will be super.
> > > >>
> > > >>I want to stage a file from HPSS for example with path like:
> > > >>/home/starreco/reco/productionHigh/FullField/P04ik/2004/040/st_physics_
> > > >>5040131_raw_2010003.MuDst.root
> > > >>
> > > >>and copy to path /data0 or /data1 or /data2 or /data3 which I've
> > > >>specified with directives:
> > > >>
> > > >>oss.path /data0 dread nomig stage
> > > >>oss.path /data1 dread nomig stage
> > > >>oss.path /data2 dread nomig stage
> > > >>oss.path /data3 dread nomig stage
> > > >>
> > > >>My question is if my thoughts are right and file with HPPS path:
> > > >>
> > > >>/home/starreco/reco/productionHigh/FullField/P04ik/2004/040/st_physics_
> > > >>5040131_raw_2010003.MuDst.root
> > > >>
> > > >>will be staged to local path:
> > > >>
> > > >>/data0/home/starreco/reco/productionHigh/FullField/P04ik/2004/040/st_ph
> > > >>ysics_5040131_raw_2010003.MuDst.root
> > > >>i.e that /data0 is path to ve pre-pended to local path. Or is there some
> > > >>other directive, which can help me to do that ?
> > > >>
> > > >>My second question is if I need to have specified oss.mssgwcmd command
> > > >>when I don't plan to migrate any files from local disk to HPSS ?
> > > >>
> > > >>The third question is about oss.cache directive. Can I have the location
> > > >>of cache in the same directory as I have the files to export ?
> > > >>For example, I have all files in directories:
> > > >>/data0, /data1, /data2 or /data3 (i export with directive xrootd.export)
> > > >>and can I have a oss.cache /data*.
> > > >>
> > > >>My fourth problem is with oss.path again, I've specified this:
> > > >>oss.path /data0 dread nomig stage
> > > >>oss.path /data1 dread nomig stage
> > > >>oss.path /data2 dread nomig stage
> > > >>oss.path /data3 dread nomig stage
> > > >>
> > > >>but in log file is this:
> > > >>oss.path /data3 r/o  check dread mig nomkeep nomlock nommap norcreate
> > > >>stage
> > > >>oss.path /data2 r/o  check dread mig nomkeep nomlock nommap norcreate
> > > >>stage
> > > >>oss.path /data1 r/o  check dread mig nomkeep nomlock nommap norcreate
> > > >>stage
> > > >>oss.path /data0 r/o  check dread mig nomkeep nomlock nommap norcreate
> > > >>stage
> > > >>
> > > >>as you can see with mig directive and in addation is here a line:
> > > >>
> > > >>oss.path / r/o  check dread mig nomkeep nomlock nommap norcreate stage
> > > >>
> > > >>Is this correct ? Becaouse I dont want to stage any files to path /. (Or
> > > >>is needed due to that / is parent directory ?)
> > > >>
> > > >>Thank you
> > > >>Pavel
> > > >>
> > > >>On Tue, 12 Jul 2005 20:46:20 -0700 (PDT)
> > > >>Wilko Kroeger <[log in to unmask]> wrote:
> > > >>
> > > >>
> > > >>>Hello Pavel
> > > >>>
> > > >>>I suspect that this is a problem with the mss configuration. In the
> > > >>>dev. version the mss command is ignored if the path is only stage-able
> > > >>>and  nodread, nocheck, nomig are specified.
> > > >>>Do you see in the xrdlog file the line
> > > >>>  mssgwcmd ignored; no MSS paths present.
> > > >>>from the xrootd startup ?
> > > >>>
> > > >>>If this is the case you could add
> > > >>>oss.check
> > > >>>to your config which should cause xrootd to use the mssgwcmd command.
> > > >>>(oss.dread ot oss.rcreate should also do the trick). But if you
> > > >>>specify any of these options xrootd will behave a little bit different
> > > >>>from how it is configured now.
> > > >>>
> > > >>>The problem has been fixed in CVS and will be in the next release.
> > > >>>
> > > >>>
> > > >>>Cheers,
> > > >>>   Wilko
> > > >>>
> > > >>>
> > > >>>
> > > >>>
> > > >>>
> > > >>>On Tue, 12 Jul 2005, Pavel Jakl wrote:
> > > >>>
> > > >>>
> > > >>>>Hi for some time,
> > > >>>>
> > > >>>>Firstly, we've installed the latest development version of xrootd on
> > > >>>>100 nodes (1 redirector + 1 supervisor + 98 dataservers) with the
> > > >>>>support of open load balancing and everything is working great and
> > > >>>>super. I would like to say, brilliant work.
> > > >>>>
> > > >>>>To my problem, I want to enable the MSS interface. We've implemented
> > > >>>>scripts for performing meta-data operations and staging files from
> > > >>>>HPSS. (directives oss.mssgwcmd, oss.stagecmd). I 've inserted
> > > >>>>everything in config file for dataserver and tried to obtain a file
> > > >>>>from HPSS. In redirector log I found this error message:
> > > >>>>
> > > >>>> 050712 19:35:48 18366 odc_Locate: starlib.10447:13@rcas6230 given
> > > >>>> error msg 'No servers are available to read the file.' by xrdstar
> > > >>>> path=/home/starreco/reco/productionHigh/FullField/P04ik/2004/040/s
> > > >>>> t_physics_5040131_raw_2010003.MuDst.root
> > > >>>>
> > > >>>>and found out that scripts was not even called once time. (this I
> > > >>>>know from debug support of my script). My question is, if I have
> > > >>>>something wrong in my configuration file or I forgot something to
> > > >>>>add or I skiped something in reading of documentation.
> > > >>>>
> > > >>>>I am enclosing a configuration file for dataserver.
> > > >>>>
> > > >>>>Thank you for any advice
> > > >>>>Pavel
> > > >>>>
> > > >>>>
> > > >>>>
> > > >>
> > >
> > > --
> > >               ,,,,,
> > >              ( o o )
> > >           --m---U---m--
> > >               Jerome
> >