Print

Print


	It does (more or less), thank you.

	But if you could also answer the previous Email/post,
it would be great.

	Thanks,

Wilko Kroeger 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
>>

-- 
              ,,,,,
             ( o o )
          --m---U---m--
              Jerome