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.
- BES: Wen Shuopin wensp@ihep.ac.cn, 88236067
- DYB: He Miao hem@ihep.ac.cn, 88233823
- JUNO: Deng Ziyan dengzy@ihep.ac.cn, 88236067
- LHAASO: Wu Chaoyong wucy@ihep.ac.cn, 88236106
- HEPS: Zhao Haifeng zhaohf@ihep.ac.cn, 88236437
2) Client Installation¶
To access tape-library data from a local machine, install the required client RPM packages:
3) Environment Configuration¶
Add the following environment variables to .bashrc:
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¶
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 replicasd1::t0: has disk replica but no tape replicad0::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¶
eos ls -lyto check if disk replica exists.xrdfs prepareto recall file from tape。- 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::t1or"online": falsemeans recall is still in progress;d1::t1or"online": truemeans the recall has finished. - Copy file to external storage
5) Rename Files or Directories¶
Use the corresponding EOS command to rename files or directories according to the storage area being used.
6) Create Directories¶
Create new directories only under paths where you have write permission.
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.
8) Modify Permissions¶
Use the storage namespace permission command to adjust file permissions when required.
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.
有问题?输入后跳转到对话页继续交流