You are here: TWiki> Online Web>CastorFS (2010-05-19, mazurov)
Tags:
create new tag
, view all tags

CastorFS

CastorFS — CASTOR filesystem based on FUSE.

Current status

  • CastorFS is under BETA testing
  • Access is currently readonly.
  • Read-speed is two times slower than using rfcp (we are working on improving this)

Please report all bugs and problems directly to alexander.mazurov@cern.ch

How to use it / how to access files on CASTOR

In the LHCb Online network you can access files on CASTOR on the plus nodes. CASTOR files are visible in the /castorfs directory. CastorFS mounts CASTOR remotely to this /castorfs local directory. It allows to work with files on CASTOR like with any normal file (i.e. it presents CASTOR as a POSIX filesystem).

How to copy a file

Example: %CODE{"sh"}% $> ssh lbgw.cern.ch $> ssh plus $> cp /castorfs/cern.ch/grid/lhcb/data/2009/RAW/FULL/FEST/FEST/43041/043041_0000000002.raw /tmp %ENDCODE% Note that we do not like to store large amount of raw data in your group or home directories smile

How to use it from a Gaudi job-options file

...
ApplicationMgr.TopAlg                =
{"StoreExplorerAlg","LHCb::RawEventTestDump/Dump"};
ApplicationMgr.EvtMax                = 100000;
ApplicationMgr.HistogramPersistency  = "NONE";
Dump.CheckData                       = 1;
Dump.CheckData                       = 0;
Dump.DumpData                        = 1;
Dump.FullDump                        = 1;
Dump.OutputLevel                     = 1;
StoreExplorerAlg.Load                = 1;
StoreExplorerAlg.PrintFreq           = 100;
EventDataSvc.RootCLID                = 1;
EventDataSvc.EnableFaultHandler      = true;
EventPersistencySvc.CnvServices      = {"LHCb::RawDataCnvSvc"};
EventSelector.PrintFreq              = 100;
EventSelector.Input                  = {"DATA='PFN:file:///castorfs/cern.ch/grid/lhcb/data/2009/RAW/FULL/FEST/FEST/44558/044558_0000000001.raw' SVC='LHCb::MDFSelector'"};
StoreExplorerAlg.OutputLevel         = 1;
...

Extended attributes

One nice feature, which the ns family of tools does not allow you to do is to look at the extended attributes of files on CASTOR. You can see the following attributes for CASTOR files:

  • user.checksum — checksum for files;
  • user.checksum_name — name of checksum algorithm;
  • user.nbseg — number of segments for file;
  • user.status — file status.

Example: %CODE{"sh"}% $> getfattr -d /castorfs/cern.ch/grid/lhcb/data/2009/RAW/FULL/FEST/FEST/43041/043041_0000000002.raw %ENDCODE% Result:

# file: castorfs/cern.ch/grid/lhcb/data/2009/RAW/FULL/FEST/FEST/43041/043041_0000000002.raw
user.checksum="3764166092"
user.checksum_name="adler32"
user.nbseg="1"
user.status="migrated"

Todo

  • Allow users to write to their CASTOR directory;
  • Increase speed for reading and writing;

Installation

For Developers

Packages

CastorFS was implemented using the following packages:

  • FUSE (filesystem at user space)
  • CASTOR rfio client
  • CASTOR ns client

Source

Source at attachment file (soon it will be link to SVN repository). For building required cmake program.

How to build

At project directory: %CODE{"sh"}% $> cmake CMakeLists.txt $> make $> make castorfs_rpm (to build rpm $> make castorfs_srpm (to build srpm) %ENDCODE%

Additional Information

-- AlexanderMazurov - 25 Feb 2009

Edit | Attach | PDF version | Print version |  | Raw View | Raw edit | Backlinks | History: r6 < r5 < r4 < r3 < r2 | More topic actions
Topic revision: r6 - 2010-05-19 - mazurov
 

TWIKI.NET
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2022 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback