====== EOS Open Storage ====== This is a quick tutorial for EOS. \\ ==== EOS ==== EOS is a software solution that aims to provide fast and reliable multi-PB disk-only storage technology for both LHC and non-LHC use-cases at CERN. The core of the implementation is the XRootD framework which provides feature-rich remote access protocol. The storage system is running on commodity hardware with disks in JBOD configuration. It is written mostly in C/C++, with some of the extra modules in Python. Files can be accessed via native XRootD protocol, a POSIX-like FUSE client or HTTP(S) & WebDav protocol. ==== EOS Command ==== * Setup your environment: You need to define your default EOS instance (management server),\\ e.g. * ''export EOS_MGM_URL=root://eos.cern.ch'' * ''export EOS_MGM_URL=root://eosuser.cern.ch'' * EOS Kerberos Ticket \\ To access the storage, you need a CERN Kerberos ticket. Create such a ticket with the following command:\\ ''kinit @CERN.CH'' * EOS commands are often very similar to Unix (for example ls --> eos ls).\\ e.g. * ''eos mkdir /eos/lhcb/user/b/bla/blabla'' * ''eos ls /eos/lhcb/user/b/bla/blabla'' * EOS commands including management server: \\ You don't need to define a default EOS instance, you can add it to the eos command:\\ ''eos root://eoslhcb.cern.ch ls -l /eos/lhcb/user/b/bla/blabla'' * EOS command list: \\ A list of all EOS commands is given with ''eos help''. ==== EOS Fuse Mount ==== On our cluster all of the EOS instances are also mounted with fuse, so they look like normal file systems to you and you can use standard linux commands. There is no need to use the ''eos'' commands anymore. The mounted file systems are: * eoscms --> ''/eos/cms/'' * eoslhcb --> ''/eos/lhcb/'' * eosuser --> ''/eos/user/'' * ... To access these file systems, you need to have a CERN Kerberos ticket as for the EOS commands, but in addition you need to pass the ticket to the fuse system with the command ''eosfusebind'', similar to the ''aklog'' command for AFS. You need therefore to execute the following commands:\\ ''kinit @CERN.CH ; eosfusebind'' ==== XRootD Copy Command ==== EOS commands and Linux commands in the EOS file system are not very resource efficient. If you need to transfer large amount of data, use the ''xrdcp'' command: * ''xrdcp root://eoslhcb.cern.ch//eos/lhcb/user/b/bla/eos_tutorial/eos.txt eos.txt'' * ''xrdcp eos.txt root://eoslhcb.cern.ch//eos/lhcb/user/b/bla/eos_tutorial/eos.txt eos.txt''