Skip to content

8.6 Tape Storage Service

8.6.1 Overview

IHEP Computing Center uses LTO tape as the primary long-term storage medium and EOSCTA as the tape storage software. EOSCTA consists of a front-end EOS file system and a back-end CTA tape-library management system, providing hierarchical storage. EOSCTA clients are installed on compute nodes and login nodes. Tape storage is currently provided for experiments such as BES, DYB, JUNO, LHAASO, and HEPS.

8.6.2 Access Permission

1) Apply for Permission

Users who already have computing platform accounts should first apply through the responsible person of their experiment. The experiment contact will ask the Computing Center to enable tape access. Users will be notified by email when access is granted.

2) Client Installation

To access tape-library data from a local machine, install the required client RPM packages:

yum install eos-client xrootd-client

3) Environment Configuration

Add the following environment variables to .bashrc:

export XrdSecPROTOCL=unix
export EOS_MGM_URL=root://xxx.ihep.ac.cn

Replace xxx.ihep.ac.cn with the EOSCTA MGM domain name for the corresponding experiment.

8.6.3 Common Commands

EOSCTA commands are similar to EOS commands.

1) List an EOSCTA Directory

$ eos root://xxx.ihep.ac.cn ls
$ xrdfs root://xxx.ihep.ac.cn ls

Examples:

$ eos ls /eos/group/user
$ eos root://bescta01.ihep.ac.cn ls -l /eos/bes3/run
$ eos root://bescta01.ihep.ac.cn ls -l /eos/bes3/offline
$ eos root://junocta01.ihep.ac.cn ls -l /eos/juno
$ eos root://laso01.ihep.ac.cn ls -l /eos/laso
$ eos root://laso01.ihep.ac.cn ls -l /eos/hxmt
$ eos root://xxx.ihep.ac.cn ls -l /eos/heps
$ eos root://bescta01.ihep.ac.cn ls -l /eos/dyb
$ eos root://laso01.ihep.ac.cn ls -l /eos/ybj

If you do not have a writable tape-library directory, contact the Computing Center.

2) Check EOSCTA File Status

After a file is written to EOSCTA, use eos ls -ly to check its status:

$ eos ls -ly /eos/juno/juno-raw/global_trigger/00016000/00016600/16692/RUN.16692.JUNODAQ.Physics.ds-daqs5-0.global_trigger.20260717230430.051.dat
d1::t1   -rw-r--r--   2 junospad juno       5028937795 Jul 17 23:08 RUN.16692.JUNODAQ.Physics.ds-daqs5-0.global_trigger.20260717230430.051.dat
$ eos ls -ly /eos/juno/juno-raw/global_trigger/00016000/00016600/16658/RUN.16658.JUNODAQ.Physics.ds-daqs5-0.global_trigger.20260715172928.001.dat
d0::t1   -rw-r--r--   1 junospad juno       5094192704 Jul 16 01:56 RUN.16658.JUNODAQ.Physics.ds-daqs5-0.global_trigger.20260715172928.001.dat
$ eos ls -ly /eos/juno/juno-raw/global_trigger/00016000/00016600/16692/RUN.16692.JUNODAQ.Physics.ds-daqs5-0.global_trigger.20260717232121.064.dat
d1::t0   -rw-r--r--   1 junospad juno       5121071095 Jul 17 23:25 RUN.16692.JUNODAQ.Physics.ds-daqs5-0.global_trigger.20260717232121.064.dat

Where:

  • d1::t1 : has disk and tape replicas
  • d1::t0 : has disk replica but no tape replica
  • d0::t1 : has tape replica and disk replica cleared

If a file has disk replica, you can copy it as a normal EOS file, otherwise you need to recall it from tape following File Recall part.

3) File Archivial

Using eos cp or xrdcp to archive files into EOSCTA.

### XrdCP
$ xrdcp /local/file root://eoscta//eos/file
$ xrdcp root://remote//file root://eoscta//eos/file
### EOS CP
$ eos cp /local/file /eos/file
$ eos cp root://remote/file /eos/file

4) File Recall

  1. eos ls -ly to check if disk replica exists.
    $ eos ls -ly /eos/juno/juno-raw/global_trigger/00016000/00016600/16658/RUN.16658.JUNODAQ.Physics.ds-daqs5-0.global_trigger.20260715172928.001.dat
    d0::t1   -rw-r--r--   1 junospad juno       5094192704 Jul 16 01:56 RUN.16658.JUNODAQ.Physics.ds-daqs5-0.global_trigger.20260715172928.001.dat
    
  2. xrdfs prepare to recall file from tape。
    $ xrdfs root://junocta01.ihep.ac.cn prepare -s RUN.16692.JUNODAQ.Physics.ds-daqs5-0.global_trigger.20260717232121.064.dat
    04462401de00000203320000000000000150:6e957524.6a0a672f:2:1784302337
    
  3. Check recall status
    $ eos ls -ly /eos/juno/juno-raw/global_trigger/00016000/00016600/16658/RUN.16658.JUNODAQ.Physics.ds-daqs5-0.global_trigger.20260715172928.001.dat
    d0::t1   -rw-r--r--   1 junospad juno       5094192704 Jul 16 01:56 RUN.16658.JUNODAQ.Physics.ds-daqs5-0.global_trigger.20260715172928.001.dat
    
    ### Or
    $ xrdfs root://junocta01.ihep.ac.cn query prepare 04462401de00000203320000000000000150:6e957524.6a0a672f:2:1784302337 /eos/juno/juno-raw/global_trigger/00016000/00016600/16658/RUN.16658.JUNODAQ.Physics.ds-daqs5-0.global_trigger.20260715172928.001.dat
    {
            "request_id" : "04462401de00000203320000000000000150:6e957524.6a0a672f:2:1784302337",
            "responses" :
            [
                    {
                            "error_text" : "",
                            "has_reqid" : true,
                            "on_tape" : true,
                            "online" : false,
                            "path" : "/eos/juno/juno-raw/global_trigger/00016000/00016600/16658/RUN.16658.JUNODAQ.Physics.ds-daqs5-0.global_trigger.20260715172928.001.dat",
                            "path_exists" : true,
                            "req_time" : "1784302338",
                            "requested" : true
                    }
            ]
    }
    
    d0::t1 or "online": false means recall is still in progress; d1::t1 or "online": true means the recall has finished.
  4. Copy file to external storage
    $ eos cp /eos/file/ /external/storage/file
    ### Or
    $ xrdcp root://eoscta//eos/file /external/storage/file
    

5) Rename Files or Directories

Use the corresponding EOS command to rename files or directories according to the storage area being used.

$ eos mv old_path new_path
$ eos file rename old_path new_path

6) Create Directories

Create new directories only under paths where you have write permission.

$ eos mkdir /eos/dir

7) Delete Files or Directories

Delete files and directories carefully. Tape storage is intended for long-term storage and should not be used as a temporary working directory.

$ eos rm /eos/path/to/delete

8) Modify Permissions

Use the storage namespace permission command to adjust file permissions when required.

$ eos chmod acl_right /eos/path

8.6.4 Notes

1) Store Only Large Files

Tape storage is suitable for large files, generally larger than 100 MB. Do not store many small files directly on tape. Pack small files into archive files before writing them to tape.

2) EOSCTA Is Not a File Backup System

EOSCTA is designed for hierarchical long-term storage, not as a general-purpose backup system. Users should still keep important results backed up according to experiment policy.

8.6.5 Migrated CASTOR Directories

Some historical CASTOR directories have been migrated to EOSCTA. Users should use the current experiment-specific EOSCTA paths and contact the Computing Center if a legacy directory is missing.

CASTOR EOSCTA
/castor/ihep.ac.cn/bes/bes2 /eos/bes3/castor/bes2
/castor/ihep.ac.cn/bes/epcback /eos/bes3/castor/epcback
/castor/ihep.ac.cn/bes/offline /eos/bes3/offline
/castor/ihep.ac.cn/bes/run /eos/bes3/run
/castor/ihep.ac.cn/dyb/dybfs /eos/dyb/dybfs

FAQ

See FAQ.

🤖 AI 助手
💬 快速提问 ×

有问题?输入后跳转到对话页继续交流